https://<worker-name>.<your-subdomain>.workers.dev. You can serve it from your own hostname instead, such as support.example.com.
Add the domain
The domain’s zone must be on Cloudflare. Pick one of these:- Cloudflare dashboard
- wrangler.jsonc
- Open Workers & Pages and select your desk’s Worker (
jun-deskby default). - Go to Settings → Domains & Routes and press Add.
- Choose Custom domain, enter the hostname (for example
support.example.com) and confirm.
/api, /widget, /widget.js and the dashboard all live at the root).
The workers.dev address keeps working unless you turn it off in the same Domains & Routes panel.
What changes on the new hostname
Passkeys and sign-in
The desk uses the hostname of the page you’re on as the passkey’s relying party, and sign-in sessions are cookies for that hostname. On the new hostname:- The owner opens
https://support.example.com/recover, enters the setup token and presses Add a new passkey. That signs them in on the new hostname. See First sign-in. - Teammates can’t sign in with their old passkeys, and the setup token only recovers the owner. The owner removes each one in Settings → Team and sends a new invite from the new hostname. An invite can’t reuse an email that already has an account, which is why the old account has to go first.
workers.dev address stays on.
The widget snippet
Update the snippet on your site to load the loader from the new hostname:Other things to redo
- Notifications: each teammate turns them on again on the new hostname (Settings → Notifications). Browser push belongs to the site that asked for it.
- The
junCLI: runnpm run jun -- login https://support.example.comagain. See CLI. - Invite links carry the hostname they were created on. Create new ones on the new hostname.
What carries over
Everything in your database, bucket and Durable Objects: conversations, contacts, knowledge, agent config, settings, the widget key, issue tracker keys and action keys. A ChatGPT sign-in carries over too. If you sign in again later, a deployed desk always uses the paste-back flow: the sign-in ends on ahttp://127.0.0.1:1455/auth/callback?… page that doesn’t load, and you paste its address into the desk. ChatGPT sign-in is only for a private desk you use yourself, per OpenAI’s terms. See Models.
Install the widget
Snippet options and allowed websites.
Team
Invites, roles and removing people.