Workflows
A workflow is a pipeline you draw on a canvas: a trigger, then a chain of steps that run in the order you connected them. Some steps are AI, some aren’t — a condition, an API call, an email, a pause for a human to sign off. Nothing about the sequence is left to a model’s judgment, which is exactly why you’d choose one.
In one line
Reach for a workflow when the order of steps is the requirement. If you’d be upset that it ran the steps in a different order, it’s a workflow, not an agent.
Workflow or agent?#
Both automate. They differ in who decides the steps:
- An agent works out how to do the job each time, within the brief you wrote. Good when the situation varies and judgment is the point.
- A workflow does the steps you drew, every time, in that order. Good when consistency, branching, or non-AI steps are the point.
They compose: a workflow can call an agent as one of its steps, which is usually the right shape. Let the workflow own the sequence and the plumbing, and let an agent own the one step that genuinely needs thinking.
Building one#
Go to AI Studio → Workflows → New workflow. You get a canvas; drop nodes onto it and connect them.
Choose how it starts#
Every workflow begins with a Trigger node. The kind you pick decides what sets it off:
- On demand — you run it, or something else calls it.
- Scheduled — a recurring clock. See Schedules.
- Event — an incoming webhook.
- Integration — an event from a connected service.
- Data enrichment — a new or changed row in one of your tables.
Lay out the steps#
Drag in the nodes the job needs and connect them. The output of one becomes available to the next.
| Node | What it does |
|---|---|
| Agent | Hands the step to one of your agents |
| AI | A single model call with your prompt |
| Tool | Calls one specific tool |
| Knowledge Retrieval | Looks something up in a knowledge base |
| Condition | Branches on a test |
| Loop | Repeats a section |
| List Operator | Works through a list item by item |
| Code | Runs a code step |
| API Call | Calls an external HTTP endpoint |
| Image Generation | Produces an image |
| Send Email | Emails the result out |
| Human Input | Pauses for a person to answer or approve |
| Delay | Waits before continuing |
| Engagement Branch | Splits on how a recipient responded |
Test it#
Run the workflow from the canvas and watch each node light up as it executes. A node that fails shows you what it received, which is nearly always enough to spot the problem.
Publish a release#
When it works, cut a release with a short note. Releases are snapshots: you can promote one to production, and you can revert to an earlier one if a change turns out badly. Scheduled runs and external callers use the production release, so editing the canvas doesn’t disturb anything live until you promote.
Human approval in the middle#
The Human Input node is the one that makes long automations safe to adopt. Put it after the analysis and before anything consequential: the run pauses, a person answers, and the rest of the pipeline continues with their answer.
Use it when the decision is genuinely a judgment call and you want it made inside the pipeline. When the decision is a campaign change, prefer the Suggestions route instead — the proposal lands in Home with impact numbers attached, and the run doesn’t sit half-finished waiting.
Workflows can't quietly change your ad accounts
The same rule that governs scheduled agents applies here: a run with no human attached can’t push a change to a platform directly. Route campaign changes through proposal cards, or gate them behind a Human Input node.
Running a workflow#
- From the canvas, while you’re building.
- On a schedule — point a schedule at it.
- From an agent — give the agent the workflow as an integration and it can call it.
- Over the API — see the MCP note below.
Common flows#
- Monday client pack. Scheduled trigger → Agent node writes the analysis → Artifacts produce the PDF → Send Email delivers it to the client list.
- Guarded budget shifts. Agent node finds pacing problems → Condition on size of change → small ones become proposal cards, large ones hit a Human Input node first.
- Enrich a list. Data-enrichment trigger on a table → List Operator over the new rows → API Call per row → write results back to the table.
The judgment inside a step — brief one, then call it from a node.
SchedulesPut the whole pipeline on a clock.
TablesStructured rows a workflow can read from and write back to.
When to use whatThe mental model behind agents, workflows, and schedules.
List, inspect, and run workflows from your own tooling with list_workflows, run_workflow, and get_run_status. Releases are managed with create_release and set_production_release.