Some work is too structured for one agent turn and too branching for a single Task Runner spec. A workflow is an authored Python script that orchestrates many agents through explicit stages — running them in parallel, chaining their output, and checking results before moving on.
You rarely write one by hand: describe the goal in plain English and the agent usually authors the script for you.
Reach for a workflow when the shape of the work matters as much as the work itself:
| Pattern | What it does | Example |
|---|---|---|
| Fan-out | Run the same step across many inputs in parallel | Review every changed file in a PR at once |
| Pipeline | Feed one stage's output into the next | Draft → critique → rewrite → format |
| Judge-and-verify | Produce a result, then have a separate agent check it | Generate a fix, then validate it against the spec |
For a single autonomous run from a spec, use the Task Runner. For ad-hoc parallelism inside a conversation, use Subagents. Workflows are for when you need repeatable structure across many agents.
The fastest way to a workflow is to describe the outcome and let the agent write the script:
"Write a workflow that takes every markdown file in
docs/, has one agent summarize each in parallel, then a second agent merges the summaries into a single index."
The agent produces a Python script that composes the stages. Read it, adjust it, and run it. Because it's plain Python, you can version it, share it, and re-run it whenever the inputs change.
Under the hood, a workflow coordinates the same background agents you can spawn yourself. Each stage can fan out to subagents, wait for their results, and pass a synthesized output to the next stage. The workflow script owns the structure — which stages run, in what order, and what "done" means — while each agent does the work.
The bundled Workflows app surfaces authored workflows in the dashboard so you can browse and run them without the CLI. Install and enable it from the App Store like any other app.
Workflows