Skip to main content

List workflows

Retrieve a paginated list of workflows, most recently updated first. API reference
CLI reference

Get a workflow

Fetch a simplified workflow graph with node types, connections, and selected display fields.
Save rootNodeId and the keys in nodes. Use them to request full node details with Get workflow node.
API reference
CLI reference

Get workflow node details

Use the simplified workflow graph to pick a nodeId, then fetch the full node configuration. API reference
CLI reference

Walk connected nodes

After fetching a node, follow nextNodeIds to load the next steps in the workflow.

Create a workflow with an event trigger

Create a draft workflow (blank trigger + exit), look up an event pattern, then configure the root trigger as an EventTrigger. Create workflow API reference CLI reference
Update node API reference CLI reference
Get event pattern by name API reference CLI reference

Change a trigger type

Switch a Contact added (SignupTrigger) root node to Contact added to list (AddToListTrigger). Trigger swaps are done with typeName on the update payload. To set the trigger’s mailing list, use the “change mailing list” endpoint. Update node API reference CLI reference
Change mailing list API reference CLI reference

Insert a timer and an email node

Insert nodes with insertMode: "before" (or "between"). New nodes start with defaults — configure the timer after creation. Email content is edited separately with the email message APIs. Create node API reference CLI reference
Update node API reference CLI reference

Delete a node and downstream nodes

Preview the impact with dryRun: true, then delete the node and its subtree. If contacts are queued on any node that would be removed, the API returns "status": "queuedContactsFound" — retry with queuedContactPolicy: "discard" to confirm. Delete nodes API reference CLI reference

Edit a workflow email’s content

Each SendEmailAction node includes an emailMessageId. Pass that ID to the email message content APIs to read or edit the email’s subject, LMX body, sender, and more. First fetch the current content to get its contentRevisionId, then send an update.
Save the returned contentRevisionId after each update and pass it as expectedRevisionId on the next update to avoid 409 Conflict errors caused by stale revisions.
Get email message API reference CLI reference
Update email message API reference CLI reference
Last modified on August 26, 2026