How Flows Execute
Understanding how flows execute helps you build more reliable automations.
Execution Flow
- A trigger fires — Something happens (a chat command, a subscription, a timer tick) that activates a trigger node
- Forward propagation — The engine walks downstream from the trigger, executing each connected node in order
- Data flows through edges — Each node receives data from its inputs, processes it, and sends results to its outputs
- Effects execute — When the engine reaches an effect node, it performs the action (sends a message, switches a scene, etc.)
Key Behaviors
Data Nodes Are Lazy
Data nodes (Text Data, Number Data, Flow Variable, etc.) don't execute until a downstream node actually requests their value. This means unused data nodes don't waste processing time.
Nodes Can Run Multiple Times
If a node is connected to multiple upstream paths, it may execute more than once — once for each path that reaches it. This is by design and allows you to reuse nodes across different branches of your flow.
Effects Are Terminal
Effect nodes have no outputs. They are the end of the line — they perform an action and stop. You can have multiple effect nodes in a single flow, and they'll all execute when their inputs are satisfied.
Check Nodes Branch Execution
Check nodes have two (or more) outputs. Only one output path will execute based on the check's result. For example, an Is Moderator check will either continue down the "true" path or the "false" path, never both.
Cycle Detection
Flows cannot have circular connections. If Node A connects to Node B, and Node B connects back to Node A, the editor will prevent you from creating that connection. This prevents infinite loops.
Error Handling
If a node encounters an error during execution, the flow stops at that point. Downstream nodes will not execute. Check the flow's execution log for details about what went wrong.
Testing Your Flows
Use these tools to test and debug:
- Manual Trigger — Run your flow on demand without waiting for a real event
- Echo — The Echo effect logs its input to the execution log, letting you inspect data at any point in your flow
- Run button — Click the Run button in the toolbar to execute the flow immediately