Skip to main content
A subscriber is someone you email, usually one of your users. Workflows and broadcasts always send to subscribers, so anyone you want to email needs to be one first. Subscribers belong to an environment, so production and staging each have their own.

What a subscriber has

You need at least one of email, externalId or publicId to find a subscriber again. Anywhere that takes a subscriber, such as triggering a workflow, accepts any of the three.

Add and update subscribers

Or ask your agent: “Add jane@acme.com, first name Jane, plan pro.”
--attributes on update replaces all of a subscriber’s attributes, so include the ones you want to keep.
Creating a subscriber that already exists fails. To create or update in one go, use bulk import. Subscribers can also be added for you: a Stripe trigger adds the customer if they aren’t a subscriber yet.

Import subscribers

Bulk import creates new subscribers and updates existing ones, up to 500 per request. Each row is matched by publicId, then externalId, then email; if nothing matches, it’s created. One bad row doesn’t stop the rest.
subscribers.json
The file can be a bare array or {"subscribers": [...]}. Use --file - to read from stdin.
For more than 500, split the list into batches. Your agent can do this for you: give it a CSV export and ask it to import it.

Tags

Tags are labels, such as beta or vip, that you use to pick who gets a broadcast.

Opting in and out

Each subscriber is either opted in to email or opted out. New subscribers are opted in unless you say otherwise. Opted-out subscribers are never emailed: their email steps are skipped, and webhook steps still run. People opt out when they:
  • click the unsubscribe link in any email,
  • use their email client’s unsubscribe button, or
  • hard bounce, meaning their address doesn’t exist. See Bounces.
You can also change it yourself, for example to respect an opt-out from your own app:
Every change is kept as a new record, so you have a history of when someone opted in or out.

Delete a subscriber

Deleting removes the subscriber from lists and audiences, and any emails still waiting to send to them are skipped. The record is kept, not erased. Use subscriber subscribers delete <subscriberId>, or press d on a subscriber in the TUI.