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

# Custom Domains

> Serve your forms, surveys, and chat pages from a domain you own, with your own branding

<Info>
  **Plan availability:** Pro or higher. See [Plans & Billing](/features/settings/plans).
</Info>

## What Are Custom Domains?

By default, public Clarky pages live at `clarky.ai`. With a custom domain you point a hostname you own, such as `forms.yourcompany.com`, at Clarky and your forms, surveys, and chat pages are served from it instead. Visitors see your brand in the address bar, links are short and easy to remember, and nothing on the page references Clarky.

Once a domain is live, these URLs work on it:

| URL                           | What it shows                                                    |
| ----------------------------- | ---------------------------------------------------------------- |
| `yourdomain.com/`             | The home page you choose for the domain (a form or a chat agent) |
| `yourdomain.com/onboarding`   | The form or survey whose URL slug is `onboarding`                |
| `yourdomain.com/c/your-agent` | A full-screen chat page for one of your agents                   |

Custom domains only serve public pages. The admin app and your Clarky login always stay at `clarky.ai`.

## Adding a Domain

<Steps>
  <Step title="Open Custom Domains">
    Go to **Settings > Custom Domains** and click **Add domain**.
  </Step>

  <Step title="Enter your hostname">
    Type the domain or subdomain you control, for example `forms.yourcompany.com`. Subdomains are the easiest to set up. Root domains (`yourcompany.com`) work too, but require an A record instead of a CNAME.
  </Step>

  <Step title="Add the DNS record">
    Clarky shows the exact record to add at your domain provider (GoDaddy, Cloudflare, Namecheap, and so on). Every field is click-to-copy.

    * **Subdomain**: a `CNAME` record pointing at `cname.vercel-dns.com`
    * **Root domain**: an `A` record pointing at `76.76.21.21`

    If the domain is already registered with another hosting account, Clarky may also ask for a `TXT` record to prove you own it.
  </Step>

  <Step title="Re-check until it is live">
    DNS changes usually take a few minutes to propagate. Click the refresh icon next to the domain to re-check. The badge changes from **Pending DNS** to **Live** as soon as the record is detected, and Clarky provisions an SSL certificate automatically.
  </Step>
</Steps>

<Tip>
  You can add more than one domain. A recruiting team might use `apply.yourcompany.com` for application forms and `help.yourcompany.com` for a chat agent.
</Tip>

## Choosing a Home Page

Each domain has a **Home page** setting that controls what loads at the root URL. Pick any form, survey, or chat agent in your workspace. If you leave it empty, the root returns a not-found page and only the specific form and chat paths respond.

## Form URL Slugs

Forms and surveys can have a short URL slug so the link reads `forms.yourcompany.com/onboarding` instead of a long ID.

<Steps>
  <Step title="Open the form">
    Go to **CRM > Forms** and open the form you want to share.
  </Step>

  <Step title="Set the slug in Form Settings">
    In the **Form Settings** card, enter a slug made of lowercase letters, numbers, and hyphens (for example `onboarding` or `event-rsvp`). Slugs must be unique within your workspace.
  </Step>

  <Step title="Share the short link">
    The **View** tab shows the public link. Use the host selector to switch between `clarky.ai` and any of your live custom domains; the link, iframe snippet, and script snippet all update to match.
  </Step>
</Steps>

<Note>
  A few words are reserved and cannot be used as slugs because Clarky uses them for routing: `f`, `c`, `api`, `cd`, `form`, `embed`, `b`, `p`, and `admin`.
</Note>

## Branding Each Domain

Under each live domain you can set what visitors and link previews see:

<CardGroup cols={3}>
  <Card title="Site name" icon="signature">
    The name shown in browser tabs and link previews. Defaults to the hostname.
  </Card>

  <Card title="Favicon" icon="star">
    The small icon in the browser tab. Upload a 512 x 512 PNG.
  </Card>

  <Card title="Social preview image" icon="image">
    The image shown when the link is shared on LinkedIn, Slack, iMessage, and similar. Upload a 1200 x 630 PNG or JPG.
  </Card>
</CardGroup>

If you do not upload a favicon or preview image, the page simply has none. Clarky never substitutes its own branding on a custom domain.

## Powered by Clarky

Public chat pages, the chat widget, forms, and surveys show a small "Powered by Clarky" link by default. On Pro and higher you can hide it:

* **Chat**: the **Powered by Clarky** card at the bottom of **Settings > Custom Domains** has a **Show on chat** switch for the current agent.
* **Forms and surveys**: open the form, then **Form Settings > Design and Branding**, and turn off the branding switch for that form.

The switch works on `clarky.ai` links as well as custom domains, so you can go white-label either way.

## Embedding From Your Domain

The share and embed screens are domain-aware:

* **Forms**: the **View** tab of a form has a host selector. Choose a custom domain and the public link, iframe embed, and script embed all use it. The embed script itself is served from your domain.
* **Chat**: **Settings > Share / Embed** has the same selector for the chat page link and the `chat.js` embed tag.

Embed code copied this way never mentions `clarky.ai`, so the pages you paste it into stay fully on-brand.

<AccordionGroup>
  <Accordion title="Why is my domain still Pending DNS?">
    Most often the record has not propagated yet, or it was added on the wrong name (for example `forms.yourcompany.com.yourcompany.com`). Double-check the **Name** and **Value** fields against what Clarky shows, wait a few minutes, and re-check. Some providers cache DNS for up to an hour.
  </Accordion>

  <Accordion title="Can I use my domain for booking pages?">
    Not yet. Custom domains currently cover forms, surveys, and chat pages. Booking pages continue to use `clarky.ai` links.
  </Accordion>

  <Accordion title="What happens if I downgrade my plan?">
    Domains stay saved, but they stop serving pages until the workspace is back on a plan that includes custom domains. Your `clarky.ai` links keep working the whole time.
  </Accordion>

  <Accordion title="What happens when I remove a domain?">
    Clarky detaches it from hosting and deletes any favicon or preview image you uploaded for it. Links on that domain stop working immediately; the underlying forms and agents are untouched.
  </Accordion>
</AccordionGroup>

<CardGroup cols={2}>
  <Card title="Embedding Forms" icon="code" href="/features/forms/embedding">
    Public URLs, iframe, and script embeds for forms and surveys.
  </Card>

  <Card title="Share & Embed Chat" icon="share-nodes" href="/features/settings/share">
    Chat page links and the chat widget embed.
  </Card>
</CardGroup>
