Skip to main content
Every item in a workflow’s nodes array is a WorkflowNode. It combines canvas positioning with the node’s type definition (metadata) and user-configured values.

WorkflowNode

NodeMetadata

The metadata 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

The type 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

The config object on each node instance holds the user’s configured settings:
Most fields come from the node’s 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

Gateway nodes generate output ports dynamically from the branches array. Each branch becomes an output handle named router.1-output-{branch.name}.

Next Steps