Branching

WorkflowsBranching

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.