Control Flow
Branch, filter, delay, loop, and stop execution inside an automation graph.
Control-flow nodes sit on flow wires and change how execution proceeds. They do not send Discord messages themselves — they route the run to different branches or end it early.
If
Splits into True and False branches based on a boolean input. Wire the condition from a compare node, role check, or other logic output.
Filter
Continues the run only when the condition is true. When false, the run ends silently — no error, no further actions.
Useful for gating actions without adding a visible branch in the graph.
Delay
Pauses the run for a duration (up to 28 days), then continues on the output flow wire. Long delays are resumed via a background queue — the automation does not hold an open connection.
Stop
Ends the run immediately. This is a terminal node with no flow output.
Switch
Routes flow to a matching case branch based on a wired value, with a default branch for unmatched values. Cases are defined on the node and appear as separate flow outputs.
For Each
Iterates over a wired array. Exposes two branches:
- Each — runs once per item
- Done — runs after all items are processed
Item and Index outputs are only valid inside the Each branch. Using them outside that branch fails validation on publish.
Nested For Each loops are limited to 3 levels.
Continuation Action
Not a control-flow node itself, but closely related: wire a Continuation Action into a button on a template. When a member presses that button, a new automation run starts on the button's On Press branch with the presser available — it does not resume the original run.
Related
How is this guide?