Browse
On this page

Pick a theme and table density, and set your company domain and portal URL

Theme holds your color scheme and a white-label Custom Palette, Table Density controls row spacing everywhere, and Domains & URLs holds your Company Domain and the Portal Base URL used in outgoing links.

You need An account with view access to Settings - saving the Custom Palette or either Domains & URLs field needs the tenant's own owner email or an internal Admin/Super Admin.

What you will have

  • Switch to the Custom theme and see its fifteen color fields, grouped into Brand, Surfaces, Text, Sidebar, and Accents.
  • Know that a Theme and Density choice lives in your browser, not on your account, and resets on a new machine or after clearing browser data.
  • Know that the Custom Palette's own colors are the one part of Theme that saves for the whole MSP, even though each person still has to pick Custom themselves to see it.
  • Read Table Density's three spacing options and know that the change applies immediately, everywhere a table or list renders.
  • Find Company Domain and Portal Base URL on Domains & URLs, and know that neither one decides who is staff.
  • Know what actually decides staff versus a client user at sign-in, and where staff is granted.

Why it works this way

Theme mixes two different kinds of state on one page: the Custom Palette's fifteen colors save for the whole MSP, but which theme you personally have applied, and your Density choice, are both stored only in your own browser - this walkthrough calls out which is which, since the page does not separate them visually.

Company Domain and Portal Base URL sit on the same small page as two settings people often assume decide staff access - this walkthrough states plainly what each one actually does, and points to the one place staff is actually granted.

Steps

  1. Open Settings > Company > Theme and look at the three color presets.

    Classic is blue primary with red accents, Dark is a dark theme with purple highlights, and Custom is white-label with your own brand colors. Picking any of the three applies it immediately across the portal.

    Open Settings > Company > Theme and look at the three color presets.
  2. Select Custom to open the Custom Theme Editor.

    Selecting Custom both applies it as your own active theme and reveals the Custom Theme Editor below, where the white-label colors themselves are configured. The editor's own text says these colors apply system-wide for all users - that is true of the fifteen color values, not of which preset you personally have selected.

    Select Custom to open the Custom Theme Editor.
  3. Look at the Custom Theme Editor's fifteen color fields.

    They are grouped into five sections: Brand (Primary Brand Color, Text on Brand), Surfaces (Background, Secondary, Tertiary), Text (Primary, Secondary, Tertiary), Sidebar (Background, Text, Active, Hover), and Accents (Success/Green, Danger/Red, Warning/Amber). A live Preview panel beside the fields shows the palette applied to a small mock sidebar, header, stat cards, and table. Save Custom Theme persists all fifteen values for the whole MSP; Reset to Defaults restores the shipped palette without saving.

    Look at the Custom Theme Editor's fifteen color fields.
  4. Know that your Theme and Density choices live in your browser, not your account.

    Which theme you have applied and which density you have picked both save to your browser's local storage, not to your user record. Switching to another computer, or clearing this browser's data, resets both back to the system default (Classic, Normal). The Custom Palette's own fifteen colors are the exception: Save Custom Theme writes them to a setting shared by the whole MSP, so every teammate who later picks Custom themselves sees the same brand colors - but picking Custom is still each person's own local choice.

    Note: This walkthrough leaves the Custom Palette at its shipped default colors - no color values were changed or saved.
  5. Open Table Density, below Theme, and look at its three spacing options.

    Comfortable adds extra padding for roomier rows, Normal is the default balance, and Compact tightens padding and font size to show more rows per screen. The change applies immediately, everywhere a table, list, card, or form respects density - a ticket queue, a client list, a report table.

    Open Table Density, below Theme, and look at its three spacing options.
  6. Open Settings > Company > Domains & URLs and find Company Domain.

    The page's own text under the field reads: your company's primary domain, used to match your organization in connected systems like your PSA and shared mailbox, and that it does not decide who is staff - add staff explicitly on the Team page. This tenant's Company Domain is blank.

    Open Settings > Company > Domains & URLs and find Company Domain.
  7. Know what actually decides staff versus a client user at sign-in.

    Staff access (an internal, admin-tier account) is granted only one way: an existing staff member adds someone explicitly under Team > Staff. Neither Company Domain nor Portal Base URL plays any part in that decision. A separate, older mechanism still exists in code for single sign-on tenants: where a tenant carries a legacy internal-domains value (no longer a field on this page), a first-time SSO sign-in from a matching email address is allowed to create itself as a plain client user - never staff, never an admin permission - pointed at the MSP's own internal client organization. That is how an MSP's own non-technical employees (HR, accounting) can reach the client portal without being pre-created, while staff access still requires the explicit Team > Staff step either way.

  8. Find Portal Base URL, on the same page.

    The page's own text under the field reads: the public URL of the portal, used in outgoing emails and links sent to clients, and that leaving it blank auto-detects it from the host the portal is running on. This tenant's Portal Base URL already shows its own detected address.

    Find Portal Base URL, on the same page.

Other ways to do this

All Settings search

Open Settings > System > All Settings and search by field name - Theme, Table Density, Company Domain, and Portal Base URL all show up with a link straight to the page that edits them.

You know roughly what a setting is called but not which group in the Settings tree owns it.

If it did not work

  • If a teammate says their theme keeps resetting, remind them it is stored per browser, not per account - a new machine or a cleared browser always starts from the system default.
  • If Save Custom Theme appears disabled, confirm the Custom preset card is selected first - the editor's fields are read-only until Custom is active.
  • If someone was expecting Company Domain to grant them staff access, point them at Team > Staff instead - that is the only door that grants it.

Questions this page answers

What does table density control?

The Density control on Settings → Company → Theme adjusts the padding and font size of all data tables. Compact shows more rows per screen, Normal is the default balance, and Comfortable adds extra spacing for readability. Changes apply immediately across all tables.

Why doesn't my theme follow me to other browsers?

Theme + Density choices live in your browser's localStorage, not on your user record. Switching laptops or clearing browser data resets the active theme to the system default. The CUSTOM PALETTE you can author here IS shared across the whole MSP (stored on a Setting row), but each user picks which theme to APPLY locally. Acceptable for a comfort knob; expect the reset.

How do I build a custom theme?

Pick Custom Palette and tune the 15 swatches (Brand and On-Brand colors, three Surface backgrounds, three Text colors, four Sidebar colors, and the three Cyber accents). Save persists the palette MSP-wide. Each tech still picks Custom Palette themselves to apply it; the default theme stays whatever they had selected.

What is Density?

Vertical spacing on tables, cards, and forms. Compact = tightest (good for high-info dashboards on big monitors); Comfortable = roomy; Normal = the default. Like Theme, the choice is per-browser via localStorage. Every DataTable, ticket row, and detail card respects the active density.

How does the portal decide who is staff?

Staff status (isInternal) is no longer inferred from an email domain, and there is no Internal Domains field here anymore. Someone becomes staff only when you add them explicitly under Team > Staff (the owner's first sign-in bootstraps the first staff account). Domains & URLs holds just your Company Domain and Portal Base URL, and neither grants staff access.

What decides staff versus client at sign-in?

Domain matching no longer grants staff; staff (isInternal=true) is set only by Team > Staff. A configured internal-domains value, where one still exists, only lets a matching email self-provision as a client user (role USER, isInternal false, pointed at your internal org) on first SSO, which is how your own employees get a client-side login. It never confers staff or admin access, so misconfiguring it cannot hand anyone staff-tier access.

Why does Portal Base URL matter?

Every outgoing magic-link email and ticket-reply notification stamps this as the URL prefix. Set it to your public URL (https://portal.yourcompany.com). Leaving it blank auto-detects from the host header - fine for single-domain instances, brittle when you front the portal with multiple domains. Edits take effect on the next outgoing email (no cache).

Was this helpful?

Last validated 2026-09-17