Workflow
Defines a complete workflow with nodes, edges, inputs, and outputs.Fields
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | - |
nodes | Node[] | No | Use list_node_types and get_node_type tools for node type details. |
edges | Edge[] | No | See Edge type below. |
description | string | No | - |
inputs | map[string]Input | No | Use list_input_types and get_input_type tools for input type details. |
outputs | map[string]string | No | CEL expressions mapping output names to values. Use get_cel_reference for CEL syntax. |
presets | PresetsConfig | No | - |
entry | string[] | No | - |
api_version | string | No | - |
daemon | CelDaemonSelector | No | - |
Edge
Connects a source node to destination(s) with conditional routing.Fields
| Field | Type | Required | Description |
|---|---|---|---|
from | string | Yes | - |
cases | EdgeCase[] | No | - |
default | string[] | No | - |
EdgeCase
Defines one conditional routing path from an edge.Fields
| Field | Type | Required | Description |
|---|---|---|---|
to | string[] | No | - |
condition | string | No | - |
label | string | No | - |
Syntax Sugar (YAML-only)
These fields are not part of the proto schema — they are YAML convenience features that desugar to standard nodes, edges, and entry at parse time.sequence:
Top-level workflow field. Replaces entry: + nodes: + sequential edges: for linear chains. Cannot coexist with entry:.
type: parallel (node type)
A node with type: parallel and branches: expands into branch nodes + a join node + fan-out/fan-in edges. The parallel node’s id becomes the join node’s id.
See workflow documentation for full examples and usage patterns.