Sequences
Sequences are automated, multi-step email workflows — drip campaigns. Contacts enroll on an event, then advance through ordered steps (email, wait, condition, webhook) as the tick job fires every minute.
- Read
- 5 min
- Sections
- 5
- Limits
- Free 1 · Pro 10 · Business ∞
How sequences work
A sequence is a named workflow with an ordered list of steps. When a contact is enrolled, DataRunner schedules the first step. The SequenceTickJob runs every minute, picks up to 500 active enrollments whose next step is due, executes the current step, then advances the enrollment to the next step — or marks it completed when the list ends.
- email — render and send a templated email to the contact
- wait — pause the enrollment for a fixed delay before the next step
- webhook — POST to an external URL (e.g. notify your CRM)
- condition — branch point (pass-through in v1; always continues)
Triggers
The triggerKind decides how contacts get enrolled:
manual— you enroll contacts explicitly via the UI or APIsignup— a new contact (e.g. from a form) is enrolled automaticallytag_added— enroll when a tag is applied to a contactapi— enroll programmatically from your own systems
Create a sequence
POST /api/v1/sequences
Authorization: Bearer <token>
Content-Type: application/json
{
"name": "Welcome Series",
"triggerKind": "signup"
}Add steps
Steps are ordered by their order field. An email step:
POST /api/v1/sequences/{id}/steps
Content-Type: application/json
{
"kind": "email",
"order": 1,
"configJson": "{\"subject\":\"Welcome!\",\"body\":\"Hi {{contact_name}}, thanks for signing up.\"}"
}A wait step pauses the enrollment for delaySeconds:
POST /api/v1/sequences/{id}/steps
Content-Type: application/json
{
"kind": "wait",
"order": 2,
"configJson": "{\"delaySeconds\": 86400}"
}Email step variables
Subject and body support Scriban-style {{var}} placeholders: contact_name, contact_address, and sequence_name.
Enroll a contact
POST /api/v1/sequences/{id}/enroll
Content-Type: application/json
{
"contactId": "contact-uuid"
}List-Unsubscribe headers. Sends increment your workspace email quota.