Set up a custom domain for your help center
Map help.yourcompany.com to your Deskwoot help center, automatic SSL via Let's Encrypt. Enterprise only.
This guide walks you through pointing a domain you own (for example help.yourcompany.com) at your Deskwoot help center. No technical background needed, we explain every step plus what's happening behind the scenes. Total time: 5 minutes of setup, then 2 to 10 minutes of waiting. Available on the Enterprise plan.
What you're doing in plain words
Right now your help center lives at yourcompany.deskwoot.com. That's perfectly fine, but bigger companies usually want it on a subdomain of their own brand, like help.yourcompany.com or support.yourcompany.com. To make that work, you need to tell the global address book of the internet (DNS) that help.yourcompany.com should serve Deskwoot's help center content.
You do this by adding two small records at your domain registrar (Cloudflare, GoDaddy, Namecheap, Google Domains, etc.). One record points traffic to us. The other lets us automatically install a free SSL certificate so the page loads with the green padlock. That's it.
Before you start
- You must be an administrator on your Deskwoot account.
- You must be on the Enterprise plan. Lower plans see the same panel locked.
- You need access to your DNS provider. This is wherever you bought the domain (or wherever you moved its DNS to). Common ones: Cloudflare, GoDaddy, Namecheap, Route 53, Google Domains.
- Pick a subdomain, not the root domain. Subdomains like
help,support, ordocswork. The root domain (yourcompany.comby itself) does NOT work, we'll explain why later.
Step 1: Enter the domain in Deskwoot
- Open Help Center in the Deskwoot dashboard.
- Click the Settings tab in the right panel.
- Scroll to the Custom domain section.
- Type the full hostname you want (e.g.
help.acme.com) and click Register.
Deskwoot reserves the hostname on our edge layer and shows you two DNS records to add at your DNS provider. Both records have a Copy button next to them. The status badge flips to "Waiting for DNS".
Step 2: Add the two DNS records at your provider
You'll add two records. Both are CNAME records. A CNAME is just a "this name points to that other name" entry in DNS. Most providers have a simple form: pick the type (CNAME), enter a Name, enter a Value, save.
Record 1: the main CNAME (routes your visitors to Deskwoot)
- Type: CNAME
- Name / Host: the subdomain part of your hostname. If you registered
help.acme.com, this ishelp. Most providers auto-append the rest, but some want the full hostname (help.acme.com). Both work depending on your provider. - Value / Target / Points to: copy this from the Deskwoot dashboard. It looks like
xxxxx.up.railway.app. - TTL: leave at auto / default (usually 300 seconds = 5 minutes).
- Proxy / Cloudflare orange cloud: OFF (DNS only, see Cloudflare-specific notes below).
Record 2: the ACME challenge CNAME (lets us issue the SSL certificate)
- Type: CNAME (some providers also accept TXT, CNAME is preferred).
- Name / Host:
_acme-challenge.help(or_acme-challenge.help.acme.comdepending on provider, see the dashboard for the exact value). - Value / Target: the value Deskwoot shows next to the ACME row. Looks like
xxxxx.dns.railwaydns.net. - TTL: auto / default.
- Proxy / Cloudflare orange cloud: OFF.
Both records are required. If you only add the first one, the page won't load over HTTPS because the SSL certificate can't be issued without the ACME challenge record.
Step 3: Wait, then click "Check now"
DNS changes take time to propagate around the world. Typical propagation:
- Cloudflare: 1 to 2 minutes.
- Namecheap / GoDaddy / Google Domains: 5 to 15 minutes.
- Old or slow providers / high TTL: up to 24 hours (rare).
Once a few minutes have passed, go back to the Deskwoot dashboard and click Check now in the Custom domain panel. The status badge will update:
- Waiting for DNS: your CNAME records aren't visible yet from where Deskwoot is checking. Wait another minute or two.
- Issuing SSL certificate: DNS is good, Let's Encrypt is generating your certificate. Usually takes less than a minute.
- Live: your domain is serving traffic with HTTPS. You're done.
The Check now button has a 10-second cooldown so you don't accidentally spam it. DNS propagation is not faster just because you click more.
What happens behind the scenes
You don't need to know this to make it work, but for the curious:
- When you click Register, Deskwoot tells Railway (our hosting platform) to add your hostname to their routing table.
- Railway generates a pair of DNS targets: the main CNAME to route traffic, and a special ACME challenge CNAME that lets Let's Encrypt verify you control the domain.
- You add both records at your DNS provider.
- Railway's background DNS watcher polls the records every few seconds.
- As soon as both records are visible globally, Railway automatically asks Let's Encrypt for a free SSL certificate via the ACME protocol.
- Let's Encrypt validates the challenge (it confirms your
_acme-challenge.<domain>CNAME points where we said it would), issues the certificate, and Railway installs it on the edge. - Your domain now serves HTTPS traffic. The certificate auto-renews every 60 to 90 days; you never need to touch it.
Cost: $0. Let's Encrypt certificates are free, Railway provisions them for us at no extra charge, and Deskwoot includes custom domains in the Enterprise plan with no fee per domain.
Provider-specific notes
Cloudflare
- The most common mistake: leaving the orange cloud (proxy) ON. Cloudflare's proxy terminates the request before it reaches Railway, which breaks both the main CNAME and the ACME challenge. Click the orange cloud to switch it to a grey cloud (DNS only) on BOTH records.
- If you use Cloudflare's Universal SSL, it might warn about a conflict. Ignore the warning, the cert we install at Deskwoot's edge is what your visitors see.
- Propagation on Cloudflare is fast: usually 60 to 90 seconds.
GoDaddy
- In the DNS Management page, use the "Add" button, then CNAME.
- For the ACME record, the Host field accepts the full
_acme-challenge.helpformat. - GoDaddy strips trailing dots from the Value field, that's expected.
Namecheap
- Go to Domain List, then Manage, then Advanced DNS.
- Add New Record, then CNAME Record.
- For the Host field, "help" auto-appends
.yourcompany.com.
Google Domains / Squarespace Domains
- Google migrated most domain customers to Squarespace in 2024. Either platform has the same CNAME flow.
- Look for "DNS", then "Manage custom records", then Add, then CNAME.
AWS Route 53
- Open the hosted zone for your domain, then Create record, then CNAME.
- Use the full hostname in the Name field. Route 53 does not auto-append.
Why the root domain doesn't work
You can't use yourcompany.com by itself (with no subdomain) because the DNS standard doesn't allow CNAME records at the "root" of a domain. This is called the "apex" or "naked" domain.
If you really want the help center at your root domain, you have two options:
- Use a subdomain (recommended):
help.yourcompany.com,support.yourcompany.com,docs.yourcompany.com. - Use your DNS provider's "ALIAS" or "ANAME" feature if they support it (Cloudflare's CNAME Flattening, Route 53 alias records, DNSimple ALIAS). These are vendor-specific workarounds and not formally supported.
Troubleshooting
Stuck at "Waiting for DNS"
- Did you add BOTH records? One won't work. You need the main CNAME and the
_acme-challengeCNAME. - Did you copy the exact Value from Deskwoot? Even a small typo (extra character, missing dot) breaks the lookup.
- Did you turn off the Cloudflare proxy? Orange cloud means "proxied" and breaks the challenge. Grey cloud is correct.
- Is there a conflicting A record? If you previously had
help.yourcompany.compointing somewhere else with an A record, delete it. A CNAME can't coexist with other records on the same name. - Check the records with an external tool: run
dig CNAME help.yourcompany.comin a terminal, or use a web-based DNS lookup tool. You should see the Railway target. If you don't, the record isn't propagated yet.
Stuck at "Issuing SSL certificate" longer than 2 minutes
- Most common cause: the
_acme-challengeCNAME is missing, pointing to the wrong target, or also proxied through Cloudflare. - Verify it specifically:
dig CNAME _acme-challenge.help.yourcompany.comshould return therailwaydns.nettarget. - Some DNS providers strip the underscore prefix or transform it. If your provider doesn't accept names starting with
_, switch providers for this domain or contact us, we can help work around it.
The domain shows "Live" but the page shows a security warning in the browser
- Hard refresh the page (
Cmd+Shift+Ron Mac,Ctrl+Shift+Ron Windows). Browsers cache SSL certificates aggressively. - Wait 1 to 2 minutes. Sometimes the cert is issued but not yet installed on every edge node.
- Try an incognito / private window.
I want to use a different domain, how do I change it?
- Click Remove in the Custom domain panel. This unregisters the hostname on Railway and clears the DNS values from Deskwoot.
- Delete the old CNAME records at your DNS provider (optional, but tidier).
- Register the new hostname and add its DNS records.
Frequently asked questions
Is there a cost for the custom domain or the SSL?
No. Both are included in the Enterprise plan at no extra fee. The SSL certificate is issued by Let's Encrypt (free) and Railway installs it for us (free for our use case). You only pay your DNS provider for the domain registration itself, which is unrelated to Deskwoot.
What about renewals?
Let's Encrypt certificates last 90 days. Railway automatically renews them before they expire, typically every 60 days. You never have to touch this.
Can I use multiple custom domains for the same help center?
Not today, one custom domain per help center portal. If you want multiple branded portals, create a separate portal per brand and register a separate domain for each.
Does the deskwoot.com URL stop working when I add a custom domain?
No. Both URLs serve the same help center in parallel. You can choose which one to share with customers; the other keeps working as a fallback.
Can I still customize the help center after going live on a custom domain?
Yes, everything in Help Center settings (categories, articles, design, branding, white-label) keeps working exactly the same. The custom domain just changes where the page is served from.
What if my domain expires or I move it to another provider?
If your domain expires or DNS records get deleted, visitors will see a "this site can't be reached" error from their browser. The <slug>.deskwoot.com URL keeps working in parallel. Re-add the CNAME records (or transfer DNS back) to restore the custom domain.