Solaris AISolaris AI FlowDocs
Node ReferenceUtility

Condition

Multi-path branching based on rules and named routes.

View as Markdown

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

FieldTypeRequiredDescription
Node LabeltextNoDisplay name shown on the canvas
Response NametextYesName used by downstream nodes, such as {conditionResponse.route}
ExpressiontemplateYesThe upstream value to evaluate, such as {birdeyeResponse.data.value}
Rulesvisual builderYesOne or more operator, value, and route rows
Fallback RoutetextNoRoute 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

OperatorUse it for
equalsExact matches
not_equalsAnything except one exact value
containsText or list-like values that include a substring
greater_thanNumeric value is higher than the rule value
less_thanNumeric value is lower than the rule value
greater_than_or_equalNumeric value is at least the rule value
less_than_or_equalNumeric 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 high to a Telegram alert.
  • Connect low to a buy workflow.
  • Connect other to 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

Next steps

  • Filter - simple pass/block filtering
  • Edges - how branching connections work

On this page