Skip to main content
Requires the Campaigns permission. Tools in this group are hidden from tools/list and refused on call when your plan does not grant it.

flow_audit

Read-only What the most recent sequence edit actually did to the leads in flight: how many were re-pointed at a different step, how many were orphaned because their step no longer exists, and how many pending actions were cancelled or rescheduled. Call this straight after flow_set on an ACTIVE campaign — it is the only way to see the collateral damage of a rewrite, and orphaned leads stop progressing. It reports; it does not repair. Fixing an orphan means another flow_set, or lead_move.

Parameters

string
required
From flow_get.

flow_from_template

Write Attach one of the platform’s named sequence templates to a campaign and fill in its copy placeholders. Only works on a campaign that has no flow yet. The template decides which slots exist — supply whichever of longNote, shortNote, message1..3, subject1..3, content1..3 it uses. One of three ways to get a sequence, and the only one that reuses a prebuilt shape: flow_set writes an arbitrary sequence from a step list, and campaign_generate_ai_sequence has the platform draft one from a brief. List the available templates with template_list first — the name is matched against that library. To change the copy afterwards, call flow_set; this tool cannot be re-run on a campaign that already has a flow.

Parameters

string
required
Campaign id, from campaign_list or campaign_create.
string
required
Template name, matched against the shared template library.
object
required
Copy substituted into the template slots.

flow_get

Read-only The saved sequence for a campaign, as both a readable outline and the raw React Flow graph. Node ids in the outline are the sequence ids you pass to sequence_leads_at_step and sequence_step_stats. Read-only. Read this before changing a sequence, then write with flow_set (any campaign) or sequence_update (copy only, and only once the campaign is ACTIVE or PAUSED).

Parameters

string
required
Campaign id, from campaign_list or campaign_create.
boolean
default:"false"
Include the full nodes/edges arrays. Verbose — only needed to hand-edit the graph.

flow_history

Read-only Every saved version of a campaign’s sequence, each with the change audit: which steps were added, removed or edited, and how many leads that save moved or orphaned. The history of edits. Read it to explain how a sequence got into its current state — but it is not a way back: there is no tool to restore an old version, so a rollback means calling flow_set with the old steps. For the current sequence use flow_get, and for the effect of the latest save alone flow_audit.

Parameters

string
required
Campaign id, from campaign_list or campaign_create.
integer (1–50)
default:"10"
Most recent versions to return.

flow_set

Write Destructive
Marked destructive in the protocol — your MCP client asks for confirmation before running it.
Replace a campaign’s sequence with the steps you describe. This is how you write a campaign: give an ordered list of steps and the graph is compiled, validated and saved. Each step is one action — CONNECT, MESSAGE, EMAIL, INMAILS, ENGAGEMENT, FOLLOW, WITHDRAW, QUALIFIER, GPT, ASSIGN_TAG, TASK … — with a delay measured from the previous step. A TRIGGER step branches on a condition (If_Replied, If_Connected, If_Email_Opened, …); it must be the last entry in its list, and the steps that follow go under yes or no. An omitted branch simply ends there. On a campaign that is already ACTIVE this is DESTRUCTIVE: leads are re-evaluated against the new graph, some are moved to different steps, and pending actions can be cancelled or rescheduled. flow_audit reports exactly what moved. On a DRAFTED campaign nothing is at stake. Call reference with topic “sequence_steps” first if you are unsure which fields a step type needs.

Parameters

string
required
Campaign id, from campaign_list or campaign_create.
object[]
required
The full sequence, in order. This replaces whatever is currently saved.
string
Label for this flow version, shown in flow history.

sequence_leads_at_step

Read-only Which leads are currently at a given step, and — for failures — why. The drill-down behind a step’s pending/completed/failed counter. Takes a step id from sequence_list or flow_get. For one lead’s own position instead use lead_flow_state, and to unblock a stuck action activity_skip.

Parameters

string
required
Campaign id, from campaign_list or campaign_create.
string
required
Step id from sequence_list or the outline in flow_get.
PENDING | COMPLETED | FAILED
Filter to PENDING, COMPLETED or FAILED.
string
Search across name and email.
integer (min 1)
default:"1"
1-indexed page number.
integer (1–100)
default:"25"
Rows per page.

sequence_list

Read-only The Sequence records the runtime actually executes, created when the campaign launches. Distinct from flow_get: the flow is the design, these are the live steps with their ids, delays and copy. Use the ids here with sequence_leads_at_step. Empty before the campaign launches, because the records are created at launch — so on a DRAFTED campaign read flow_get instead. The _id values here are what sequence_update patches, and that tool is only safe once the campaign is ACTIVE or PAUSED.

Parameters

string
required
Campaign id, from campaign_list or campaign_create.

sequence_step_stats

Read-only Pending / completed / failed counts for every step of a campaign — the funnel view. Use it to find the step where leads stall or fail. Fast, and the right answer to “where are we losing people” on any campaign — prefer it over analytics_funnel, which walks every activity row and may not finish on a large campaign. Counts per step; for the leads behind one of them use sequence_leads_at_step.

Parameters

string
required
Campaign id, from campaign_list or campaign_create.
string
Narrow to one step. Omit for the whole funnel.

sequence_update

Write Destructive
Marked destructive in the protocol — your MCP client asks for confirmation before running it.
Patch fields on already-materialised sequence steps — the surgical way to fix a typo or swap copy on a campaign that is ALREADY RUNNING (ACTIVE or PAUSED), without re-saving the whole graph and re-evaluating every lead. Pass the step _id from sequence_list plus only the fields to change. To add, remove or reorder steps, rewrite the sequence with flow_set. Do NOT use this on a DRAFTED campaign: launching rebuilds every step from the saved flow graph, which this tool does not touch, so the edit is silently reverted to the original copy the moment the campaign launches. Check status with campaign_get first. To change a draft’s copy, call flow_set again with the corrected steps.

Parameters

string
required
Campaign id, from campaign_list or campaign_create.
object[]
required
The step patches to apply.