AgentMeshLog inStart free

Workflows

Build a multi-agent workflow

Chain AI Agents into a No-Code Workflow · Watch on YouTube

A workflow is several agents handing work to each other, built by dragging steps onto a canvas. One agent that does one job well is easier to fix than one agent asked to do four, which is the real reason to split them up.

I built the engine these run on, and the failure at the bottom of this page is one I shipped on my own product rather than one I invented for a help article.

Build it

  1. Go to Workflows → Create workflow.
  2. Drag steps from the Step Toolbox on the left onto the canvas. Your agents are listed there alongside the built-in steps.
  3. Pick an Execution Mode (see below) and a Trigger — Manual, Scheduled or Webhook.
  4. Click a step to configure it: which agent, its timeout, its retries.
  5. Set the workflow Active, then Run it and watch the step rows fill in.

The five execution modes

ModeWhat it doesPlan
SequentialEach step runs after the one before itFree
ParallelSteps run at the same timePro
ConditionalBranch on a resultPro
Fan-outOne step spawns manyPro
LoopRepeat a step over itemsPro

A dependency graph is not a sixth mode in that dropdown. You build one by giving individual steps a depends_on list, and the engine works out what can run when. That is worth knowing because looking for a “DAG” option and not finding one is confusing.

The four step types

The toolbox holds your agents plus three built-in steps that do not call a model at all:

  1. Agent — runs one of your agents.
  2. Condition — branches on a value from an earlier step.
  3. Delay — waits before continuing.
  4. Transform — reshapes the data between two steps.

Condition, Delay and Transform cost nothing in tokens, because nothing is sent to a model. Reshaping data with a Transform is cheaper and far more predictable than asking an agent to reformat something.

Every agent step does cost tokens, so step count is the thing to watch. A two-step worked support example comes to $0.0144 at our real rates; a real logged run with a third, escalation step came to $0.0204.

Passing data between steps

By default a step receives the previous step’s text. That is fine for a chain of prose and useless for a branch, because a condition cannot reliably read a sentence.

So turn on structured JSON output on any agent whose result a later step needs to inspect. It is then instructed to return a single JSON object, and conditions and later steps can read its fields by name.

What goes wrong, and how it looks

A branch never runs, and every run says COMPLETED

This is the one to know about before it happens to you. If a condition can never match, its branch is skipped, the run finishes successfully, and nothing tells you. Source: I had 27 branches doing this for weeks on my own product while every run reported success.

A skipped step now writes its own row with a reason, so the evidence is in the run — but only if you read the step rows rather than the run status.

A step received nothing

Read that step’s input in the run. An empty answer at the end is almost always a break further up, and the step that looks wrong is rarely the one that is.

It will not run at all on the free plan

Only sequential workflows run on Free. Parallel, conditional, fan-out and loop need Pro, and a free account is refused with an error rather than quietly running the steps in order.

Next

  1. Change it safely once it is live — see How to edit an existing workflow.
  2. Run it without you — see Automate: schedules & webhook triggers.