Skip to main content

Workflow

Defines a complete workflow with nodes, edges, inputs, and outputs.

Fields

FieldTypeRequiredDescription
namestringYes-
nodesNode[]NoUse list_node_types and get_node_type tools for node type details.
edgesEdge[]NoSee Edge type below.
descriptionstringNo-
inputsmap[string]InputNoUse list_input_types and get_input_type tools for input type details.
outputsmap[string]stringNoCEL expressions mapping output names to values. Use get_cel_reference for CEL syntax.
presetsPresetsConfigNo-
entrystring[]No-
api_versionstringNo-
daemonCelDaemonSelectorNo-

Edge

Connects a source node to destination(s) with conditional routing.

Fields

FieldTypeRequiredDescription
fromstringYes-
casesEdgeCase[]No-
defaultstring[]No-

EdgeCase

Defines one conditional routing path from an edge.

Fields

FieldTypeRequiredDescription
tostring[]No-
conditionstringNo-
labelstringNo-

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.