Custom domains
Bring your own domain like crm.acme.com for a white-labeled workspace URL.
By default, your workspace is at <your-slug>.apexium.team. Custom domains let you serve the same workspace at your own URL — crm.acme.com, app.your-brand.com, anything you control.
Why use a custom domain
- Brand consistency — your customers + team see your brand in the URL, not Apexium's.
- Trust — customers tend to trust links that match your established domain.
- Email links — broadcast emails carry your domain in unsubscribe + tracking links (improves deliverability + open rates).
- SSO routing — custom domains can serve as a per-tenant SSO routing target.
Custom domains are optional. The default <slug>.apexium.team works indefinitely; many workspaces never bother. Set this up when your brand polish is a priority.
DNS configuration
You'll need access to your domain's DNS provider (Cloudflare, Route53, GoDaddy, Namecheap, etc.).
Head to Settings → Domains → Add a custom domain. Enter the domain you want to use (e.g. crm.acme.com).
Apexium gives you ONE DNS record to add:
| Type | Name | Value |
|-------|-------|----------------------------------|
| CNAME | crm | cname.vercel-dns.com. |
(Exact value will be shown in the UI; Vercel handles the underlying SSL certificate provisioning.)
Apex domains (no subdomain)
If you want the apex (e.g. acme.com instead of crm.acme.com), you need an A record instead of CNAME:
| Type | Name | Value | |------|------|----------------| | A | @ | 76.76.21.21 |
Apex domains have limitations: you can't have a CNAME at the apex, so the DNS shape is different. Lean: use a subdomain (crm. or app.) — fewer footguns.
Verification
After you add the DNS record, click Verify on the domain row. Apexium checks DNS propagation:
- Verified — record found + Vercel issues an SSL cert (usually within 60 seconds). Domain goes live; HTTPS works automatically.
- Pending — DNS propagation in progress (can take 5-60 minutes depending on your DNS provider's TTL).
- Misconfigured — DNS record doesn't match what we expect. Check the CNAME value matches the displayed instructions exactly (trailing dot matters).
- Rate limited — Vercel temporarily rate-limited your project. Retry in 15 minutes; the UI shows the retry-after time.
The verification job re-runs automatically every few hours for pending domains. You can also force a manual re-check from the domain row.
Troubleshooting
"DNS record not found" — check your DNS provider's panel; confirm the CNAME exists + has propagated (try dig crm.acme.com CNAME from your terminal). Different DNS providers have different propagation times.
"SSL certificate failed" — Vercel auto-provisions Let's Encrypt certs. Failures usually mean the CNAME is correct but DNS hasn't fully propagated yet, OR your domain has a CAA record blocking Let's Encrypt. Add 0 issue "letsencrypt.org" as a CAA record if you have strict CAA.
"Domain conflicts with another workspace" — every custom domain is globally unique. If the domain is already claimed by another workspace, it can't be added until released.
"Verified but app doesn't load" — browser cache. Hard-refresh (Ctrl+Shift+R) or test in a private window.
Removing a custom domain
To remove a custom domain: Settings → Domains → [domain] → Remove. Workspace reverts to <slug>.apexium.team immediately. Your DNS record stays in your provider's panel (delete it manually if you want a clean slate).
Removing the domain releases it for other workspaces to claim. If you re-add it later, you'll need to verify again.
What to do next
- If you're also setting up white-label email branding, head to Settings → White label to set your FROM identity (getting started → sending channel).
- For SSO routing to specific tenants by domain, see your enterprise admin contact (per-tenant SAML/OIDC config is enterprise-tier).