> ## Documentation Index
> Fetch the complete documentation index at: https://docs.subverseai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Conditions

# Conditions

The **Conditions** node routes execution to different branches based on evaluated conditions. Each branch has an output connection, and data is routed to the first branch whose condition is true.

<img src="https://mintcdn.com/subverse-611dde60/UZLalX8VX2i72yfQ/images/agentverse/condition-logic-node.png?fit=max&auto=format&n=UZLalX8VX2i72yfQ&q=85&s=6ee852dbea44eddc50c1ce1dff39c2b4" alt="Conditions Node" width="800" height="1334" data-path="images/agentverse/condition-logic-node.png" />

***

## Use Cases

* Route an order to different fulfillment workflows based on order value
* Send different Slack messages depending on AI agent output
* Escalate to a human if an AI response confidence is low
* Branch on HTTP response status codes from an upstream node

***

## Node Reference

### Parameters

Each Conditions node has one or more **Condition Branches**. Each branch has a **Branch Name** and one or more rules.

| Parameter | Type | Description |
| - | - | - |
| **Branch Name** | String | A label for this branch (e.g. `Condition 1`, `High Value`) |
| **Rule Type** | Toggle | `Rule-based` — define a field comparison; `AI` — describe the condition in plain language |
| **+ Add Rule** | Button | Add an additional rule to this branch |
| **+ Add Condition Branch** | Button | Add a new output branch to the node |

***

## Rule Types

### Rule-based

Define conditions manually using field comparisons:

| Field | Description |
| - | - |
| **Value 1** | Left-hand side — reference upstream data using dot notation (e.g. `input.output_parsed.status`) |
| **Operation** | Comparison operator (see below) |
| **Value 2** | Right-hand side — static value or expression |

### Available Operators

| Operator | Description |
| - | - |
| `Equal` | Value 1 equals Value 2 |
| `Not Equal` | Value 1 does not equal Value 2 |
| `Greater Than` | Value 1 > Value 2 (numeric) |
| `Less Than` | Value 1 \< Value 2 (numeric) |
| `Greater Than or Equal` | Value 1 ≥ Value 2 (numeric) |
| `Less Than or Equal` | Value 1 ≤ Value 2 (numeric) |
| `Contains` | String contains substring |
| `Does Not Contain` | String does not contain substring |
| `Starts With` | String starts with prefix |
| `Ends With` | String ends with suffix |
| `Is Empty` | Value is empty, null, or undefined |
| `Is Not Empty` | Value has a non-empty value |
| `Regex Match` | String matches a regular expression |

### AI Mode

In AI mode, describe the condition in plain language. Orchestration evaluates the upstream data against your description using an LLM.

| Field | Description |
| - | - |
| **Condition Description** | Natural language description of the condition (e.g. "The customer is asking to speak to a manager") |

***

## Multiple Branches

Each condition creates a separate output branch. The node routes data to the **first** branch whose condition evaluates to `true`. If no condition matches and a fallback branch is enabled, data is routed to the fallback.

| Branch | Condition |
| - | - |
| Branch 1 | `{{ order.total }} >= 1000` |
| Branch 2 | `{{ order.total }} >= 500` |
| Branch 3 (Fallback) | Everything else |

***

## Output Data

Each branch receives the same input data that entered the Conditions node. No transformation is applied — conditions only control routing.

***

## Related Nodes

* [For Loop](./for-loop.md) — Iterate over an array conditionally
* [Human in the Loop](./human-in-the-loop.md) — Route edge cases for human review
* [AI Agent](./ai-agent.md) — Use AI mode with an upstream LLM node for complex evaluations


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.