Custom Domain
Serve ioX-Pulse from your own hostname (for example iot.yourco.com) instead of pulseportal.ioxapp.net. End users see your brand in the address bar and in their TLS certificate; there's no visible mention of ioX-Connect.
Custom domains are an add-on. If you don't see White Label under Administration, your platform tier doesn't include white-label. Contact ioX-Connect to enable it.
What you'll need
- A subdomain of a domain you control (e.g.
iot.yourco.com,portal.yourco.com). The naked/apex domain (yourco.comby itself) is not supported; see Limitations below. - Access to your domain's DNS provider (GoDaddy, Cloudflare, Route 53, Namecheap, your IT team, whoever can add CNAME and TXT records).
- About 30 minutes, most of which is waiting for a TLS certificate to provision.
Step 1: Enter your hostname
- Open Administration → White Label and pick the Domain tab.
- Type your subdomain into Hostname (e.g.
iot.yourco.com). - Click Save hostname.
The card will refresh and show the two DNS records you need to add. Leave the page open in another tab; you'll come back here after the DNS step.
Must be a subdomain, not the bare domain. If you type yourco.com directly the field will reject it with a hint, because TLS certificates can't be issued for naked domains (DNS standards don't allow a CNAME at the apex). Use portal.yourco.com, iot.yourco.com, www.yourco.com, or similar.
Step 2: Add the DNS records
At your DNS provider, add both of the records shown on the activation card. Either record on its own is enough to prove domain ownership, but adding both lets activation complete fastest.
| Type | Name | Value | TTL |
|---|---|---|---|
CNAME | the hostname (e.g. iot) | the platform host (shown in the card, e.g. pulseportal.ioxapp.net) | provider default |
TXT | asuid. + your hostname | a verification ID (shown in the card) | provider default |
The provider default TTL is fine; you don't need to change it. If you want fixes to propagate faster during initial setup (in case you mistype a record and need to correct it), pick the shortest TTL your provider allows and raise it once the hostname is Live. Provider minimums vary widely; some allow 30 seconds, others enforce a 30-minute or 1-hour floor. Cloudflare-style "Auto" is also fine.
DNS providers usually want the record Name as the subdomain part only (just iot, not iot.yourco.com). Check your provider's help text; most show a live preview of the full hostname they'll create.
DNS propagation is usually a minute or two but can take up to an hour. You can move on to Step 3 immediately; the TXT record is checked instantly even before CNAME propagates.
Step 3: Activate
Back in the Custom domain card, click Verify & Activate. What happens next:
- DNS proof: the platform checks for either DNS record. If neither is found yet, you'll see a warning telling you exactly what's missing.
- Binding: your hostname is registered with the platform. This is fast (a few seconds).
- Certificate provisioning: a free TLS certificate is issued for your hostname. This takes 5 to 30 minutes. You can close the page; we'll keep working on it. When you come back to the Domain tab the status will be up to date.
- Live: once the certificate attaches, navigating to
https://<your-hostname>loads your branded ioX-Pulse with a validhttps://lock icon.
While the certificate is provisioning, the card shows Provisioning cert and auto-refreshes every 10 seconds.
You don't have to sit on this page. When the certificate is issued and the hostname goes live, every active Partner Admin in your workspace gets an email with a link to the new URL. So you can close the tab, get coffee, come back when the email arrives.
Verifying it works
Once the card shows Live:
- Open
https://<your-hostname>(e.g.https://iot.yourco.com) in a new tab. - You should see your branded sign-in page with your logo, colors, and app name. The browser address bar should show your hostname with a closed padlock.
- Sign in. You should land in the same workspace you were already in.
If the page doesn't load or shows a certificate warning, check the Troubleshooting section.
Changing or removing the hostname
To change your custom domain: edit the Hostname field, click Save hostname, then go through Steps 2 and 3 again with the new DNS records. The previous hostname is unbound from the platform automatically in the background. Note that the Hostname field is locked while activation is in flight; use Cancel provisioning first if you need to change it mid-flight.
To cancel an in-flight activation without losing your hostname: click Cancel provisioning in the activation card. The hostname stays saved so you can re-activate when you're ready (for example, after fixing a DNS issue). Any pending certificate is cleaned up on the platform.
To remove the custom domain entirely: click the Remove custom domain button in the activation card. You'll be asked to confirm; once removed, the hostname is unbound and its TLS certificate is deleted from the platform. Traffic to https://<your-hostname> will stop working immediately and users will fall back to the platform URL. You can re-add the same hostname later to reverse this.
Removing a custom domain is not silent; users on the old URL will get connection errors until DNS TTLs expire and their browsers re-resolve. Don't remove a production hostname unless you're sure no one is actively using it, or you've migrated your DNS first.
Limitations
- Subdomains only. Apex domains (
yourco.comby itself) aren't supported because the underlying certificate authority can't issue managed certificates for them via CNAME validation. Usewww.yourco.comoriot.yourco.cominstead. - One hostname per workspace. If you need multiple custom domains (e.g. one per region), contact ioX-Connect.
- Subdomain redelegation isn't supported in v1. If you want your customers to each get their own custom domain (e.g.
acme.iot.yourco.com,globex.iot.yourco.com), let us know; it's on the roadmap.
Troubleshooting
"DNS not aligned yet" after clicking Verify & Activate
The platform couldn't find either the CNAME or TXT record. Common causes:
- The record hasn't propagated yet. Wait a few minutes and try again.
- The record was created at the wrong name. Many DNS providers auto-append your domain; if you entered
iot.yourco.com.yourco.com, that's the issue. Edit the record to justiot(or whatever your subdomain prefix is). - The TXT record value contains hidden whitespace or got truncated. Re-paste the value from the activation card exactly.
You can verify the records resolved correctly using any DNS lookup tool:
dig CNAME iot.yourco.com
dig TXT asuid.iot.yourco.com
"Certificate provisioning was refused"
Most common causes:
- You tried to use a naked/apex domain. Switch to a subdomain.
- The CNAME points somewhere other than the platform host shown on the activation card. Re-check the value.
- A previous certificate for the same hostname is still being cleaned up. Wait 10 minutes and click Retry activation.
If it keeps failing, contact ioX-Connect support with the exact hostname and the error message from the activation card.
Browser shows a certificate warning
The cert is still provisioning, or it provisioned but hasn't attached yet. Wait up to 30 minutes. If the card already shows Live but the browser still warns, hard-refresh (Cmd+Shift+R / Ctrl+Shift+F5); your browser may have cached the old (or no) certificate.
"This site can't be reached"
DNS hasn't propagated to your machine yet. Try:
- A different network (e.g. tether to your phone) to rule out a local DNS cache.
dig CNAME iot.yourco.com @1.1.1.1to query Cloudflare's resolver directly.
Propagation usually takes minutes but can take up to an hour for some TLDs.