Custom domains
This guide covers managing custom domains in the portal: requesting one, adding the DNS record, tracking the review, and deleting or restoring domains. What domains are and why verification runs through the OptoLink team is explained in Domains: default vs custom.
Requesting and deleting need the Developer role or above; viewers and analysts get a read-only list (no card menus, no request button). Custom domains are available from the Solo plan up. See Plans, quotas & entitlements and Team & roles.
Open the page
Custom domains in the sidebar. The entry is always visible; what you can do on the page depends on your plan and role.
Read the list
The page anchors on the platform default card: a dashed-border card with the shared OptoLink hostname, a "Platform default — included on every plan" badge, and the URL shape it gives every link ({default-domain}/{org-key}/abc123). It has no actions and no quota cost.
Each custom domain you request is a card below it with a status badge:
| Badge | Card copy |
|---|---|
| Requested | Waiting for admin review. Configure your CNAME record while you wait. |
| Approved | Deployment in progress — we're setting up your domain on our edge. You'll be notified when it's verified. |
| Verified | A Verified / {date} row. |
| Rejected | Rejected: {reason}, red badge. |
| Removing | Removing in {N}d — links keep resolving until then. |
The list refreshes every 30 seconds, so review decisions show up without a reload. There is no email notification; this page is where you watch.
Request a domain
- Click Request your first custom domain (empty list) or the header request button.
- Type the hostname into Domain name. Use a subdomain you control, like
links.example.com. Bad input is flagged inline:Domain is requiredorInvalid domain name. - Submit. A
Domain request submitted for review.toast confirms it, and the page swaps to a submitted card showing{domain} is pending admin review, a What happens next explainer, and the DNS panel.
Add the CNAME record
The DNS panel on the submitted card shows both values:
| Field | Value |
|---|---|
| Host / Name | Your domain, e.g. links.example.com |
| Value / Target | The OptoLink target shown in the panel |
Add that CNAME record at your DNS provider while the request is in review. The panel's propagation note: DNS changes can take up to 24 hours to propagate, but usually complete within minutes. Adding the record doesn't change the status; the OptoLink team verifies and deploys the domain.
Delete or restore
Delete on a card depends on whether the domain is live:
- Verified: the dialog warns
Links on it keep resolving for a 30-day grace window, then the domain is permanently removed. You can cancel the removal any time during the window.The card moves to Removing with the toastDomain removal scheduled (30-day grace). - Requested, Approved, or Rejected: the dialog reads
This domain is not live yet, so it will be deleted immediately.The toast reads{domain} deleted.
A Removing card has one menu action, Cancel Removal. The toast {domain} restored to verified confirms it, and the domain is Verified again.
A Rejected card has Delete and Re-request. Re-requesting sends the domain back into the review queue ({domain} re-submitted for review).
A Removing domain still resolves but has freed its plan slot, so you can request a replacement before the old domain is gone.
Limits
| Plan | Custom domains |
|---|---|
| Starter | Not included |
| Solo | 3 |
| Growth | 5 |
| Scale | 25 |
| Enterprise | No cap |
At the quota limit, requesting shows the prompt You've reached your custom domains limit. Upgrade your plan to add more custom domains. Its button opens the plans page; see Billing & subscription.
If your plan doesn't include custom domains at all, the request form is replaced by the prompt Custom domains available on paid plans with an upgrade button.
Use a verified domain
Only Verified domains can be attached to links. Pick one while creating a link or when moving links; domains still in review don't appear in the selector. The platform default is always available.
Troubleshooting
| What you see | Why | What to do |
|---|---|---|
You don't have permission to request custom domains banner, no form | Your role is below Developer. | Ask a developer, admin, or owner. See Team & roles. |
Custom domains available on paid plans prompt instead of the form | Your plan doesn't include custom domains. | Upgrade from the prompt's button. |
You've reached your custom domains limit… prompt | The quota is full. | Delete an unused domain (a Removing one already freed its slot), or upgrade. |
Rejected: … on a card | The review found a problem; the reason is on the card. | Fix it, then use Re-request. |
| Status stuck on Requested | The review queue is manual. | Wait; the list updates itself every 30 seconds. |
| Red error banner instead of the list | The fetch failed. | Click Retry. |