Flow Studio
Multiple Output Ports
Several node types produce multiple named output ports based on their decision logic. These ports represent exclusive routes — at most one is activated per execution. Understanding which nodes use multiple outputs, and how they route, is essential for building branching workflows.
Nodes with Multiple Output Ports
| Node | Output Ports | Routing Logic |
|---|---|---|
| if-condition | true, false | Expression result: truthy → true, falsy → false |
| switch | One per case + optional default | Value match: first matching case wins |
| filter | match, no-match | Condition truthy → match, falsy → no-match |
| loop | body (per iteration), done (after loop) | body fires N times; done fires once when complete |
| try-catch | try, catch, finally | try on success; catch on error; finally always |
| form / approval / chat | Decision-specific (submitted/approved/rejected/timeout) | Routes based on human response |
| parallel-fork | Configurable named branches | All branches activate simultaneously (parallel) |
Fan-Out from Main Output
Even simple nodes with a single main output port support fan-out: you can connect the same output port to multiple downstream nodes. All connected downstream nodes execute in parallel when the output port fires.
// Example: send email AND write to database simultaneously
httpRequest.output → sendEmail.input
httpRequest.output → databaseInsert.input
// Both execute after httpRequest completes
switch Node Configuration
The switch node's output ports are dynamic — each case you define in the config creates one port. Configure cases in the right panel:
- Set the Value Expression (e.g.,
$json.priority) - Add cases: Low, Medium, High (each creates a port with that key)
- Optionally enable a Default port for unmatched values
- Connect each output port to the appropriate downstream handler
Exclusive vs Parallel
Named output ports on decision nodes (if-condition, switch, approval) are exclusive — only one fires per execution. Fan-out from a single output port is parallel — all connected nodes fire. Understand this distinction to avoid unexpected parallel execution when connecting the same port to multiple targets.