Admin GuidesWhite-Label & Branding

White-Label Branding

Who this guide is for: Tenant administrators who want to customize the embaylms platform with their organization’s brand identity.


Overview

embaylms supports full white-label branding. You can replace the default embaylms colors, logo, and favicon with your organization’s brand assets. The branding is applied globally across the entire platform — every page your learners and instructors see.

What you can customize:

ElementDescription
Primary colorMain brand color (buttons, links, focus rings, navigation)
Accent colorSecondary brand color (highlights, badges)
LogoDisplayed in the platform header
FaviconBrowser tab icon
Custom CSSAdvanced: inject custom CSS for fine-grained control
Custom domainServe the platform from your own domain (e.g., learn.acme.com)

Prerequisites

  • embaylms admin role on your tenant
  • Logo file in PNG or SVG format (recommended: SVG, max 1 MB)
  • Favicon in .ico or PNG format (recommended: 32×32 px PNG)
  • Your brand color hex codes (e.g., #1A73E8)

Step 1 — Set brand colors

  1. Navigate to Admin Panel → Settings → Branding.
  2. Under Colors, enter your brand’s hex color codes:
    • Primary color — Used for buttons, active navigation items, links, and focus indicators.
    • Accent color — Used for highlights, status badges, and secondary actions.
  3. A live preview is shown on the right.
  4. Click Save.

Accessibility note: Both colors must meet WCAG 2.1 AA contrast ratios when used against a white background (4.5:1 for normal text, 3:1 for large text). The branding panel will warn you if a color fails the contrast check.


  1. Navigate to Admin Panel → Settings → Branding → Logo.
  2. Click Upload logo and select your file.
    • Accepted formats: SVG, PNG, JPG
    • Recommended dimensions: 200×50 px or wider (horizontal layout)
    • Maximum file size: 1 MB
  3. The logo is displayed in the platform header and email footers.
  4. Click Save.

To remove the logo and revert to the default embaylms logo, click Remove logo.


Step 3 — Upload favicon

  1. Navigate to Admin Panel → Settings → Branding → Favicon.
  2. Click Upload favicon and select your file.
    • Accepted formats: .ico, PNG
    • Recommended: 32×32 px PNG (browsers handle ICO fallback automatically)
    • Maximum file size: 256 KB
  3. Click Save.

The favicon appears in browser tabs and bookmarks.


Step 4 — Set up a custom domain (optional)

A custom domain lets your learners access the platform at your own URL (e.g., learn.acme.com) instead of acme.embaylms.com.

4.1 Verify your domain

  1. Navigate to Admin Panel → Settings → Branding → Custom Domain.
  2. Enter your domain (e.g., learn.acme.com) and click Verify domain.
  3. embaylms will display a DNS TXT record to add to your domain’s DNS settings:
    _embaylms-verify.learn.acme.com   TXT   "embaylms-verify=xxxxxxxx"
  4. Add this TXT record in your DNS provider (Cloudflare, Route 53, etc.).
  5. DNS propagation can take up to 24 hours. Click Check verification to confirm.

4.2 Configure HTTPS (SSL)

embaylms provisions a TLS certificate via AWS Certificate Manager once your domain is verified. This happens automatically — no action required on your end.

4.3 Add a CNAME record

After verification, add a CNAME record pointing your domain to the embaylms edge:

learn.acme.com   CNAME   {your-tenant}.embaylms.com

Note: Custom domains require a verified TenantDomain record with is_custom = true. Contact embaylms support if the domain does not activate within 24 hours of DNS propagation.


Step 5 — Custom CSS (advanced)

For precise control beyond colors and logo, you can inject custom CSS that applies to every page of the platform.

  1. Navigate to Admin Panel → Settings → Branding → Custom CSS.
  2. Enter valid CSS in the text area.
  3. The CSS is injected at the bottom of the <head> tag, after all framework styles.
  4. Click Save.

Example — adjust the header height:

.site-header {
  min-height: 72px;
}

Security: Custom CSS is sanitized on save to prevent XSS. Script tags and @import rules are stripped. If your CSS is removed after saving, it likely contained a restricted directive.

CSS variables available for override:

VariableDefaultDescription
--brand-primary#0F2A5APrimary brand color
--brand-accent#3AB3A6Accent brand color

Configuration Reference

SettingDescriptionDefault
Primary colorMain brand color (hex)#0F2A5A (embaylms blue)
Accent colorSecondary brand color (hex)#3AB3A6 (embaylms orange)
Logo URLHosted URL of your logoNone (embaylms default)
Favicon URLHosted URL of your faviconNone (embaylms default)
Custom domainYour own domain for the platformNone
Custom CSSRaw CSS injected in <head>None

Troubleshooting

Colors are not appearing after save Clear your browser cache or open a private window. CSS variables are injected server-side and cache invalidation may take a few minutes after a change.

Logo is not displaying Verify the file is under 1 MB and in a supported format (SVG, PNG, JPG). SVG files with external <image> references may not render — use self-contained SVGs.

Custom domain is not activating

  1. Confirm the TXT verification record is correct and has propagated (use dig TXT _embaylms-verify.your-domain.com to check).
  2. Confirm the CNAME record points to {your-tenant}.embaylms.com.
  3. Wait up to 24 hours for full propagation.
  4. If still not working, contact embaylms support with your domain and tenant slug.

Custom CSS was stripped on save The CSS contained a restricted directive (script tag, @import, or javascript: URL). Review and remove the offending rule.



Step 6 — Custom Login Page

The login page is the first impression your learners have of the platform. You can fully brand it with a background image, a custom welcome headline, and precise logo placement.

  1. Navigate to Admin Panel → Settings → Branding → Login page.
  2. Background image: upload a JPEG or PNG image (recommended: 1920×1080 px, max 5 MB). The image is cropped and centered on smaller screens. Alternatively, select a background color if you prefer a solid fill.
  3. Welcome headline: enter a short phrase displayed above the sign-in form (e.g., “Welcome to Acme Learning Portal”). Supports both English and French — enter both translations.
  4. Logo placement: choose to display your logo above the sign-in form or in the top-left corner of the page.
  5. Click Save and click Preview login page to see the result before your learners do.

Step 7 — Custom Fonts

You can replace the default system font with a custom typeface to match your brand guidelines.

Option A — Upload a .woff2 file

  1. Navigate to Admin Panel → Settings → Branding → Fonts.
  2. Click Upload font file and select a .woff2 file for each weight you need (Regular 400, Medium 500, Bold 700 are recommended for full coverage).
  3. Assign each uploaded file to the appropriate weight.
  4. Click Save.

License note: Only upload fonts you are licensed to use in a web application. EmbayLMS does not verify font licenses.

Option B — Use a Google Fonts family

  1. Navigate to Admin Panel → Settings → Branding → Fonts → Google Fonts.
  2. Enter the Google Fonts family name exactly as it appears on fonts.google.com (e.g., Inter, Nunito, Open Sans).
  3. Select the weights to load (loading fewer weights improves page load time).
  4. Click Save.

Font fallback

A system font stack is always applied as fallback in case the custom font fails to load.


Step 8 — Platform Name Customization

By default, the platform identifies itself as “EmbayLMS” in the UI, emails, browser tab titles, and error messages. You can replace this with your own brand name throughout.

  1. Navigate to Admin Panel → Settings → Branding → Platform name.
  2. Enter your platform display name (e.g., “Acme Learning Hub”).
  3. Enter the name in both English and French (Canada) if your portal is bilingual.
  4. Click Save.

The name replacement applies to:

  • Browser tab title and page titles
  • Email subject lines and body copy
  • Error messages and help text
  • The “Powered by” badge (if not removed — see step 14)

Note: This replaces display text only. It does not change your tenant slug or portal URL.


Step 9 — Navigation Builder

The navigation builder lets you add, remove, and reorder items in the left sidebar navigation seen by learners and instructors.

  1. Navigate to Admin Panel → Settings → Branding → Navigation.
  2. The current navigation items are shown in a drag-and-drop list.
  3. Reorder: drag items to change their position.
  4. Hide an item: toggle the visibility switch next to any item to hide it from learners (the feature still exists but is not surfaced in the nav).
  5. Add a custom link: click Add item, enter a label (English and French), a URL (internal path or external HTTPS URL), and optionally an icon.
  6. Add a section divider: click Add divider to insert a visual separator between groups of items.
  7. Click Save.

Role-based visibility: individual nav items can be restricted to specific roles. Expand an item and set the Visible to role filter.


Step 10 — Dashboard Layout Customization

The learner and admin dashboards are composed of widgets. You can control which widgets are visible and in what order.

  1. Navigate to Admin Panel → Settings → Branding → Dashboard layout.
  2. Select the audience: Learner dashboard or Admin dashboard.
  3. The widget list shows all available widgets with drag handles.
  4. Reorder: drag widgets to set the display order.
  5. Hide a widget: toggle the visibility switch to hide it.
  6. Click Save.

Available learner dashboard widgets include: My courses, Due soon, Recently completed, Announcements, Learning path progress, Recommended courses, Team leaderboard (optional), and Calendar (upcoming ILT sessions).


Step 11 — Custom Email Sender Identity

Configure the name and address your notification emails are sent from. This complements the logo and colors you set in steps 1–2.

For full instructions, see the Notifications admin guide, section 2.

Summary:

  1. Navigate to Admin Panel → Settings → Notifications → Email sender.
  2. Set Sender name, From address, and Reply-to address.
  3. Verify your sending domain to ensure emails are delivered, not flagged as spam.

Step 12 — Custom Email Templates (Full HTML Override)

Beyond editing the subject and body text of individual notifications, you can upload a fully custom HTML template that wraps all outbound emails.

  1. Navigate to Admin Panel → Settings → Branding → Email template.
  2. Download the base template to see the available merge variables and structure.
  3. Design your HTML template. Key requirements:
    • Include {{content}} where the notification body should be injected.
    • Include {{unsubscribe_url}} in your footer (required by CAN-SPAM and CASL).
    • All CSS must be inline — email clients do not reliably support <style> blocks.
  4. Upload your HTML file (max 512 KB).
  5. Click Preview to see a rendered sample with dummy content.
  6. Click Save.

Resetting: Click Reset to default to restore the EmbayLMS base template.


Step 13 — Custom Error Pages

Replace the default EmbayLMS error pages with branded versions that match your portal experience.

  1. Navigate to Admin Panel → Settings → Branding → Error pages.
  2. For each page type (404 Not Found, 403 Forbidden, 503 Maintenance), you can:
    • Enter a custom headline and body message (supports English and French).
    • Upload a background image or illustration (PNG/SVG, max 1 MB).
    • Add a call-to-action button with custom label and URL (e.g., “Return to home”, “Contact support”).
  3. Click Save for each page type.

Maintenance mode: To activate the maintenance page while you perform updates:

  1. Navigate to Admin Panel → Settings → Maintenance mode.
  2. Enable Maintenance mode and optionally set a scheduled end time.
  3. Learners see the custom maintenance page. Admin users can still log in.

Link to your organization’s own Terms of Service and Privacy Policy rather than EmbayLMS defaults.

  1. Navigate to Admin Panel → Settings → Branding → Legal pages.
  2. For Terms of Service and Privacy Policy, choose:
    • Redirect: enter an external URL where the page is hosted (e.g., https://acme.com/terms). Users are sent to this URL when they click the link.
    • Custom content: paste your policy text (Markdown supported). EmbayLMS renders it on a branded page within the portal.
  3. Click Save.

Legal page links appear in the platform footer and on the registration / login page.


Step 15 — Per-Portal Branding (Multiple Portals)

Enterprise accounts with multiple portals (e.g., one for employees and one for external partners) can configure independent branding for each portal.

  1. Navigate to Admin Panel → Settings → Portals.
  2. Select the portal you want to brand.
  3. All branding settings (colors, logo, fonts, login page, navigation) are scoped per portal.
  4. Changes to one portal do not affect others.

Portals share the same user directory unless configured as isolated tenants. Contact EmbayLMS support if you need full data isolation between portals.


Step 16 — Removing the “Powered by EmbayLMS” Badge

The “Powered by EmbayLMS” badge appears in the platform footer and on emails by default. It can be removed on the White-Label plan.

  1. Confirm your plan includes white-label rights (Admin Panel → Settings → Billing → Plan overview should show “White-Label”).
  2. Navigate to Admin Panel → Settings → Branding → Footer.
  3. Toggle Show “Powered by EmbayLMS” to off.
  4. Click Save.

If you do not see this toggle, your plan does not include full white-labeling. Contact EmbayLMS sales to upgrade.


Customize the platform footer with your own links, legal text, and social icons.

  1. Navigate to Admin Panel → Settings → Branding → Footer.
  2. Links: add up to 8 footer links with custom labels and URLs. Drag to reorder.
  3. Legal text: enter a short copyright or legal notice (e.g., ”© 2026 Acme Corp. All rights reserved.”).
  4. Social icons: add links for LinkedIn, Twitter/X, Facebook, Instagram, YouTube, or a custom URL. Supported icons are available in the icon picker.
  5. Footer layout: choose single-row or two-row layout.
  6. Click Save.

Footer content supports English and French — switch between language tabs to enter translations.


Updated Configuration Reference

SettingDescriptionDefault
Primary colorMain brand color (hex)#0F2A5A (embaylms blue)
Accent colorSecondary brand color (hex)#3AB3A6 (embaylms orange)
Logo URLHosted URL of your logoNone (embaylms default)
Favicon URLHosted URL of your faviconNone (embaylms default)
Custom domainYour own domain for the platformNone
Custom CSSRaw CSS injected in <head>None
Login background imageBackground for the login pageNone (solid color)
Login welcome headlineText above the sign-in formNone
Custom font.woff2 upload or Google Fonts familySystem default
Platform nameReplaces “EmbayLMS” throughout the UIEmbayLMS
Navigation itemsVisible and ordered nav itemsDefault set
Dashboard layoutWidget visibility and orderDefault layout
Email sender nameFrom name on notification emailsEmbayLMS
Email HTML templateFull custom HTML email wrapperEmbayLMS default
Error page headlinesCustom text for 404, 403, 503EmbayLMS default
Terms of ServiceRedirect URL or custom contentEmbayLMS default
Privacy PolicyRedirect URL or custom contentEmbayLMS default
Powered by badgeShow or hide EmbayLMS badgeVisible (White-Label plan to remove)
Footer linksUp to 8 custom footer linksNone
Footer legal textCopyright or legal noticeNone
Footer social iconsSocial media linksNone