Skip to main content

Workflows

Workflows orchestrate multi-step pipelines with shared state. Define steps (agents, functions, conditions, parallel execution), pass state between them, and handle retries and errors—all in a declarative, state-machine style.

Stateful Step-Based Execution

Shared State

Each step reads from and writes to a typed TState object passed through the workflow.

Step Types

AgentStep, FunctionStep, ConditionStep, ParallelStep.

Retry & Error Handling

Configurable retry policy and step result status (done, error, skipped).

Event-Driven

Optional EventBus for workflow lifecycle events.

WorkflowConfig

string
required
Display name for the workflow.
TState
required
Initial state object. Steps read from and merge updates into this state.
StepDef<TState>[]
required
Ordered array of steps. See Workflow Steps.
StorageDriver
Storage for workflow persistence (e.g., resuming, audit).
object
{ maxRetries, backoffMs } for failed steps. See Retry & Error Handling.
EventBus
Custom event bus for workflow events.

State Machine Concept

Workflows behave like state machines:
  1. Initial stateinitialState is the starting point.
  2. Steps — Each step receives the current state and can return a partial update.
  3. State merge — Updates are merged into the state before the next step.
  4. ResultWorkflowResult contains final state and stepResults.

Basic Example


WorkflowResult

TState
Final state after all steps (including any updates from steps).
StepResult[]
Per-step results: stepName, status (done | error | skipped), error?, durationMs.

Next Steps

Workflow Steps

AgentStep, FunctionStep, ConditionStep, ParallelStep.

Retry & Error Handling

retryPolicy, StepResult status, WorkflowResult.