A node in a workflow graph. config shape depends on type.
| Name | Type | Description | Notes |
|---|---|---|---|
| id | String | Stable node id referenced by edges | |
| type | TypeEnum | Node kind. The 16 supported types break into four groups: messaging (send_message), control flow (trigger, condition, delay, wait_for_reply, a_b_split, end), data ops (set_variable, set_field, add_tag, remove_tag, enroll_sequence), integrations (webhook, ai, handoff, start_call). | |
| config | Map<String, Object> | Type-specific settings. All string fields support `{{variable}}` interpolation against the run's variable bag (resolved at execution time). trigger: `{ triggerType: inbound_message | api_call |
| position | WorkflowNodePosition | [optional] |
| Name | Value |
|---|---|
| TRIGGER | "trigger" |
| SEND_MESSAGE | "send_message" |
| WAIT_FOR_REPLY | "wait_for_reply" |
| CONDITION | "condition" |
| SET_VARIABLE | "set_variable" |
| DELAY | "delay" |
| WEBHOOK | "webhook" |
| AI | "ai" |
| HANDOFF | "handoff" |
| START_CALL | "start_call" |
| A_B_SPLIT | "a_b_split" |
| SET_FIELD | "set_field" |
| ENROLL_SEQUENCE | "enroll_sequence" |
| ADD_TAG | "add_tag" |
| REMOVE_TAG | "remove_tag" |
| END | "end" |