CampaignSequenceNode

A step in the sequence. Nodes form a single linear chain from the `start` node via `next_node_id`; `wait` nodes between steps are managed automatically.

Properties

node_idstring

Node ID — stable for the life of the node

typestring

Persisted node type. A `manual_email` added via the catalog persists as `send` with `config.send_mode = "manual"`.

"start""wait""send""manual_task""phone_call_task""linkedin_message_task""note"
display_namestring (nullable)

Custom step name; falls back to the type label

configobject

Step configuration, stored and returned verbatim in the sending engine's own vocabulary — so key casing is mixed (`sender_mode` next to `trackOpens`) and it is passed through rather than renamed, because these are the exact keys the sender reads. **send**: `subject`, `body` (required), plus `send_mode` (`manual`), `thread_mode` (`reply`|`new`), `cc`, `bcc`, `trackOpens`, `sender_mode` (`pool`|`mailbox`|`member`), `sender_mailbox_id`, `sender_member_email`, `replyTaskPriority`. **wait**: `delay`, `unit` (`minutes`|`hours`|`days`). **task steps**: `priority`, `note`, `assignee_mode` (`mailbox_owner`|`member`), `assignee_email`. **start**: `leadFields` — the campaign's lead schema, in the same shape as `lead_schema` on Get Campaign.

next_node_idstring (nullable)

The next step in the chain; null on the final step

Example

CampaignSequenceNode example
{
  "node_id": "send-m2k9x1p-0",
  "type": "start",
  "display_name": "string",
  "config": {},
  "next_node_id": "string"
}