Condition
Multi-path branching based on rules and named routes.
The Condition node evaluates one expression against a list of rules, then sends the run down the matching route. Unlike Filter, which only passes or blocks execution, Condition can create multiple named output handles such as high, low, buy, sell, or other.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Node Label | text | No | Display name shown on the canvas |
| Response Name | text | Yes | Name used by downstream nodes, such as {conditionResponse.route} |
| Expression | template | Yes | The upstream value to evaluate, such as {birdeyeResponse.data.value} |
| Rules | visual builder | Yes | One or more operator, value, and route rows |
| Fallback Route | text | No | Route to use when no rule matches |
Rule format
Each rule compares the node's Expression to a value and directs the run to a route:
[
{ "operator": "greater_than", "value": "150", "route": "high" },
{ "operator": "less_than", "value": "100", "route": "low" }
]If the Expression is above 150, the high route executes. If it is below 100, the low route executes. If no rule matches, the Fallback Route executes. If no fallback route is set, unmatched runs use default.
The rule value can also use a variable, such as {settingsResponse.maxPrice}, if you want to compare one upstream value against another upstream value.
Operators
| Operator | Use it for |
|---|---|
equals | Exact matches |
not_equals | Anything except one exact value |
contains | Text or list-like values that include a substring |
greater_than | Numeric value is higher than the rule value |
less_than | Numeric value is lower than the rule value |
greater_than_or_equal | Numeric value is at least the rule value |
less_than_or_equal | Numeric value is at most the rule value |
Connecting routes
Each complete rule creates a named output handle on the node. The fallback route also creates a handle when you enter one. Connect each handle to the downstream node that should run for that branch.
For example:
- Connect
highto a Telegram alert. - Connect
lowto a buy workflow. - Connect
otherto a Log node.
Output
When a rule matches:
{
"route": "high",
"value": "175.32",
"matchedRule": {
"route": "high",
"operator": "greater_than",
"value": "150"
},
"evaluatedAt": "2026-05-14T10:00:00.000Z"
}If the rule value itself was a template (for example {settingsResponse.maxPrice}), the resolved comparison value also appears under matchedRule.resolvedValue.
When no rule matches, matchedRule is omitted and route is the Fallback Route (or "default" if no fallback is set):
{
"route": "default",
"value": "120.5",
"evaluatedAt": "2026-05-14T10:00:00.000Z"
}Downstream nodes read the Condition result with the response name:
{conditionResponse.route}
{conditionResponse.value}
{conditionResponse.matchedRule.operator}Common use cases
- Route different price ranges to different actions
- Branch based on AI sentiment analysis results
- Handle success vs. error paths from upstream nodes
