Skip to content
NewSee how

How to Set Up Bounce Protection in FirstSales

Stop bounces before they hurt your reputation. Turn on contact cleaning, re-clean old lists, and read soft/hard/blocked bounces in the inbox.

  1. Turn on Contact cleaning

    The best bounce protection is not sending to dead addresses in the first place. Go to Settings → Tools and enable Contact cleaning: "Checks email addresses on import so campaigns skip dead ones, reducing your bounce rate and protecting sender reputation."

    Once on, every newly imported contact is verified automatically before it can be emailed.

    Turn on Contact cleaning
  2. Know what cleaning checks

    Contact cleaning runs five checks on each address:

    • Address format (valid syntax.
    • Mail server verification) the domain's mail server (MX) exists and the mailbox is reachable.
    • Disposable addresses (throwaway inboxes.
    • Typo correction) fixes obvious misspellings.
    • Role addresses (flags info@, sales@-type inboxes.

    It costs 0.2 credits per new contact, and credits are refunded for any contact it can't verify) you only pay for a real result.

  3. Re-clean an existing list

    Have contacts imported before you turned cleaning on? Select them in the Contacts table and click Re-test. The confirmation dialog shows the same checks (MX existence, mailbox reachability, disposable detection, typo/syntax correction, and catch-all domain flagging) plus the credit cost for the selection before you confirm.

    Clean a bought or aging list this way before you point a campaign at it.

  4. Let suspended contacts drop out automatically

    After cleaning, addresses that fail are marked dirty and are excluded from sends automatically: you don't build a suppression list by hand. If you're certain a flagged contact is fine, you can Mark valid to override and include them.

    This per-contact status is the suppression mechanism: bounced and unsubscribed contacts are likewise held out of future sends.

  5. Read bounces in the inbox

    When a send does bounce, the conversation shows exactly what happened:

    • Soft bounce (temporary; "will retry automatically" (with a retry count).
    • Hard bounce) permanent; "Journey ended: recipient bounced," and the contact stops receiving the sequence.
    • Blocked: "Blocked by recipient spam filter: check sender reputation."

    Each shows the delivery Code and Reason (toggle "Show delivery report"). A blocked bounce is your cue to check warm-up and authentication, not the address.

  6. Watch your bounce rate in Analytics

    Keep an eye on Bounce Rate in the campaign's Engagement strip and Sender Health. Over 5% flags "High bounce rate" health issues and drags down deliverability.

    If bounce rate climbs, stop and re-clean the list rather than sending through it: a rising bounce rate compounds into spam-folder placement for every future send.

Pro tips

  • Prevention beats suppression

    Contact cleaning on import stops bounces before they happen. That's cheaper for your reputation than catching bounces after they've already hit inboxes.

  • You only pay for verifiable contacts

    Cleaning is 0.2 credits per contact, but credits are refunded for any address it can't verify. So the effective cost tracks the real, usable part of your list.

  • Re-clean bought or aged lists first

    Any list you didn't just cleanly import (purchased, exported, months old) should go through Re-clean before a campaign touches it. Old lists rot.

  • A 'Blocked' bounce is a reputation signal

    Blocked-by-spam-filter isn't a bad address: it's your sender reputation. Check warm-up score and domain auth rather than deleting the contact.

Frequently asked questions

How do I protect against bounces?

Enable Contact cleaning in Settings → Tools. It verifies every imported address so campaigns skip dead ones, which directly lowers your bounce rate and protects sender reputation.

Is contact cleaning free?

No: it costs 0.2 credits per new contact. However, credits are refunded for any contact it can't verify, so you only pay for addresses it can actually confirm.

What does cleaning check?

Address format, mail-server (MX) verification and mailbox reachability, disposable-address detection, typo correction, and role-address flagging. Re-cleaning also flags catch-all domains.

Can I clean contacts I imported earlier?

Yes. Select them in the Contacts table and click Re-test; the confirmation dialog previews the checks and the credit cost before you confirm.

Is there a suppression list?

Not as a separate page: suppression is handled per contact by status. Contacts marked dirty, bounced, or unsubscribed are automatically excluded from sends. You can Mark valid to override a dirty flag.

What's the difference between a soft and hard bounce?

A soft bounce is temporary and retries automatically; a hard bounce is permanent: the contact's journey ends and they stop receiving the sequence. A blocked result means a spam filter rejected it.

Does FirstSales auto-pause a campaign on high bounces?

There's no dedicated 'auto-pause on bounce' toggle. High bounce rate (over 5%) drives Sender Health warnings so you can act. There is a separate Auto-pause unengaged contacts setting, but that's engagement-based, not bounce-based.

A contact shows 'Blocked': what should I do?

Blocked means a recipient spam filter rejected the mail: the app tells you to check sender reputation. Look at the mailbox's warm-up score and domain authentication rather than assuming the address is bad.

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.