Skip to content
NewSee how

Stop-on-reply & automatic opt-out handling

Stop a sequence the moment a contact replies, and let FirstSales classify opt-out language as an unsubscribe so those contacts drop out automatically.

  1. Open Reply Handling

    In a Template-mode campaign, go to Settings → Reply Handling.

  2. Turn on stop-on-reply

    Tick Stop sending when a reply is received so a contact's sequence pauses the moment they reply to any email.

    Turn on stop-on-reply
  3. Know the universal brakes

    “Goal, reply, and unsubscribe brakes apply to every channel.” A contact who trips one stops receiving further steps.

  4. Rely on opt-out classification

    Replies like “stop”, “do not follow up”, or “not interested” are automatically classified as an unsubscribe and halt future steps for that contact.

  5. See opt-outs in the Inbox

    Unsubscribed contacts show a Completed · Unsubscribed pill on their thread row and an Unsubscribed journey card in the conversation.

  6. Confirm they're excluded

    Once unsubscribed, a contact's journey has ended and no further emails send to them.

Pro tips

  • Leave stop-on-reply on by default

    Following up after someone already replied is the fastest way to sound like a bot.

  • You don't need to manually mark opt-outs

    Negative replies are classified as unsubscribes automatically, but scan the Unsubscribed view periodically to catch edge-case phrasing.

  • Brakes are channel-wide

    A reply or unsubscribe stops every remaining step for that contact, not just the current email.

  • Pair with out-of-office detection

    So real replies stop the sequence while vacation auto-replies only pause it: the two settings live side by side.

Frequently asked questions

Where is stop-on-reply?

Campaign Settings → Reply Handling in a Template-mode campaign.

What does it do?

Pauses a contact's sequence as soon as they reply to any email in it.

How are opt-outs detected?

FirstSales classifies replies like “stop”, “do not follow up”, or “not interested” as an unsubscribe and stops future steps for that contact.

What are the 'universal brakes'?

Goal, reply, and unsubscribe conditions that stop a contact's sequence across every channel.

How do I see who opted out?

Unsubscribed contacts show a Completed · Unsubscribed pill in the Inbox and an Unsubscribed journey card in the conversation.

Is there a custom unsubscribe page or suppression list?

Not today: opt-out is handled by reply classification and the unsubscribe journey status, which stops further sends automatically.

Inbox & Replies

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.