Flowcode 2 supports custom domains, giving your brand complete control over the URLs associated with your Flowcodes and FlowURLs. Your custom domain is what people see the moment they scan a Flowcode or click a FlowURL. It's what tells them they're still in a trusted, brand-owned experience, not a generic third-party link.
Setting up a custom domain takes action on two sides: your team configures records with your DNS provider, and a Flowcode Admin adds and validates the domain inside the platform. This guide walks through both, plus what to do if something isn't connecting the way you expect.
What You’ll Need Before You Start
To ensure a smooth and successful setup, please gather the necessary technical and administrative components outlined below before beginning the configuration process.
Access to your DNS provider for the domain (Cloudflare, GoDaddy, Route 53, Namecheap, etc.)
Flowcode organization Admin access: Only Admins can add, validate, or manage custom domains on the Flowcode platform.
A decision on your hostname: We recommend a subdomain of your existing domain (e.g., qr.example.com, used throughout this guide) rather than your root (apex) domain. If you really want to use your apex domain instead, get in touch with Flowcode Support first. Pointing your root domain (example.com) directly to Flowcode will typically replace your existing website there, unless you already have a separate front-door or proxy architecture in place.
Note: If your direct access to either system is limited, coordinating with your Flowcode CS point of contact, or whoever manages DNS/IT for your organization, is a fully supported approach. |
Order doesn't matter: It doesn't matter which side you set up first. You can configure your DNS record and then add the domain in Flowcode, or add the domain in Flowcode first and configure DNS after. Both paths land in the same place. Use whichever order fits your team's workflow. |
Important Notes
We recommend a subdomain for your custom domain setup (using a CNAME record). This minimizes potential conflicts with your main website. Before proceeding, review these call-outs:
CAA records (SSL): If your domain uses DNS CAA records, ensure they allow the certificate authority Flowcode uses for SSL issuance. If you're unsure, contact Flowcode Support for the correct CAA values.
Adding your domain in Flowcode: Enter only the hostname when adding your domain in Flowcode: e.g. qr.example.com, no https:// and no trailing dot (not qr.example.com.).
Record conflicts: A standard CNAME must be the only non-DNSSEC record at that hostname. At the apex (@), most providers don't allow a standard CNAME; use ALIAS/ANAME/flattening, or A/AAAA records instead.
Part 1: Set Up Your DNS Records
These steps use the example qr.example.com, where qr is the subdomain prefix and example.com is your registered domain. Substitute your brand's actual domain as you go.
Which type of record you add depends on whether you're pointing a subdomain or your apex/root domain at Flowcode:
Subdomain (recommended) → Add a CNAME record to whitelabel.flowsto.com. One record covers both IPv4 and IPv6, and it automatically follows any future IP changes on Flowcode's side. Continue with Steps 1-4 below. A/AAAA records also work for subdomains if you'd rather use those, see Part 2, Step 5 for the IP addresses.
Apex/root domain → Use the four A/AAAA records instead. An apex domain can't take a standard CNAME. Skip ahead to Part 2, Step 5 for the IP addresses, then come back to Step 3 below to clear out any conflicting records.
One or the other: Whichever method you choose for a subdomain, it's CNAME or A/AAAA, not both. A CNAME can't coexist with A/AAAA records at the same hostname. |
Note: If your domain is itself managed in Cloudflare, add these records as DNS only (grey cloud), not proxied (orange cloud). Proxying a record that already points at Cloudflare causes SSL/redirect-loop errors and failed validation.
Log in to your DNS provider and open DNS management for example.com.
Create a CNAME record with the following values:
- Type: CNAME
- Name/Host: qr (some providers accept/require qr.example.com; either is fine as long as the record created is for qr.example.com)
- Target/Value/Points to: whitelabel.flowsto.com
- TTL: Auto / DefaultRemove conflicting records, if they exist: delete any A/AAAA records for qr.example.com, and if a CNAME already exists there, replace it with the Flowcode target above.
Save your DNS changes.
Part 2: Add and Validate Your Domain in Flowcode
This is the platform-side half of setup: everything you'll do as a Flowcode Admin.
Log in to Flowcode and, as an Org Admin, go to Org Settings.
Click the Domains tab.
Click Create Domain.
Enter your hostname (e.g., qr.example.com). Hostname only, no https:// and no trailing dot. Then save.
Flowcode displays four addresses: two IPv4 and two IPv6. Add at least one IPv4 as an A record to go live. We recommend adding both IPv4 as A records and both IPv6 as AAAA records for full reach and redundancy. Copy this into your DNS provider per Part 1 if you haven't already. Once done, click Create.
Once your DNS record is live, return to the Domains tab, open the ellipsis (...) menu next to your domain, and select Validate.
Status moves to Active once Flowcode confirms the DNS record resolves correctly and SSL has been issued. This should take only a few minutes.
Propagation Expectations
DNS changes usually resolve within minutes, but can take up to 24-48 hours due to TTL and resolver caching. If you click Validate right after saving your DNS record and it doesn't pass immediately, that's often just propagation catching up, not necessarily a misconfiguration. Wait a bit and try again.
Success State
When setup is complete, your custom domain will meet the following criteria:
Validation: The custom domain status displays as Validated within your Flowcode settings.
Security: The domain loads securely over HTTPS, with no certificate warnings shown to end users.
Branding: When someone scans a Flowcode or clicks a FlowURL, the link begins with your custom domain (e.g., https://qr.example.com/).
Frequently Asked Questions
What do I do if my domain still shows pending once I click “Validate”?
Before contacting Flowcode, check the following:
Give it time. Propagation can take up to 24-48 hours.
Double check the DNS record matches exactly what Flowcode gave you (correct record type, no https://, no trailing dot).
Confirm there isn't a leftover A/AAAA or conflicting CNAME record at that same hostname.
Try Validate again.
I don’t have access to DNS for my company’s domain. What should I do?
If you're not the person who manages your organization's domain, loop in whoever manages IT/DNS internally. They don't need Flowcode platform access, just the record details from Part 1 of this guide.
Does it matter which of the four IP addresses I use?
The four addresses are two IPv4 (A records) and two IPv6 (AAAA records). They aren't interchangeable. Add at least one A record to work but we recommend adding both A and both AAAA records. Don't put an IPv6 address in an A record.
Does it matter whether I set up DNS or add the domain in Flowcode first?
No. The order doesn't matter. Some teams configure DNS first, others add the domain in Flowcode first. Either path gets you to the same result.
Why doesn't my old custom domain work anymore after I change it?
Each Flowcode's QR pattern is generated based on its destination, including the domain it points to. When you change the domain a code uses, the code's underlying data pattern changes too, so any version of that code that's already been downloaded or printed keeps resolving through the old path, not the new domain. That's why a domain change means creating net-new codes rather than editing existing ones in place.
I don't want to rebuild all my flows from scratch. Is there a faster way?
Yes. Duplicate your existing flows and update the domain on the duplicates, rather than rebuilding each one from zero. This keeps all your existing setup and configuration, and just swaps in the new domain on net-new codes.
I still don’t understand why it’s not working. Where can I find support?
There are a number of tools you can use to perform a DNS lookup. You can check to make sure your records are publicly available and correct. You can also use an AI assistant like Claude or ChatGPT to help troubleshoot. Share the link to this article for context, then describe what you're seeing. For example:
"Here's a help center article on setting up a custom domain in Flowcode: [link to this article]. I'm trying to figure out why my domain, [your domain], isn't working as a custom domain in Flowcode. Can you help me troubleshoot?"
Still Need Help?
Reach out to your dedicated Flowcode Support contact or Client Success Manager with your domain name and current status, and link them to this article for full context.




