> ## Documentation Index
> Fetch the complete documentation index at: https://docs.useinvent.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Whitelabel

> Brand Invent as your own. Customize the workspace and connect your own domain for a fully white-labeled experience

<Info>
  Custom domains and "Remove Powered by" branding require a **Business** or **Enterprise** plan. The Customization fields (logo, organization name, contact email, address, terms, privacy) are available on every plan, including Pay As You Go. [View plans](/guides/pricing-and-plans)
</Info>

The **Whitelabel** page is the single place where you turn Invent into your brand. It has two tabs:

* **Customization**: logo, organization name, contact email, address, terms, and privacy links. These values appear to members, in branded emails, in portals, and in invites.
* **Domain**: the custom domain your team and your customers use to reach the workspace. The domain is what unlocks branded emails and a URL that never mentions `useinvent.com`.

Access the Whitelabel page at [useinvent.com/o/settings/whitelabel](https://useinvent.com/o/settings/whitelabel).

<Frame>
  <img src="https://mintcdn.com/invent/eZGWWfGnHiSBn0ww/assets/workspace-management/whitelabel-overview.png?fit=max&auto=format&n=eZGWWfGnHiSBn0ww&q=85&s=4c6bc24827d1a5ed3b19a2b89452a125" alt="Whitelabel page with Customization and Domain tabs" style={{ maxHeight: '400px' }} width="2158" height="1712" data-path="assets/workspace-management/whitelabel-overview.png" />
</Frame>

<Note>
  **Sub-organizations have their own Whitelabel.** The settings on this page apply only to the organization you're currently in. Every sub-organization has its own Customization and Domain tabs that you configure separately. Jump to [Whitelabel for sub-organizations](#whitelabel-for-sub-organizations) below for the full flow.
</Note>

## Customization

The Customization tab holds the fields that appear wherever Invent renders your brand: the sidebar logo, invitation emails, member-facing pages, and the sign-in screen on your custom domain.

| Field                 | What it's used for                                                           |
| --------------------- | ---------------------------------------------------------------------------- |
| **Logo**              | Sidebar, invitation emails, sign-in screen on your custom domain, portals    |
| **Organization name** | "From" name on invitation and notification emails, header of branded portals |
| **Contact email**     | Public support email. Reply-to on outgoing branded emails when set           |
| **Address**           | Shown in customer-facing pages. Required for compliance in some industries   |
| **Terms of service**  | Linked from branded portals and sign-in screens                              |
| **Privacy policy**    | Linked alongside the terms of service                                        |

**Logo recommendations**: SVG for best quality, square (1:1) or landscape (2:1), under 2 MB. PNG and JPG also supported.

Click **Save Changes** at the bottom to apply your updates. The logo uploads immediately when selected; the text fields save when you click the button.

## Domain

A custom domain is what turns an Invent workspace into a branded workspace. Without it, invitation links still read `useinvent.com/...` and outgoing emails still fall back to Invent's default sender. With it, both switch to your brand.

Access it at [useinvent.com/o/settings/whitelabel/domain](https://useinvent.com/o/settings/whitelabel/domain).

<Frame>
  <img src="https://mintcdn.com/invent/eZGWWfGnHiSBn0ww/assets/workspace-management/whitelabel-domain-pending.png?fit=max&auto=format&n=eZGWWfGnHiSBn0ww&q=85&s=6a84606d586058aaf43df3ef06a8afc3" alt="Domain tab with a pending domain and the CNAME record to add" style={{ maxHeight: '400px' }} width="2158" height="962" data-path="assets/workspace-management/whitelabel-domain-pending.png" />
</Frame>

### Adding a Domain

<Steps>
  <Step title="Pick a subdomain, not your root domain">
    Use a subdomain like `assistants.yourcompany.com`, `chat.yourcompany.com`, or `app.yourcompany.com`. Do **not** use the root (apex) domain itself (`yourcompany.com`). Most DNS providers do not allow a CNAME record on the root, so the verification fails with a "Custom hostname does not CNAME to this zone" error.

    <Tip>
      Reserve a dedicated prefix like `assistants.yourcompany.com` if you plan to create sub-organizations later. You can then use one **wildcard CNAME** to cover every sub-org automatically. See [Wildcard for agencies](#wildcard-for-agencies).
    </Tip>
  </Step>

  <Step title="Click Add Domain">
    On the Domain tab, click **+ Add Domain**, enter the full hostname (for example `assistants.yourcompany.com`), and confirm.

    <Frame>
      <img src="https://mintcdn.com/invent/eZGWWfGnHiSBn0ww/assets/workspace-management/whitelabel-add-domain-modal.png?fit=max&auto=format&n=eZGWWfGnHiSBn0ww&q=85&s=0616577ebce62bd378eba965773e56c8" alt="Add Domain modal with hostname input" style={{ maxHeight: '400px' }} width="1084" height="866" data-path="assets/workspace-management/whitelabel-add-domain-modal.png" />
    </Frame>
  </Step>

  <Step title="Add the CNAME to your DNS provider">
    The domain row shows the exact record to add:

    ```
    Type:  CNAME
    Name:  assistants.yourcompany.com
    Value: cname.useinvent.com
    ```

    <Warning>
      **If you use Cloudflare**, set the record to **DNS only** (grey cloud ☁️). Leaving it proxied (orange cloud) blocks the verification because Invent needs to terminate TLS for your hostname directly.
    </Warning>
  </Step>

  <Step title="Verify">
    Back on the Domain tab, click **Verify**. DNS usually propagates in a few minutes but can take up to 24 hours. While it's propagating the domain stays in **Pending**; once the record resolves, the status flips to **Active**.
  </Step>
</Steps>

### Domain Statuses

| Status      | Meaning                                                                          |
| ----------- | -------------------------------------------------------------------------------- |
| **Pending** | The domain is added in Invent but the CNAME is not yet resolving.                |
| **Active**  | The CNAME is live and the domain is serving the workspace.                       |
| **Error**   | A DNS or TLS issue was detected. Re-check the record and click **Verify** again. |

### What Changes Once the Domain Is Active

* **Workspace URL**: the workspace is reachable at `https://assistants.yourcompany.com` in addition to the default Invent hostname. Share that URL with your team and clients instead of the `useinvent.com` one.
* **Invitation and notification emails**: the "from" name becomes your **Organization name** (from Customization). The sender address switches from the default Invent sender to a brand-neutral `app-emails.com` address. Replies route to your **Contact email** when it is set.
* **Sign-in on your domain**: users signing in from your custom URL see your logo and a sign-in flow with no Invent branding.

<Note>
  Sending emails from your own domain (for example `support@yourcompany.com`) is not yet supported. It is coming in a future release under [**Settings → Emails**](https://useinvent.com/o/settings/emails). Today, branded emails are sent from a neutral `app-emails.com` sender with your organization name.
</Note>

<Warning>
  **Members on a custom domain only see the organization that owns it.** If a member signs in through `assistants.yourcompany.com` but belongs to a different organization, they will see the "No Organizations Available" screen. Invite them to the organization that owns the domain from [**Settings → Members**](https://useinvent.com/o/settings/members), or have them sign in through the default Invent hostname.
</Warning>

### Deleting a Domain

Click **Delete** on the domain row to remove it. The CNAME record in your DNS provider is not touched. Remove it there separately if you don't plan to reuse the hostname. After deletion, workspace links and emails revert to the default Invent branding immediately.

## Whitelabel for Sub-Organizations

Branding does **not** cascade from a parent organization to its sub-organizations. A parent's logo, name, and domain apply only to the parent. A sub-organization becomes branded once you configure its own Customization and Domain, independently of the parent.

This is by design. Each sub-organization is a fully independent workspace that can have its own identity, so agencies can run a separate brand per client and companies can run a separate brand per business unit.

### Where the Sub-Organization Whitelabel Lives

From the parent organization, go to [**Settings → Sub-Organizations**](https://useinvent.com/o/settings/sub-organizations) and click the row of the sub-org you want to brand. The row opens that sub-org's management dashboard, which has its own **Customization** and **Domain** tabs, mirroring the parent's Whitelabel tabs.

<Frame>
  <img src="https://mintcdn.com/invent/eZGWWfGnHiSBn0ww/assets/workspace-management/sub-organizations-list.png?fit=max&auto=format&n=eZGWWfGnHiSBn0ww&q=85&s=2ec6940d559952a9de5b6e31958b55e8" alt="Sub-Organizations list. Click any row to open that sub-org's management dashboard." style={{ maxHeight: '400px' }} width="2150" height="756" data-path="assets/workspace-management/sub-organizations-list.png" />
</Frame>

Both tabs behave exactly like the parent's versions above, just scoped to this sub-org.

### Branding a Sub-Organization End-to-End

<Steps>
  <Step title="Open the sub-organization">
    From the parent organization, go to [**Settings → Sub-Organizations**](https://useinvent.com/o/settings/sub-organizations) and click the row of the sub-org you want to brand. Its management dashboard opens with Overview, Members, Customization, Domain, Modules, and Billing tabs.
  </Step>

  <Step title="Fill in Customization">
    Open the **Customization** tab and set the sub-org's own **Logo**, **Organization name**, **Contact email**, **Address**, **Terms of service**, and **Privacy policy**. These are the same fields described in [Customization](#customization) above.

    <Frame>
      <img src="https://mintcdn.com/invent/eZGWWfGnHiSBn0ww/assets/workspace-management/sub-organization-customization.png?fit=max&auto=format&n=eZGWWfGnHiSBn0ww&q=85&s=4465243c7f81c7aeec1be220ff38e3b5" alt="Customization tab inside a sub-organization with branding fields" style={{ maxHeight: '400px' }} width="1820" height="1498" data-path="assets/workspace-management/sub-organization-customization.png" />
    </Frame>

    The **Organization name** becomes the "from" name on every invitation and notification email this sub-org sends. Without a logo and name here, the sub-org falls back to Invent's default branding on emails.
  </Step>

  <Step title="Add a custom domain on the Domain tab">
    Open the **Domain** tab, click **+ Add Domain**, and enter a hostname dedicated to this sub-org, for example `acme.assistants.yourcompany.com`. Then add the CNAME record shown in the Pending row, exactly as described in [Adding a Domain](#adding-a-domain) above.

    <Frame>
      <img src="https://mintcdn.com/invent/eZGWWfGnHiSBn0ww/assets/workspace-management/sub-organization-domain.png?fit=max&auto=format&n=eZGWWfGnHiSBn0ww&q=85&s=8e3e19eb9cf8d00652a8cda17f6f78a5" alt="Domain tab inside a sub-organization with an Add Domain button" style={{ maxHeight: '400px' }} width="1830" height="918" data-path="assets/workspace-management/sub-organization-domain.png" />
    </Frame>

    <Tip>
      If you plan to add domains for many sub-orgs, set up a **wildcard CNAME** once and every sub-org hostname under that prefix verifies instantly. See [Wildcard for agencies](#wildcard-for-agencies).
    </Tip>

    Until this sub-org has its own verified domain, its invitation links still use `useinvent.com/...` even if the parent has a custom domain.
  </Step>

  <Step title="Invite members">
    Once Customization is filled and the sub-org's domain is Active, new invitations sent from this sub-org carry its logo, its organization name as the sender, a brand-neutral `app-emails.com` sender address, and a sign-in link on its custom hostname. Invite members from the sub-org's **Members** tab.
  </Step>
</Steps>

<Warning>
  A custom domain only serves the organization that owns it. A member signing in through the sub-org's URL who is not a member of that sub-org will see *"No Organizations Available"*. Invite them to the sub-org first, then they can sign in through the custom URL.
</Warning>

For the broader sub-organization feature (members, modules, billing, spending limits), see [Sub-Organizations](/workspace-management/sub-organizations).

## Wildcard for Agencies

If you plan to run many sub-organizations, each under its own hostname like `acme.assistants.yourcompany.com`, `brightsmile.assistants.yourcompany.com`, or `so-easy.assistants.yourcompany.com`, add **one wildcard CNAME** in your DNS provider and every sub-org hostname verifies instantly with no DNS change per client.

### Step 1: Add the wildcard record in your DNS provider

In your DNS provider (not in Invent), add a single wildcard CNAME on a dedicated prefix:

```
Type:  CNAME
Name:  *.assistants
Value: cname.useinvent.com
```

<Warning>
  The wildcard lives only in your DNS provider. Invent does **not** accept `*.assistants.yourcompany.com` in the **Add Domain** input. Inside Invent you always enter a full hostname like `acme.assistants.yourcompany.com`.
</Warning>

<Tip>
  Do **not** wildcard the apex (`*.yourcompany.com`). It would catch every other record on your domain like `www`, `mail`, and so on. Always scope the wildcard to a dedicated prefix you reserve for Invent.
</Tip>

You can also keep a plain record for the parent organization itself (for example `assistants.yourcompany.com` → `cname.useinvent.com`) alongside the wildcard.

### Step 2: Add the hostname to each sub-organization

For each sub-organization:

1. From the parent organization, go to [**Settings → Sub-Organizations**](https://useinvent.com/o/settings/sub-organizations) and click the sub-org's row. Its management dashboard opens.
2. Open the **Domain** tab.
3. Click **+ Add Domain** and enter a hostname under your wildcard prefix, for example `acme.assistants.yourcompany.com`.
4. The domain verifies instantly because the wildcard CNAME is already pointing at Invent. No per-sub-org DNS change required.

Repeat for every sub-organization. Each one gets its own branded URL without any extra work in your DNS provider.

## Plan Availability

| Feature                            | Pay As You Go | Business | Enterprise |
| ---------------------------------- | :-----------: | :------: | :--------: |
| Logo, org name, contact info       |       ✓       |     ✓    |      ✓     |
| Terms & privacy links              |       ✓       |     ✓    |      ✓     |
| Custom domain                      |       ✗       |     ✓    |      ✓     |
| Remove "Powered by Invent" badge   |       ✗       |     ✓    |      ✓     |
| Sub-organizations with own domains |       ✗       |     ✓    |      ✓     |

## Troubleshooting

<AccordionGroup>
  <Accordion title="'Custom hostname does not CNAME to this zone'">
    You're trying to verify a root (apex) domain like `yourcompany.com`. Most DNS providers do not allow a CNAME on the root. Use a subdomain instead (for example `assistants.yourcompany.com`, `chat.yourcompany.com`, or `app.yourcompany.com`) and add the CNAME under that name.
  </Accordion>

  <Accordion title="Cloudflare: verification keeps failing even though the CNAME is correct">
    Cloudflare proxies CNAME records by default (the orange cloud ☁️). Invent needs to terminate TLS directly, so switch the proxy status to **DNS only** (grey cloud ☁️) and click **Verify** again.
  </Accordion>

  <Accordion title="The invitation email from my sub-organization still shows 'Invent' as the sender">
    Invitation emails for a sub-organization are branded from **that sub-organization's** own Whitelabel, not the parent's. Open the sub-org, fill in its **Customization** tab, and add a verified domain on its **Domain** tab. Until the sub-org has its own domain added, its invitation emails fall back to the default Invent sender. [Branding a Sub-Organization End-to-End →](#branding-a-sub-organization-end-to-end)
  </Accordion>

  <Accordion title="'No Organizations Available' after signing in on my custom domain">
    A custom domain only serves the organization that owns it. If the user's account is not a member of that organization, they see this screen. Invite them from [**Settings → Members**](https://useinvent.com/o/settings/members) in the organization that owns the domain, and have them accept the invite before signing in through the custom URL again.
  </Accordion>

  <Accordion title="Verification has been pending for a long time">
    DNS normally propagates in minutes but can take up to 24 hours. Run `dig CNAME assistants.yourcompany.com` (or any DNS lookup tool) to confirm the record resolves to `cname.useinvent.com` globally before clicking **Verify** again.
  </Accordion>

  <Accordion title="'Powered by Invent' badge still shows in the preview">
    The preview inside the dashboard always shows the badge. It is removed on the **live widget** on any website where your users actually embed it, and on any assistant accessed through your **custom domain**. Check a live embed or the custom-domain URL in an incognito window to confirm.
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="Sub-Organizations" icon="building-columns" href="/workspace-management/sub-organizations">
    Run independent sub-organizations for each client or team, each with its own branding
  </Card>

  <Card title="Members" icon="users" href="/workspace-management/members">
    Invite teammates so they land on your branded workspace on first sign-in
  </Card>
</CardGroup>
