nodes array is a WorkflowNode. It combines canvas positioning with the node’s type definition (metadata) and user-configured values.
WorkflowNode
NodeMetadata
Themetadata object defines what the node is — its capabilities, ports, and configuration schema. This is the same structure your backend returns from the /nodes API.
Key Fields
Node Types
Thetype field controls how the node renders on the canvas:
Custom node types can also be registered. See the Custom Nodes guide.
Categories
Built-in categories for sidebar grouping:triggers · inputs · outputs · prompts · models · processing · logic · data · tools · helpers · vector stores · embeddings · memories · agents · ai
You can also use any custom string — the editor will create a new sidebar group automatically.
ConfigValues
Theconfig object on each node instance holds the user’s configured settings:
configSchema. Three special properties trigger editor behavior:
Per-instance overrides are also supported via
instanceTitle, instanceDescription, and instanceBadge — these override the metadata values for display.
Example: Simple Input Node
Example: Gateway Node with Branches
branches array. Each branch becomes an output handle named router.1-output-{branch.name}.
Next Steps
- Edge Structure — how connections reference node and port IDs
- Port System & Data Types — input/output port definitions and data types
- Configuration Schema — JSON Schema that powers config forms
- Node Types — visual appearance and behavior in the editor