Flows
A flow is a graph of steps that runs when something triggers it. Each step does one thing — call an API, run an assistant, reshape data, decide what happens next — and stores its result where later steps can read it.- A trigger starts the run. Whatever it receives becomes
$.trigger. - Steps do the work. Each stores its result under its own step ID.
- Steps read each other’s results with variable mapping — any string beginning with
$..
How a run behaves
Four things are worth knowing before you build anything.Steps do not run in sequence
Steps do not run in sequence
The runner is a concurrent graph executor. Every step with no incoming edge starts at once, and a step starts as soon as all of its predecessors have finished. Independent branches run in parallel.
A Condition's outcome decides what runs next
A Condition's outcome decides what runs next
Arrows in the editor are not routing. A Condition step names the step IDs to run — one, several, or the reserved
RESOLVE_SUCCESS / RESOLVE_ERROR to end the run. A line no outcome names is decoration.The first error ends the whole run
The first error ends the whole run
There is no per-step error branch. The failing step records the error, the run is cancelled, and anything still in flight is abandoned. Results from steps that already finished are kept. See Building Reliable Flows.
Editing changes the draft, not the live flow
Editing changes the draft, not the live flow
Save keeps your work. Publish is what makes it take effect. Testing in the editor runs the draft, so a flow that behaves correctly under test can still be running its old published version until you publish.
What a step can read
Every step payload is resolved before the step runs. The data it can select from has these top-level keys and nothing else:Building one
1
Create a flow
Flows live in collections. Create one from the Flows list.
2
Add a trigger
Pick how the flow starts — a URL, a schedule, an email address, a form on your site. See Triggers.
3
Add steps
Drag in the steps that do the work and wire them together. See Steps.
4
Test the draft
Test runs the draft against a payload you type, standing in for
$.trigger.5
Publish
Publishing is what makes the flow live. Watch the first real runs under Monitoring.
Where to go next
Triggers
Every way a flow can start, and which ones can lose an event
Steps
The step types and how a run moves between them
Built-in Functions
Storage, streams, encoding and templating
Variable Mapping
The
$. syntax, in fullRules Engine
Deriving values and decisions from a rule set
Building Reliable Flows
Failures, retries, timeouts and recovering a part-completed run