Use your own domain for a hosted chat
Serve the hosted chat at chat.yourcompany.com instead of a WelcomeAI address. Two DNS records.
What it does
A hosted chat page normally lives at a WelcomeAI address. With a custom domain it lives at yours -- chat.yourcompany.com, ask.yourcompany.com, whatever you like -- and nothing on the page says otherwise. Same chat, same knowledge base, your address.
What you need
- A widget with a hosted page. Full page widgets always have one; the address is shown on the Install tab as Share link.
- The Business plan.
- Access to the DNS of the domain you want to use. Not the website, the DNS: the panel where you add records at your registrar, or at Cloudflare, or wherever your domain is managed.
- A subdomain, ideally. See Apex domains below for the exception.
- Two records, both in the same DNS panel, in one sitting.
We never ask for your DNS credentials and never touch your zone. You create two records; that is the whole of your side.
Setting it up
- Open the widget, go to Install, find Custom domain.
- Type the hostname you want --
chat.yourcompany.com-- and press Save. Nothing is reserved and nothing is registered yet; the status says Waiting for DNS, which is the truth. - The panel shows two records. Create both in your DNS, in one visit.
- Press Check. When both have travelled, the status becomes Live, the address becomes a link, and Share link at the top of the tab switches to your domain.
The certificate is issued automatically. There is nothing to buy, generate or upload, and nothing to renew.
The two records
Step 1 proves the domain is yours. A TXT record carrying a value that belongs to your widget and to nothing else:
Step 2 points the hostname at us. For a subdomain, one CNAME:
The panel prints your exact values, and those are the ones to trust: they can differ from any example, including this one.
Why two
Because the second one cannot say whose the domain is. Every customer's CNAME points at the same address, so a hostname pointed at us proves that somebody who controls that DNS wants it here -- not which account it belongs to. The TXT value is unique to your widget, so publishing it is a statement about your workspace and nobody else's.
Until that record is found, typing a hostname reserves nothing: anyone can type any name, and only the workspace that publishes the token gets it. That is deliberate, and it is what stops somebody claiming a name that is not theirs.
You can delete the TXT record once the domain is live. Leaving it costs nothing and makes reconnecting later instant.
Turn the proxy off
If your DNS is at Cloudflare, the record must be DNS only -- the grey cloud, not the orange one. Other providers call the same thing a proxy, a CDN, or web forwarding.
This is the single most common reason a setup does not finish. With the proxy on, your domain resolves to your CDN instead of to us, we never see the request, the check keeps saying Waiting for DNS, and if it does connect you get a certificate error. Grey cloud, always.
How long it takes
Usually a couple of minutes. It depends on the TTL of the record you replaced -- if a record already existed on that name with a one-hour TTL, the old answer can be cached for up to an hour.
Nothing is lost while you wait. Press Check again whenever you like; opening the Install tab also re-checks once on its own.
Apex domains
An apex -- yourcompany.com with nothing in front -- cannot be a CNAME. That is a rule of DNS, not ours. For an apex the panel shows A records instead, and you create those.
Some providers offer ALIAS or ANAME, which behaves like a CNAME at the apex. If yours does, point it at cname.welcomeai.dev and you get the same benefit.
In practice most people use a subdomain, because an apex is usually already serving the main website.
When it does not work
dig chat.yourcompany.com and dig TXT _welcomeai.chat.yourcompany.com from a terminal, or any online DNS lookup, tell you what the world currently sees. That is the fastest way to separate "the record is wrong" from "the record has not travelled yet".
What happens to the old address
It keeps working. The WelcomeAI address is still there and still answers, and the Install tab names it underneath your domain. Links you already shared do not break.
Removing it
Remove on the Custom domain card. The chat stops answering on that hostname immediately and the WelcomeAI address goes back to being the one on Share link. Delete the DNS record afterwards at your leisure -- leaving it costs nothing, but a record pointing at a service you no longer use is worth tidying.
What we can and cannot see
We see the hostname you typed and whether it resolves to us. We do not see your DNS credentials, your other records, or anything else in your zone -- there is no integration with your DNS provider, and there is nothing to authorise. You make the change; we only look at the public answer.