Skip to main content
An app can have multiple custom domains. Each active domain serves the same production deployment as the app’s production embd.co hostname.

Add a domain

1

Register the hostname

Open the app under Hosting in the Embeddables dashboard and add the full hostname you want to serve, such as app.example.com.The domain starts in pending and does not serve traffic.
2

Complete DNS verification

Configure DNS for the hostname as directed by Embeddables. Keep the domain pending while Embeddables attaches and verifies the hostname with Cloudflare.
3

Wait for activation

Embeddables activates the domain after verification. The domain begins serving the app when its status is active.
The project needs a live publishable key before a custom domain can be activated.
Use listHostingDomains in the Admin SDK or hosting_list_domains in MCP to check the current pending, active, or failed status.

Allowed origins

Activation adds https://<hostname> to the project’s allowed origins when that exact origin is not already present. Moving the domain away from active, removing it, or deleting the app removes the origin only when Hosting added it. An origin that was already configured remains in place. Branch and commit preview origins on embd.co are added by deploys independently of custom domains.

Production and removal

An active custom domain follows the app’s production alias. A deploy from the production branch or a manual preview promotion changes what the domain serves. Removing a domain stops it from serving the app. This operation cannot be undone; add the hostname again if you need to reconnect it.