Skip to main content
A workflow is an acyclic graph of nodes and output-port edges. Your application defines the control flow; a model is involved only when you include an agent node or expose the workflow as an agent tool. Both workflow.NewGraph and workflow.LoadYAML produce a *workflow.Compiled. Built-in nodes share the same constructors and execution behavior in both paths.

Choose an entry point

Execution model

The walker dispatches eligible nodes in waves. Nodes in a wave see the same input state. Once they settle, their partial outputs are merged in stable node-ID order, their selected ports are recorded, and the next wave is derived. Input holds the run ID, accumulated context, per-node status, completed ports, and pause/resume state. It is the checkpoint you persist when the workflow pauses. The compiled graph holds node implementations and dependencies, not mutable per-run state.

Start with the examples

The SDK repository includes complete examples: Local workflow execution does not automatically persist checkpoints, retry nodes, or roll back side effects. Select the execution model and persistence strategy before exposing a workflow that performs external writes.