Custom domains — using your own domain name
Point your own custom domain (e.g. troop36.org) at your troop so the web and email work under that name.
Your troop has a subdomain on mytroop.org (like geneva36.mytroop.org). If your troop already owns a domain, you can set it up as an alias so members visit and email your troop under the name you already use.
We don't register or host DNS for your domain — you'll set the DNS records with whatever registrar/host you use. We do accept incoming web and email traffic on the domain and route it to your troop.
Adding a domain
- Go to Admin > Custom Domains.
- Enter your domain (for example
troop36.org) and click Submit. - Wait a few seconds for the records to populate. The first three rows (A, TXT, CNAME) say "Provisioning…" while we register the domain with our hosting provider — when they fill in with real values you're ready to set up DNS.
- Click Show DNS on the new row. Add each record to your domain's DNS host exactly as shown — A, TXT, CNAME, MX.
- Once DNS has propagated (usually a few minutes, up to a couple hours), click Verify. When both web and email are verified, the status flips to Active.
About the Host column
Most DNS providers have separate fields for "name" / "host" and the domain itself. The Host column shows the full hostname — but for the part you copy into your provider, only the prefix matters. The apex (your domain) is implicit. We highlight the copyable part in the UI:
- For records on the apex itself (just
troop36.org), use@(or leave the host blank — most providers treat them the same). - For prefixed records (like
_amazonses.troop36.orgor_acme-challenge_xxx.troop36.org), enter just the prefix (_amazonses,_acme-challenge_xxx).
Common DNS providers
The exact wording varies, but the workflow is the same: open your domain's DNS records page, add each row from the table, save. Examples for the providers troops use most often:
GoDaddy
- Sign in at godaddy.com, go to My Products > Domains, find your domain, and click DNS.
- Click Add New Record for each row. The "Type" matches our table; for "Name" enter the prefix (or
@for the apex); paste our value into the "Value" / "Data" field. - GoDaddy adds a 1-hour TTL by default — that's fine. Save.
- GoDaddy doesn't let you set a TXT and a CNAME on the exact same name; if you see a conflict, double-check that the TXT host is the apex (
@) and the CNAME host is the long_acme-challenge_*prefix.
Cloudflare
- Sign in at cloudflare.com, pick the domain, then DNS > Records > Add record.
- Cloudflare's "Name" field auto-appends your domain — so type the prefix (or
@). - Important: turn the orange proxy cloud off (DNS only) for the A record. Cloudflare's proxy will break the App Hosting cert if it's on.
- Save each record.
Namecheap
- Sign in at namecheap.com, go to Domain List > Manage > Advanced DNS.
- Click Add New Record for each row. "Host" takes the prefix (or
@); "Value" takes our value. - For the MX record, set "Priority" to
10. - Save (Namecheap has a green checkmark you have to click per row).
Squarespace Domains (formerly Google Domains)
- Sign in at account.squarespace.com, pick your domain, then DNS > Custom Records.
- Add each record. The "Host" field takes the prefix or
@. For values containing=or+(the SES TXT and SPF records), Squarespace requires you to wrap the value in quotes — e.g."v=spf1 include:amazonses.com ~all".
If your provider isn't listed, the fundamentals are the same: find the page that shows your DNS records, add one row per row in our table using the type, host, and value.
Verification
After DNS is set, click Verify. There are two checks:
- Web: Firebase App Hosting confirms the A and TXT records, then issues a TLS certificate (uses the CNAME).
- Email: AWS SES confirms its TXT record. Once verified, your custom domain is added to our inbound mail rule.
If verification stays pending, give DNS another 10–30 minutes — propagation is sometimes slow. Tools like dnschecker.org can confirm a record is visible globally.
Primary domain
When you have more than one domain registered, one of them is the Primary. We use the primary domain when we generate links to your troop (in emails, calendar feeds, shared URLs). Aliases still work — they just aren't the preferred link target.
Click Set as primary on an active domain to promote it. The previous primary is demoted automatically.
Multiple domains
You can add more than one domain. That's handy when your troop is transitioning from one domain to another — both work at the same time, so no links break while you move members over.
Removing a domain
Click Remove on a domain's row. Web and email will stop working on that domain immediately. If you remove the primary and another active domain remains, we promote one of them automatically.
Inbound email on your custom domain routes to the same mailing lists as your mytroop.org subdomain. all@troop36.org and all@geneva36.mytroop.org both reach the same list.
Outbound email (digests, password resets, list broadcasts) is sent from your custom domain once it's the primary and DKIM is verified. Before DKIM is verified, outbound stays on noreply@{slug}.mytroop.org so mail doesn't fail DMARC checks at the receiver.
DKIM setup (required before outbound uses your domain)
Your DNS table includes three CNAME rows that look like abc123xyz._domainkey.troop36.org → abc123xyz.dkim.amazonses.com. These are AWS SES's DKIM signing records — add all three at your DNS provider along with the rest. Once DNS propagates and SES confirms the signatures, the troop's outbound email automatically switches to send as your domain (From, Reply-To, unsubscribe mailto). Until then, Verify reports that DKIM is still pending.