Skip to main content
POST
Create a workflow node
Choose where the node goes with insertMode:
  • between places it between an existing fromNodeId -> toNodeId connection
  • before places it before beforeNodeId.
New nodes start with default settings; update the node after creation to configure it. Branch nodes create their default paths too: BranchNode creates two AudienceFilter children, and ExperimentBranchNode creates two regular VariantNode children plus one control VariantNode. Public workflows can have up to 300 nodes. Generated children count toward that limit, so a normal create adds 1 node, BranchNode adds 3, and ExperimentBranchNode adds 4. To add a new branch or experiment branch, use the /v1/workflows/{workflowId}/nodes/{nodeId}/add-branch endpoint instead.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

workflowId
string
required

The ID of the workflow.

Body

application/json

Create a new workflow node with an explicit insertMode. To configure the node after creation, call the update workflow node endpoint.

expectedRevisionId
string
required

The workflow revision token returned by the latest workflow read or mutation. Mutations reject stale values.

insertMode
enum<string>
required
Available options:
between
nodeTypeName
enum<string>
required

Node types that can be created with the API. *Trigger nodes and ExitAction nodes cannot be created.

Available options:
AudienceFilter,
BranchNode,
ExperimentBranchNode,
TimerAction,
SendEmailAction,
VariantNode
fromNodeId
string
required

The node to insert after. This node must currently point to toNodeId.

toNodeId
string
required

The node to insert before.

Response

Workflow node created.

node
object
required

Detailed workflow node returned from a mutation, plus the latest workflow revision token.

workflow
object
required
Last modified on July 21, 2026