Branching
Branching is how a workflow splits into different paths based on the result of a step. Sim gives you two blocks for it — the Condition block, which decides with an explicit rule, and the Router, which lets a model decide from intent.
What you will learn
Branching the flow
After a step produces a result, branching sends the run down one path or another instead of straight through.
Condition: decide with a rule
The Condition block picks a branch from an explicit rule you write, a comparison over an earlier output.
Router: let a model decide
The Router reads the input and chooses a branch from natural-language intent, for when the rule is fuzzy.
A fork in the flow
Most workflows you've seen run in a line. Branching adds a fork: at some point the run looks at the result of a step and takes one path or another. The paths can do completely different work.
Here's the shape of a fork — one step decides, and the run takes one path or the other:
The Condition block — decide with a rule
The Condition block branches on an explicit rule — a comparison over an earlier block's output, like priority equals "high". The matching branch runs; the others don't. It's deterministic and predictable.
The Router block — let a model decide
Sometimes the rule is fuzzy: "send billing questions one way, everything else another." The Router block hands the decision to a model — it reads the input, picks the branch that matches the intent, and the run continues down it. Same fork, but the decider is reasoning instead of a fixed rule.
Still one workflow
Whichever way it forks, it's still one workflow, and every run is recorded. Open the logs and you can see exactly which path a given run took, and why.