Workflows are stored as JSON with nodes and edges. See Node Types for available node types and Expression DSL for expression syntax in data fields.
Workflow Object
{
"id": "uuid",
"name": "My Workflow",
"description": "Optional description",
"nodes": [],
"edges": [],
"auth_type": "anonymous",
"allow_anonymous": true
}Node Object
{
"id": "node-uuid",
"type": "llm",
"position": { "x": 100, "y": 200 },
"data": {
"label": "llm",
"model": "gpt-4",
"userMessage": "$input.text"
}
}Agent node data (persistent memory)
Agent nodes support an optional knowledge graph per canvas node:
| Field | Type | Description |
|---|---|---|
persistentMemoryEnabled | boolean | When true, load stored graph into the system prompt and merge new facts after successful runs |
memoryShares | array (optional) | Grants other agents access to this node’s memory graph (peerWorkflowId, peerCanvasNodeId, permission: read | write). See Agent Persistent Memory. |
Example:
{
"id": "agent-main",
"type": "agent",
"position": { "x": 200, "y": 120 },
"data": {
"label": "assistant",
"persistentMemoryEnabled": true,
"credentialId": "uuid",
"model": "gpt-4o",
"userMessage": "$input.text",
"memoryShares": []
}
}See Agent Persistent Memory for API paths, editor behavior, and extraction semantics.
Edge Object
{
"id": "edge-uuid",
"source": "input-node-id",
"target": "llm-node-id",
"sourceHandle": null,
"targetHandle": null
}Node Types
Common type values: Input (textInput), Cron, WebSocket Trigger (websocketTrigger), LLM, Agent, Condition, Switch, Output, JSON output mapper (jsonOutputMapper), Wait, HTTP, WebSocket Send (websocketSend), Merge, Set, Variable, Loop, and more. Full list: Node Types. Nodes in the same execution level run in parallel.
Position
Each node has position.x and position.y for canvas layout. The editor uses Vue Flow for rendering.
Related
- Node Types – All node types and descriptions
- Canvas Features – Editor features (data pin, execution logs, enable/disable, extract to sub-workflow)
- Download & Import – Export and import workflows as JSON
- Agent Node – Agent node
datastructure - Agent Persistent Memory –
persistentMemoryEnabled,memoryShares, and memory graph API - Expression DSL – Syntax for
userMessage,condition,$vars,$global, etc. - Parallel Execution – How nodes run in parallel
- Triggers – Start nodes and entry points
- Workflows Tab – Create and manage workflows