Skip to content
NewSee how

Add SPF, DKIM & DMARC on GoDaddy, Namecheap, Cloudflare & Route 53

The DNS records FirstSales gives you are the same everywhere. Only the registrar's UI differs. Cloudflare is one-click; here's where the TXT/CNAME fields live on each of the big four.

  1. The records are the same everywhere

    Start in FirstSales: Mailbox → Email Authentication. It shows your SPF (TXT), DKIM (TXT/CNAME, one or more selectors like mail._domainkey), and DMARC (TXT) records, each with a host and a value. Copy these — they’re what you paste into any registrar. Don’t copy values from anywhere else; they’re generated per domain.

    The records are the same everywhere
  2. Understand host vs. value

    Every record has a type (TXT or CNAME), a host/name (@ for the root domain, or a subdomain like _dmarc or mail._domainkey), and a value. Registrars label these differently — Name/Host, Value/Content/Points-to — but they mean the same two fields.

  3. Cloudflare — one-click

    If your domain is on Cloudflare, FirstSales detects it and offers a one-click modal: paste a scoped Zone › DNS › Edit token and it writes SPF/DKIM/DMARC for you. It’s the fastest path, and the token is single-use — never stored or logged. See Cloudflare one-click DNS.

  4. Cloudflare — manual (if you prefer)

    DNS → Records → Add record: set Type, Name (host), and Content (value). Leave the proxy set to DNS-only (grey cloud) for mail records — proxying breaks them.

  5. GoDaddy

    Domain → DNS → Manage Zones/Records → Add. Map: Type = TXT/CNAME, Name = the host (use @ for root), Value = the FirstSales value. Save, and give it time to propagate.

  6. Namecheap

    Domain List → Manage → Advanced DNS → Add New Record. Map: Type, Host = the host (@ for root), Value. Save.

  7. AWS Route 53

    Hosted zones → your zone → Create record. Record name = host, Record type = TXT/CNAME, Value = the FirstSales value (wrap TXT values in quotes, as Route 53 expects). Save.

  8. Add the tracking-domain CNAME, then verify

    Add the one tracking-domain CNAME the same way, then return to FirstSales and re-check: statuses move from pending → CNAME OK → SSL OK → Verified, and the auth checks flip to green. Propagation can take minutes to hours — don’t re-add records while you wait.

Pro tips

  • Always copy from your own screen

    Copy the records from your Email Authentication screen: never from a tutorial. The DKIM selector and values are generated per domain and are unique to you.

  • Keep mail records DNS-only on Cloudflare

    Proxying (orange cloud) breaks SPF, DKIM, DMARC, and tracking CNAMEs. Keep them set to DNS-only (grey cloud).

  • Different words, same two fields

    Host/Name/Points-to/Content are just registrar-specific labels for the same host and value FirstSales shows you.

  • Don’t panic on Pending

    DNS propagation takes minutes to hours after saving. Re-check the status ladder instead of re-adding records.

Frequently asked questions

Why do I need SPF, DKIM, and DMARC at all?

Without them, mailbox providers can’t verify your mail is really from you, so it lands in spam. They’re the foundation of deliverability.

Are the record values the same for everyone?

No. SPF/DKIM/DMARC values are generated per domain (DKIM even has a unique selector). Always copy from your own Email Authentication screen.

My registrar calls it ‘Name’ not ‘Host’ — same thing?

Yes. Name and Host are the same field; Value, Content, and Points-to are the same field. Use @ for the root domain.

I’m on Cloudflare — do I have to add records by hand?

No. Use the one-click modal with a scoped, single-use DNS token and FirstSales writes them for you. Manual works too, if you prefer.

Why is my record still ‘Pending’ after I saved it?

DNS propagation — it can take minutes to hours. Re-check the status ladder rather than adding duplicate records.

Do I need a DKIM record if I have managed DKIM?

Some connector types (password/relay) use managed DKIM and handle it for you — your screen will show that. Otherwise, add the DKIM record shown.

My mail still goes to spam after adding records — why?

The records may not have propagated or verified yet, or the issue is warmup or content instead. Confirm all statuses are green first, then see Emails landing in spam — the checklist.

Deliverability

Outreach that keeps going after you log off.Leads, emails, follow-ups and replies, handled.

Connect unlimited mailboxes and let AI agents find leads, write each email and follow up. Or send your own templates in manual mode. From $29/mo.

$1 for 3 days · Cancel anytime · No contract

Install with AI

Your coding agent sets up the FirstSales CLI and skills for you.

Prompt for Claude Code

I'm setting up FirstSales (https://firstsales.io), an AI outbound sales platform: campaigns, contacts, a reply inbox, deliverability and lead signals. Help me get my workspace sending real, good emails end to end, from Claude Code.

Read these first so you know how FirstSales works:
- Developer docs and API: https://developer.firstsales.io
- CLI: https://www.npmjs.com/package/@firstsales.io/cli
- Skills for coding agents: https://github.com/firstsalesio/firstsales-skills (read README.md and GUIDE.md)

Setup
1. Install the CLI: npm install -g @firstsales.io/cli
2. Install the FirstSales skills:
   claude plugin marketplace add firstsalesio/firstsales-skills
   claude plugin install firstsales@firstsales
3. Ask me if I already have a FirstSales account. If not, send me to https://app.firstsales.io to sign up.
4. Ask me to create an API key under Settings → API → API Keys, with only the scopes we need.
   Never ask me to paste the key into this chat. Tell me to run this in my own terminal, so the key stays hidden:
   read -rs FS_KEY && firstsales auth login --api-key "$FS_KEY"; unset FS_KEY
5. Run `firstsales whoami` and tell me which workspace and organisation we are connected to.

Then ask me about my business: what I sell, who I sell to (roles, company size, countries), my best customers, and what I use today for outbound (tools, lists, mailboxes). Walk me through:
1. Teaching FirstSales my business: website, offer, proof points and case studies in the knowledge base, so the AI writes like someone who knows the product.
2. Connecting my sending mailboxes and checking my sending domain: SPF, DKIM, DMARC and warm-up. If anything is unhealthy, tell me the exact DNS record to add.
3. Bringing in contacts: import my CSV or CRM export into a clean list, remove duplicates and bad emails, and block domains I must never email (customers, competitors, my own).
4. Building my first campaign: the right list, senders, steps and timing. Write the sequence with me, show me the drafts, and do not launch until I say yes.
5. Setting up Signals if it fits: find people engaging with LinkedIn posts about topics my buyers care about, and turn them into leads.
6. Inviting my team and giving each person the right access.

Once campaigns run, show me how to work the reply inbox from here: which replies need an answer, draft responses in my voice, and move good conversations into deals. If I use Cal.com, connect it so follow-ups can offer my booking link (not the first email).

Throughout, as you learn about my business, proactively suggest and help create:
- Reply templates for the questions and objections my prospects are likely to raise, based on my product, site and codebase if you can see them.
- Campaign ideas and segments worth testing, with the reason for each.

Safety rules:
- Show every change as a dry run (--dry-run) first and wait for my yes. Never send emails, launch campaigns or delete anything without my yes.
- Tell me before anything that spends credits, and how many.

Be opinionated. If the docs give a sensible default, just use it. Don't make me choose between five options.