> For the complete documentation index, see [llms.txt](https://docs.codewords.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.codewords.ai/website-builder/features/custom-domain.md).

# Custom Domain

Use a custom domain so your app is available at something like <mark style="color:blue;">app.yourbrand.com</mark> instead of only <mark style="color:blue;">\*.codewords.run</mark>.

{% hint style="info" %}
Custom domains are a **paid feature**. You need an active **Pro**, **Business**, or **custom** plan to connect one. If you are on the Free plan, [subscribe to a CodeWords plan](https://codewords.agemo.ai/account/wallet) first. See [Plans and Pricing](https://github.com/agemoai/cw-docs/blob/main/Intro/pricing.md) for details.
{% endhint %}

#### Before you start

To add a custom domain you need:

* An active **Pro**, **Business**, or **custom** plan.
* A published UI project. Finish building and testing in preview, then use the **Publish** button to go live on your default <mark style="color:blue;">\*.codewords.run</mark> URL. See [Publishing](/website-builder/get-started/publishing.md) for the full publish flow.

Once you are on a paid plan and the project is published, you can add a custom domain from the UI.

#### Connect your domain

**1. Add your domain**

Click **Add custom domain** and enter the domain you already own (for example <mark style="color:blue;">app.mycompany.com</mark> or <mark style="color:blue;">mycompany.com</mark>).

**2. Copy the DNS record**

CodeWords shows the DNS record you need to add. Keep this screen open—you will paste the same values at your domain provider.

**3. Add the record at your domain provider**

Go to the provider where you bought your domain (for example GoDaddy, Namecheap, or Cloudflare), open DNS settings for that domain, and add the record exactly as shown in CodeWords.

**4. Verify**

Back in CodeWords, click **Verify**. When verification succeeds, your app is live on your custom domain.

DNS propagation can take a few minutes, and in some cases up to **48 hours**. If verification fails at first, wait and try again.

#### Typical DNS records

Your provider’s labels may differ slightly, but the record types are usually:

For a **subdomain** (for example <mark style="color:blue;">app.mycompany.com</mark>):

* Type: `CNAME`
* Name: `app`
* Value: `cname.vercel-dns.com` (or the value CodeWords shows in the UI)

For a **root domain** (for example <mark style="color:blue;">mycompany.com</mark>):

* Type: `A`
* Name: `@`
* Value: use the exact value shown in CodeWords for your project

Always use the record values shown in the **Add custom domain** flow for your app—they override any generic examples if they differ.

#### Automatic SSL / HTTPS

SSL is provisioned automatically once your custom domain is verified and connected. Traffic is encrypted by default. There is nothing extra to configure.

#### Troubleshooting

* **Verify failed or domain not live yet** — DNS may still be propagating. Wait a few minutes and verify again; some providers take up to 48 hours.
* **Wrong record at your provider** — Double-check type, name, and value match what CodeWords displayed before you clicked Verify.
* **Still on** <mark style="color:blue;">\*.codewords.run</mark> **only** — Confirm the project is published and verification completed successfully in the custom domain UI.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.codewords.ai/website-builder/features/custom-domain.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
