Add condition branches to a flow
If and else-if branches, each with its own chain of steps. First match wins, top to bottom — which is the whole rule.
Conditions are what let the other steps compose into something that handles a real business. They are also where flows become unreadable if you are not disciplined.
The rule is simple and worth stating precisely: first match wins, top to bottom. The first branch whose condition is true runs, and nothing below it is considered. That has one important consequence — a broad condition placed early will swallow every narrow one beneath it, and the symptom is a branch that "never runs" for no apparent reason.

Steps
Add a condition step
It gives you If and Else-if branches, each carrying its own chain of steps.
Branch on something stable
Where the call came from, whether you are open, which IVR option they pressed. Branching on something that changes constantly produces a flow nobody can reason about.
Order from most specific to most general
The first match wins. Put your narrow cases above your broad ones, always — this is the rule that catches everybody at least once.
Always have a final catch-all
Every condition needs an else path. A call that matches nothing and has nowhere to go is a call left ringing.
Keep the nesting shallow
Two levels is readable. Four is a flow nobody will dare edit in a year, which means it will be replaced rather than maintained.
Test every branch, including the improbable one
The branch you are sure will never fire is the one that fires at 3am on a Sunday.
Check it worked
Read the flow top to bottom and, for each branch, say out loud when it would run. If two branches could both be true at once, check they are in the order you intended — because only the first will ever execute.
The parts people get wrong
- If a flow needs conditions three levels deep, consider whether an AI voice agent asking one question would replace all of them.
- A branch that appears never to run is usually being swallowed by a broader condition above it.