AUTOMATIONS

guide

Branching & flow control

Shape the path of a run with If / else, Stop if false, For each, Fail run, and Run automation.

Why flow control

A plain list of steps runs straight through, top to bottom. Flow-control steps let a run take different paths, repeat, or stop early — so one automation can handle several outcomes.

If / else

Splits the flow in two. You write a condition; if it's true the then branch runs, otherwise the else branch runs. On the canvas each branch has its own chain of steps, and you add steps inside a branch with its own "+" buttons.

Example condition: event.metadata.priority == "high"

Stop if false

A simple guard. If its condition is false, every remaining step is marked skipped and the run ends cleanly. Use it as an early exit when there's nothing more to do — it's lighter than an If / else when you only care about one path.

For each

Loops over a list — event metadata, the output of an earlier step, or an expression. The steps nested inside run once per item. Inside the loop you can reference the current item as ${item} and its position as ${index}.

Fail run

Stops the run immediately and marks it failed, with a message you write. Pair it with If / else or Stop if false to enforce a guard clause — for example, fail the run when a required field is missing so it shows up clearly in your run history.

Run automation

Invokes another automation as a sub-routine. You can optionally wait for it to finish before continuing, and pass input into it. The engine refuses cycles, so an automation can't end up calling itself in a loop.

Tip: condition vs. branching

Use the trigger's condition to decide whether a run should happen at all. Use a branching step to make decisions within a run that's already underway.

Next

Continue with Using dynamic values to learn how steps read event data.

Was this article helpful?

Talk to sales

Tell us what you're running today and we'll map it onto AppGram.

A real human replies within one business day.