Node
One step in an Automation’s workflow — an action, condition,
split, or reusable macro. type selects which of the action-specific
JSON fields (actions, sendEmail, aiAssistant, copilotAgent, split,
conditions, goto, etc.) is populated; the others are null.
Reusable steps (isMacro: true) show up in macros and can be
referenced from multiple automations.
NodeFields
Unique node document id.
Namespace, unique within the parent automation — addressable from goto/nextNodeNs references.
Node kind (e.g. action, condition, split, sendEmail, aiAssistant, copilotAgent, goto). See automationCatalog for the full catalog.
Parent Automation _id.
Parent automation's ns.
Parent automation's name, denormalized for display.
Canvas styling (color, etc.) — opaque to execution.
Mirrors the parent automation's status (draft, live, offline, archived, version).
Outbound wiring to other nodes on the canvas.
Message step content, when type is a messaging action.
Question/input step configuration.
Branching rules, when type is condition.
AI Assistant step configuration, when type is aiAssistant.
Copilot agent step configuration, when type is copilotAgent.
A/B split configuration, when type is split.
Action-specific payload for generic action nodes.
Email step configuration, when type is sendEmail.
Jump target, when type is goto.
Freeform builder annotation attached to this node (separate from AutomationNote).
Icon identifier shown on the canvas.
Display label shown on the canvas.
Optional longer description shown in the builder.
Canvas { x, y } coordinates. Bulk-update with batchSavePositions.
Reserved for future workflow grouping; not currently populated.
Default next node when this node has no branching outputs.
Whether this node is a reusable macro — see macros.
Free-form metadata bag for plugin-specific extensions.
When this node was created.
When this node was last modified.
User id who created this node.
User id who last modified this node.