Conditions, loops and waits in a flow
Branch a flow on a condition, repeat steps for every item in a list, and wait — for a few minutes, days, or until a date — with the twelve condition operators and what happens to a run while it waits.
The Logic & Flow group of the step library has four steps: Branch, Loop, Wait and Wait until.
Branch: do one thing or another
A Branch splits the flow in two. The steps under its true arm run when the conditions hold, those under false when they do not; either arm can be empty.
- Give it a Name — the question it asks, such as Order over €100?
- Match Type — All (AND): every condition must hold; Any (OR): one is enough.
- Under Conditions, for each: the value to check (a pill from an earlier step), the operator, and what to compare with.
| Operator | Holds when the value… |
|---|---|
| Equals / Not Equals | is, or is not, exactly the text you give |
| Contains / Does Not Contain | has the text somewhere in it, or does not |
| Starts With / Ends With | begins or ends with the text |
| Greater Than / Less Than | is a bigger or smaller number |
| Is Empty / Is Not Empty | is missing or empty, or has anything in it |
| Is True / Is False | is true (or 1), false (or 0) |
Comparisons are of text, letter for letter: Gold does not equal gold. A Branch can sit inside another.
Loop: repeat for each item
A Loop runs the steps inside it once for every item of a list — every contact a search returned, every row of a query.
- Iterate Over — the list, usually a pill from an earlier step.
- Item Variable Name and Index Variable Name — how the steps inside call the current item and its position, for example
{{loop.item.email}}.
The steps after the loop run once, when all items are done. A wait longer than 60 seconds cannot be inside a loop — publishing says so; put the wait before or after the loop.
Wait
Wait pauses the flow: Duration and Unit — Seconds, Minutes, Hours or Days, up to 30 days. Wait until pauses until a Date & Time, written like 2026-12-25T10:00:00Z (that is UTC); a date in the past does not wait.
A wait of more than a minute does not keep anything busy: the run is put aside and picks up again at the right time, even if Automation restarts meanwhile. Its run shows Waiting — resumes in 3h 20m: Runs.
- Test Step on a wait does not wait; it says how long a real run will.
- A run continues only if its flow is on when the wait ends; otherwise it is cancelled. Pausing a flow, or a recipe, stops its waiting runs this way.
- A new version published during a wait does not change runs already waiting: they continue on the version they started with.
Pass data along
Every step's result is available to the steps after it, through the variables panel { }: The flow editor. Inside a branch, use only the results of steps on the same path — a step on the other arm did not run.
If something doesn't work
Delay step "…" waits longer than 60 seconds inside a loop.
Move the wait out of the loop, or make it 60 seconds or shorter.
The branch always takes the same way
Check the value on the run's page — Input of the branch shows what it compared. Most often the case differs, a number came as text with spaces, or the pill points to a step that did not run.
Wait until: "…" is not a date and time
Write the date as 2026-12-25T10:00:00Z, or take it from a step that gives one in that form.