Skip to content
NewSee how
Fix

Fewer bounces from harvested and looping addresses

AI-harvested leads are now verified for real deliverability at import, and bounced addresses — plus whole looping domains — are suppressed so they aren't emailed again.

Bounces hurt more than a single failed send — they drag down your sender reputation and put your whole domain at risk. Two sources of avoidable bounces were hitting harder than they should: leads pulled in by the AI harvester, and addresses that had already bounced once but kept getting emailed again.

What was happening

Contacts sourced by the AI lead harvester were trusted on the source's own "validated" flag — a label that often meant little in practice. That flag can mean an address merely looked plausible, not that a mail server would actually accept it, so we were effectively taking the source's word for it. We were not running our own deliverability check before adding them to your list, so addresses that were syntactically broken, on disposable throwaway domains, or simply not deliverable went straight into campaigns and bounced at a high rate. You would only find out they were bad after the bounce had already landed against your sending reputation. Separately, when an address bounced, nothing stopped it from being imported again later and emailed a second time, so the same bad contact could bounce over and over across different imports. Worse, some bounces are not about one mailbox at all: a mail-routing loop fails for the entire receiving domain, so every address you had at that domain would keep bouncing too, multiplying the damage from a single misconfigured destination.

What we fixed

Harvested contacts are now verified for real deliverability at import. Before an address is trusted, it passes a free syntax and disposable-domain pre-filter — which catches the obviously bad ones at no cost — and then a genuine MX/SMTP check that confirms a mail server is actually there to receive it, rather than relying on the source's "validated" claim. Addresses that cannot actually receive mail are caught before they ever enter a campaign. On the suppression side, any address that bounces is now added to your suppression list, so it will not be re-imported and emailed again. And for mail-routing-loop bounces — the kind that fail for the whole receiving domain rather than a single inbox — we suppress the entire recipient domain, so its sibling addresses stop bouncing as well.

Why it matters

Fewer bounces means a healthier sender reputation, which means more of your email reaching the inbox. Mailbox providers watch your bounce rate closely, and a run of bad sends can push your legitimate mail to spam — so every bounce you avoid protects the contacts you actually care about. Verifying harvested leads at the door keeps junk addresses out of your campaigns instead of letting you discover them the hard way, after the damage is done. Suppressing bounced addresses — and whole looping domains — means you stop re-sending to recipients that have already proven they cannot be reached. The net effect is cleaner lists, lower bounce rates, and less drag on the deliverability of the contacts that do matter.

All updates

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.