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

> White-label your interview URLs with a custom domain so candidates see your brand, not HeyMilo's.

# Custom Domains

**Path:** **Sidebar → Outreach → Custom Domains**

<Frame>
  <img src="https://mintcdn.com/heymilo/wz6dvoJccwwfpMsP/images/image-92.png?fit=max&auto=format&n=wz6dvoJccwwfpMsP&q=85&s=c7575a5fe8d02a636dfb3137f13bc599" alt="Image" width="1520" height="661" data-path="images/image-92.png" />
</Frame>

### What this enables

* **White-label links**: Candidates see **your domain** in the address bar and when they copy the link.
* **Trust**: Familiar domains get more clicks than unknown hosts.
* **Consistency**: Pairs with **Interview Branding** and **Settings → Company Context** (default URL / slug) when you want the full package.

### Add and verify

<Frame>
  <img src="https://mintcdn.com/heymilo/khmklczV5WPXMedr/images/Screenshot%202026-03-20%20at%2012.17.46%E2%80%AFPM.png?fit=max&auto=format&n=khmklczV5WPXMedr&q=85&s=c260b11b63747d5d63e360c15b994890" className="mx-auto" style={{ width:"81%" }} width="938" height="574" data-path="images/Screenshot 2026-03-20 at 12.17.46 PM.png" />
</Frame>

#### 1) Add your custom domain

1. Open **Outreach → Custom Domains**.
2. If none exists, you’ll see **No Custom Domain Configured** → **Add Custom Domain**.
3. Enter a hostname you control—**a subdomain is best**, e.g. `interviews.yourcompany.com` (not `https://`, no path).
4. **Create** / save.

The app will show the **CNAME record** you need next (name/host + **target** value).

#### 2) Create the CNAME at DNS

1. Log into your DNS host (Cloudflare, Route 53, GoDaddy, etc.).
2. Create a **CNAME** exactly as HeyMilo specifies:
   * **Name / host**: Usually your subdomain label (e.g. `interviews`) or the full host—**match the UI**, not a blog post.
   * **Target / value**: The **CNAME target** HeyMilo displays (e.g. an `ingress.…` hostname—**copy from the product**).
3. **TTL**: The UI suggests **\~5 minutes** when you want faster cutovers during setup.

<Warning>
  **Important:** Use **only** what the HeyMilo screen shows. Wrong host or target is the main reason verification stays **Pending**.
</Warning>

#### 3) Verify

1. After DNS saves, click **Verify** in HeyMilo.
2. Status may stay **Pending** until DNS propagates—often **\~30 minutes**, sometimes **several hours** (occasionally longer).
3. Retry verification later if needed; propagation is on the DNS provider side.

When verification succeeds, the domain is **active** and new candidate links use your domain (behavior for **very old** links: assume existing HeyMilo URLs may still work—confirm with support if you rely on legacy bookmarks).

#### 4) Day-to-day use

* **Copy CNAME** from the page if you need to re-paste into DNS or share with IT.
* **Delete** the custom domain from HeyMilo if you’re sunsetting it—confirm you’re ready for links to stop using that host.
* **Share** interview links from the posting/interviewer **Share** flow once the domain is **active**—candidates should land on your branded host.

### Under the hood

HeyMilo checks that your DNS **CNAME points to the required target**, then attaches the hostname to the **hosted interview environment**. The exact target string is **workspace-specific** in the UI—always treat the app as source of truth.

### Best practices

* Prefer a **dedicated subdomain** (`interviews.…`, `hire.…`) so you don’t collide with `www` or app traffic.
* Use a **low TTL** during setup; you can raise it later if your IT policy requires.
* Coordinate with whoever owns **DNS** before promising a go-live date to hiring managers.

### Troubleshooting

| Symptom                             | Check                                                                                                      |
| ----------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| **Stuck on Pending**                | CNAME name/value typo; wrong DNS zone; propagation—wait and re-verify.                                     |
| **Verify fails**                    | Apex vs subdomain mistake; CNAME at registrar not DNS; proxy/CDN settings (e.g. “DNS only” in Cloudflare). |
| **Candidates still see old domain** | Link copied before verification; cache; different posting default—re-copy **Share** link after **active**. |

### Next steps

* [Interview Branding](interview-branding) — Visual polish on the interview experience
* [Sender Domains](sender-domains) — Branded **email** sending (separate DNS from interview CNAME)
* [Outreach](.) — Templates, phone numbers, blasts

**Help:** [**support@heymilo.ai**](mailto:support@heymilo.ai) or in-app chat if DNS looks correct but verification never completes.
