Workflows
A workflow is a graph the engine runs in topological order, piping each node's output into its downstream neighbours.
The model
A workflow is { nodes, edges }. Exactly one trigger node starts it; the engine walks the graph in dependency order and pipes each node's output to the next. The graph must be a DAG.
Node types
| Type | Does |
|---|---|
| trigger.* | Entry point: manual, scheduler (cron), webhook, channel, or event. |
| agent | Runs an agent (multi-step, uses its own tools). |
| skill / plugin.action | Calls one registered action/skill. |
| condition | Branches true/false — the untaken path is pruned. |
| set_variable | Writes ${vars.*} for all later nodes. |
| human.handoff | Pauses the run for a person; resumes on decision. |
| end | Terminal; its input is the final result. |
See Nodes & data flow for the full interpolation model, and the dedicated pages on branching, error paths, variables, and human-in-the-loop.