Create or edit a sequence draft
save_sequence_draftWithout sequenceId: create a complete new sequence (name plus ordered steps); the customer's request is the approval, so it is approved and live when this returns. With sequenceId and expectedRevision: read the full sequence first, then replace its complete step list using that exact revision, preserving next, condition, sendIf and other unchanged fields. The new revision is approved and returns to its previous status (active stays active, paused stays paused, a draft goes live). Omitted executionModel keeps the saved model on edit. Graphs allow up to 30 steps; linear/tracks allow 20. In a graph, a LinkedIn message or endorsement must come after a connection request and an 'Accepted?' (linkedin_accepted) or 'Already connected?' (linkedin_first_degree) Yes path; view, like and comment need no connection. Steps include connect, message, engage (LinkedIn), email (subject plus body), x_dm and x_engage; Instagram DMs run only in their own linear sequence. Linear sequences using LinkedIn must start with connect, and linear X sequences cannot mix other channels. Tracks use separate channel lanes. Graphs can mix LinkedIn, email and X, start with email or X, and branch with next/condition; connect need not be first. Once any lead has left graph step 0, changing step count, kinds, edges or conditions is refused; copy and delay edits remain possible with the structure preserved. Before graph outreach, automatic reply safety checks previously contacted email, LinkedIn and X conversations: a human reply stops the flow and unavailable evidence holds it, independently of xThreadCheck. {{firstName}} {{fullName}} {{company}} {{title}} render across channels. {{ai_intro}} (message and email steps) is a one-sentence opener Eve writes for each person from their role and recent LinkedIn posts when they reach that step, saved for later steps, costing 0.1 Energy per person; when it cannot be written it renders its plain-text |fallback, or 'Hope your week is going well.' without one, so put it on its own line. A message step may also carry a per-person value the customer supplies later (for example {{video_url}}); declare it with tool { kind: "customer_input", tokens: [...] } and the step holds each person until set_lead_input stores the value. Nothing is sent in this call; enrolled people enter the paced queue. Give the customer the result's reviewUrl to review or pause the sequence. Open world: an active saved sequence contacts enrolled people, who are third parties.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| steps | Yes | Complete replacement, not a patch: 1–30 graph steps or 1–20 linear/tracks steps. Read the full sequence before editing and retain unchanged routing and sendIf fields. | |
| requestId | Yes | Stable idempotency key; reuse it only to retry this exact request. | |
| sequenceId | No | ||
| workspaceId | No | A teammate's workspace you may manage: an active workspace ID from list_team_workspaces. Omit for your own workspace. Supply on every call for a teammate. | |
| xThreadCheck | No | Workspace-wide optional X conversation check. true checks for prior conversations before X outreach (5 Energy per DM instead of 0.6); false is the default. Omit to keep the current setting. This is separate from automatic graph reply safety: setting false never disables checks for replies to previously contacted graph conversations, including before switching to LinkedIn or email. | |
| executionModel | No | linear: up to 20 ordered steps; delayDays counts from the previous step and the step after connect waits for acceptance. tracks: up to 20 steps in parallel LinkedIn, email and X lanes; delays count from each lane's previous step and a missing channel does not block other lanes. graph: up to 30 nodes with explicit next targets, branch conditions and one cursor; action delays start when that node is reached, waiting branches use delayDays as their window. connect may sit anywhere, once per path; a LinkedIn message or endorsement must come after a connection request and an 'Accepted?' (linkedin_accepted) or 'Already connected?' (linkedin_first_degree) Yes path; view, like and comment need no connection; missing email or X identity skips that channel's action. Defaults to linear on create; omission on edit preserves the saved model. Changing models requires no existing execution progress. | |
| expectedRevision | No |