Input & Output
Output ports, data availability, and how execution context flows through the If Condition node.
Output Ports
| Port | When Triggered | Description |
|---|---|---|
true |
Condition expression evaluates to a truthy value | Execution continues along the true path. All nodes connected to this port are activated. The full execution context is forwarded unchanged. |
false |
Condition expression evaluates to a falsy value, null, undefined, or an evaluation error | Execution continues along the false path. Nodes connected to this port are activated. The full execution context is forwarded unchanged. |
Output Data
The If Condition node adds a single metadata field to the execution context to record the result of the evaluation:
| Field | Type | Value | Description |
|---|---|---|---|
condition_result |
boolean | true or false |
The resolved boolean result of the condition expression. Available to downstream nodes via the execution context for audit/logging purposes. |
| All input fields | as received | unchanged | Every field present in the incoming execution context is passed through to the output port without modification. Variables, prior node outputs, and input data remain fully accessible. |
Data Flow Example
The following illustrates the data available at each stage when an If Condition node is used to route orders by value:
// === Incoming Execution Context (available to condition) ===
{
"variables": {
"orderTotal": 12500.00,
"customerId": "C-8841",
"orderStatus": "pending"
},
"input": {
"order_id": "ORD-20240512-001",
"line_items": [ ... ],
"currency": "USD"
}
}
// === If Condition Configuration ===
{
"condition": "$var.orderTotal > 10000"
}
// === Evaluation ===
// $var.orderTotal resolves to 12500.00
// Expression: 12500.00 > 10000 → true
// === Output on "true" port ===
{
"variables": {
"orderTotal": 12500.00,
"customerId": "C-8841",
"orderStatus": "pending"
},
"input": {
"order_id": "ORD-20240512-001",
"line_items": [ ... ],
"currency": "USD"
},
"condition_result": true
}
// === "false" port ===
// Not fired. No nodes on the false path are executed.
Connecting Output Ports
In the BizFirstAI workflow designer, each output port appears as a labelled connector on the If Condition node. Drag a connection wire from the true port to the node that should handle the positive case, and from the false port to the node that handles the negative case. Neither port is required to have a connection — leaving a port unconnected simply ends execution on that branch.
Both ports can fan out to multiple downstream nodes if needed. When both true and false paths eventually need to converge (e.g., both paths write to a log), connect them both to the same downstream node. The downstream node will execute once for whichever branch fires.