Skip to main content
POST
Add a sequence step

Authorizations

Authorization
string
header
required

Your API token (af_…) as the Basic-auth username, with an empty password.

Path Parameters

campaignId
string
required

The campaign's id (24-character hex ObjectId), as returned by POST /business/campaigns or as the campaignId of a GET /business/campaigns row.

Body

application/json
channel
enum<string>
required

Step channel: email, linkedin_connection (connection request), linkedin_message (message to an accepted connection), linkedin_visit (profile visit, no content), linkedin_like (reaction to a recent post, no content), inmail (LinkedIn InMail, consumes InMail credits), dialer (phone-call task for a rep) or todo (free-form human task). A linkedin_connection step cannot come after a linkedin_message step (422 STEP_ORDER_INVALID).

Available options:
email,
linkedin_connection,
linkedin_message,
linkedin_visit,
linkedin_like,
inmail,
dialer,
todo
sequenceNumber
integer
required

The step's 0-based slot in the sequence — the same numbering GET /business/campaigns/{campaignId}/steps reports, so 0 is the first step. Must be unused in this campaign (409 STEP_POSITION_TAKEN); existing steps are not shifted on insert (only DELETE renumbers).

Required range: 0 <= x <= 50
daysBetween
integer
required

Whole days to wait after the previous step (or after the campaign start for the first step) before this one is due, 0-90.

Required range: 0 <= x <= 90
type
enum<string>
default:manual

manual (default) sends your subject/body as written; ai_generated writes a topic and title with AI at creation and renders each message per lead at send time (send no topic — it is generated); ai_reply is an AI-drafted reply that waits for approval and needs a topic.

Available options:
manual,
ai_generated,
ai_reply
subject
string

Subject line for a manual step (up to 500 characters, may be empty); becomes the step title. Rejected on linkedin_visit and linkedin_like steps, which carry no message.

Maximum string length: 500
body
any

Message body for a manual step (up to 20000 characters; {Variable} tokens and spintax substitute at send time). On a linkedin_connection step this is the invitation note, capped at LinkedIn's 200-character limit. Rejected on linkedin_visit and linkedin_like steps, which carry no message.

topic
string

Free text: what this step should say, in your own words — there is no fixed set of topics. 1-500 characters. Required for ai_reply, rejected for ai_generated (which generates its own) and for linkedin_visit / linkedin_like steps. Stored but not rendered on a manual step.

Required string length: 1 - 500
cc
string<email>[]

Accepted values: bare email addresses such as ops@example.com — a display name or angle brackets is rejected, up to 320 characters each. Every address you list is copied on every send of this step, up to 10 addresses. Only an email step actually sends them: on any other channel the value is stored and never used.

Maximum array length: 10

A bare email address, up to 320 characters.

Maximum string length: 320

Response

Success

step
object
required