What is a Workflow Run?
A workflow run is one execution instance of a directed acyclic graph of work nodes. Each node names an agent profile and a prompt template. The conductor validates the DAG, schedules ready nodes, dispatches runs through the runner pool, and persists state in the workflow store. Workflow runs are useful when a request has clear parallel or ordered subtasks, such as research -> synthesis -> review.Shape
Plan / PlanNode are the legacy Go names; WorkflowRun / WorkflowNode are aliases. The wire shape and storage layer are unchanged.
Status fields are numeric enums in full snapshots.
Example DAG
research-langgraphandresearch-autogenrun in parallel.comparestarts after both research nodes reachok.reviewstarts aftercomparereachesok.
Prompt Templates
Node prompt templates can reference upstream outputs:
Template validation happens before a workflow run is accepted. Bad references return
400 with a bad_template error.
Creating Workflow Runs
autoStart defaults to true. Set "autoStart": false to create a workflow run without submitting it to the engine, then call:
Streaming
snapshot event followed by plan_status events. Each frame carries the full workflow-run snapshot under the workflowRun key:
Repair
When execution pauses, a coordinator can repair the workflow run:AGENT_ORC_PLAN_MAX_REPAIRS limits how many repairs a workflow run can consume.
Orchestrator-Driven Mode
A coordinator agent can create a workflow run withautoStart: false, delegate node work itself, then mark nodes terminal with POST /api/workflows/runs/{workflowRunId}/nodes/{nodeId}/status.
Configuration
Env vars retain their
AGENT_ORC_PLAN_* prefix because the planner engine is still the underlying substrate.
Validation Errors
The conductor returns400 with stable prefixes for user-correctable workflow errors: