Skip to content
NewSee how

Unsubscribe & opt-out handling

How FirstSales adds an unsubscribe link to every email, tracks opt-outs, and marks unsubscribed contacts so you stay compliant.

  1. Compliance in one line

    Every FirstSales email carries an unsubscribe link automatically, opt-outs are tracked as an event, and unsubscribed contacts are marked so they stop receiving your sequence. You don't build any of this by hand.

  2. See the unsubscribe link in the preview

    Open a campaign's template or preview step. The preview card footer states the send will include an unsubscribe link (and your signature, if you have one): “Sent emails will also include an unsubscribe link.” You never add this manually.

    See the unsubscribe link in the preview
  3. Why the link protects deliverability

    A working one-click opt-out reduces spam complaints, and spam complaints are what actually burn a domain's reputation. Keeping the link on is a deliverability lever, not just a legal checkbox.

  4. Set up your tracking domain so opt-outs are tracked

    Unsubscribed is one of the events tracked through your tracking (CNAME) domain, alongside delivered, opened, and clicked. Set up your tracking domain first so opt-out events are attributed correctly.

  5. Find unsubscribed contacts

    In the Inbox, Unsubscribed is its own status. Contacts marked this way are separated from active conversations and won't receive further sequence steps.

  6. Respect opt-outs automatically

    Once a contact unsubscribes, their sequence stops automatically. Pair this with stop-on-reply/opt-out settings so a free-text “please remove me” reply is handled the same way as a link click.

Pro tips

  • Don't add your own unsubscribe footer

    The link is added for you. Pasting your own on top gives every email two unsubscribe links, which looks broken and hurts trust.

  • Set up tracking first

    Without a tracking domain configured, opt-out and engagement events aren't attributed to your own domain.

  • Treat Unsubscribed as a hard stop

    Never re-import an unsubscribed contact into a fresh list to "try again." The status exists to keep them out permanently.

  • Cover both channels

    Pair the automatic unsubscribe link with stop-on-reply/opt-out handling so both a link click and a free-text "remove me" reply are respected.

Frequently asked questions

Does FirstSales add an unsubscribe link automatically?

Yes — every sent email includes one. You can see this stated directly in the campaign step preview.

Do I need to write my own unsubscribe footer?

No. Adding your own on top would duplicate it. The platform appends the link (and your signature) to each send.

Where do I see who unsubscribed?

In the Inbox — Unsubscribed is a dedicated status, and those contacts are held out of active sequences.

Is there a custom-branded unsubscribe page or a suppression-list upload?

Not today. FirstSales handles opt-outs via the automatic link and the unsubscribed status — there's no separate suppression-list UI or custom unsubscribe-page builder to configure.

How are opt-outs tracked?

As a tracked event on your tracking (CNAME) domain, alongside delivered, opened, and clicked.

What happens to a contact after they unsubscribe?

Their sequence stops and they're marked unsubscribed — they won't receive further steps unless they re-subscribe.

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.