Add a step to a campaign's sequence
Adds one step to a paused campaign's sequence: a message, connection request, connection request with a note, InMail, email, wait, or profile visit. A message can be sent as a voice note: an AI voice note speaks the content in a cloned voice, a pre-recorded one sends a recording from the library (see voiceNote). Inserted after afterStepId; without it the step is appended to an unbranched sequence. When afterStepId is a condition, branch says which of its paths the step starts. The step is checked before it is saved: merge fields must match the campaign's columns, every sender must be able to perform it (InMail needs Premium), and connection notes must fit the senders' length limit. Returns the sequence and what would still stop it from starting.
/campaigns.addSequenceStepAuthorization
bearerAuth Enter your MailMoo API key (format: sk_live_...)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/campaigns.addSequenceStep" \ -H "Content-Type: application/json" \ -d '{ "campaignId": "13f8bf6d-dc27-4a04-bffe-6e5b13c19ddf", "type": "message" }'{ "campaignId": "13f8bf6d-dc27-4a04-bffe-6e5b13c19ddf", "campaignName": "string", "stepCount": 0, "steps": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "number": 0, "type": "string", "branch": "yes", "content": "string", "subject": "string", "waitTimeSeconds": 0, "sendCondition": "string", "stopIfSkipped": true, "emailThreading": "string", "voiceNote": { "mode": "none" } } ], "readiness": { "ready": true, "problems": [ { "severity": "error", "message": "string" } ] }}List a campaign's columns GET
The columns of a campaign's lead table: each one's name, whether AI fills it, whether it can be edited by hand, and whether it is a contact field whose edits come with format warnings. Use the names with campaigns.leads.bulkSetField and in lead filters.
Edit a step in a campaign's sequence POST
Changes one step of a paused campaign's sequence: its text or subject, a wait's length, a message step's send condition and email threading, or whether a message goes as a written message, an AI voice note or a pre-recorded voice note (voiceNote). Only what you pass changes. Message variants are edited separately. Checked like a new step before it is saved. Returns the sequence and what would still stop it from starting.

