MCP tools — Sequences
Four tools to list, fetch, create, and trigger drip-style message sequences.
Sequences are time-spaced multi-step campaigns ("welcome 7-day", "winback 30-day"). They run as a graph: nodes (template sends, delays, branches), edges, and a single entry node.
| Tool | Annotation | Purpose |
|---|---|---|
list_sequences |
IsReadOnly, IsIdempotent |
Filter by status |
get_sequence |
IsReadOnly, IsIdempotent |
Graph + active sessions |
create_sequence |
IsDestructive(false) |
New sequence (created as draft) |
trigger_sequence |
IsDestructive(false) |
Enroll a contact in a published sequence |
list_sequences
List message sequences. Filter by status (draft or published).
get_sequence
Get sequence details with graph nodes, edges, trigger settings, and active session count.
| Input | Type |
|---|---|
id |
UUID |
create_sequence
Create a new message sequence. Created as draft.
| Input | Type | Notes |
|---|---|---|
name |
string | required |
graph |
object | {nodes: [...], edges: [...]} — the same shape the dashboard sequence editor uses |
Fastest path to a valid graph: build it in the dashboard, call get_sequence, copy the JSON, mutate, then create_sequence again with the result.
A new sequence is draft — call publish in the dashboard before triggering. There is no publish_sequence MCP tool today; this is intentional, to keep destructive go-live actions in the dashboard audit trail.
trigger_sequence
Trigger a published sequence for a specific contact.
| Input | Type | Notes |
|---|---|---|
sequence_id |
UUID | must be published |
contact_id |
UUID | one of |
phone |
string | one of (auto-creates contact) |
context |
object | passed to nodes as {{context.*}} |
Returns {id, status: "started"} or {status: "already_running"} for idempotency.
