Sequences API
The Sequence object
A sequence is a set of ordered steps that runs per contact after you enroll them: an email today, a call task in three days, a follow-up email a week later. Each step waits delayDays after the previous one (the first step waits after enrollment).
A sequence and a drip plan solve different problems. A sequence is a template: the same steps for everyone you enroll. A drip plan paces a batch of drafts you already wrote, one at a time, out of a real mailbox.
| Field | Type | Notes |
|---|---|---|
id | string | CUID (read-only) |
name | string | |
status | string | ACTIVE or ARCHIVED. Archived sequences pause and take no new enrollments |
sendMode | string | DRAFT (default): every email step writes a draft a person approves. SEND: the step sends on schedule with nobody in between |
fromEmail | string | null | The sending identity for email steps, or null for the workspace default |
offering | object | null | The product it promotes, { id, name } |
businessHoursOnly | boolean | Hold steps to weekday business hours in the workspace timezone. Default true |
exitOnReply | boolean | Stop a contact's run when they reply. Default true |
exitOnDealCreated | boolean | Stop when a deal is created for them. Default false |
exitOnStatusChange | boolean | Stop when their contact status changes. Default false |
steps | array | In order: { id, order, type, delayDays, subject, bodyHtml, taskTitle }. type is EMAIL or TASK |
enrollmentCount | integer | Everyone ever enrolled, whatever their state now |
createdAt | string (ISO 8601) | Read-only |
updatedAt | string (ISO 8601) | Read-only |
Scopes
| Scope | Grants |
|---|---|
read:sequences | GET /api/v1/sequences, GET /api/v1/sequences/{id} |
write:sequences | Create a sequence, enroll contacts |
send:emails | Also required to create a SEND-mode sequence or to enroll into one, because those emails leave without a person approving them. This is the same scope that releases a draft through POST /api/v1/emails/{id}/send |