Skip to main content
The Compare step evaluates two values and returns true or false. Use it to build conditional branches in your agent — route a conversation based on a classification result, check whether a score exceeds a threshold, or verify that a date falls within range. Compare automatically detects whether the values are numbers, dates, booleans, or strings and applies the appropriate comparison logic. No manual type casting required.

Configuration

1

Left operand

The first value to compare. Accepts plain text or an expression like {{Steps.Classifier.Value}}.
2

Operator

The comparison to perform. See the full operator table below.
3

Right operand

The second value. Not required for Is Empty and Is Not Empty operators.
4

Case sensitive

Toggle for string comparisons. Off by default — "hello" matches "Hello". Turn on when exact casing matters.

Operators

These work with all detected types — numbers, dates, booleans, and strings.
OperatorWhat it checks
EqualsLeft is exactly equal to Right
Not EqualsLeft differs from Right

Automatic type detection

Compare inspects both values and picks the best type in this order:
PriorityDetected asExample valuesNotes
1Booleantrue, falseOnly Equals / Not Equals are valid
2Number42, 3.14, -100, 1e-5Parsed as decimal for precision
3Date2026-03-26T14:30:00ZISO 8601 with timezone required
4StringEverything elseFallback — all operators available
Type detection runs on the resolved values, not the raw expression text. If {{Steps.Score.Value}} resolves to "85", it will be detected as a number, not a string.

Output

The step returns a boolean: true if the comparison passes, false if it does not. Use the output to drive conditional routing downstream:
{{Steps.Compare.Value}}  →  true / false

Use case: route by customer tier

An e-commerce agent receives an order and needs to apply different handling based on the customer’s annual spend. Agent flow:
Input → Fetch Customer (HTTP) → Compare → [Branch]
                                   ├─ true  → VIP Handler (AI Model)
                                   └─ false → Standard Handler (AI Model)
Compare configuration:
FieldValue
Left{{Steps.Fetch_Customer.Output.Body.annualSpend}}
OperatorGreater Than or Equal
Right10000
Case sensitive— (not applicable for numbers)
When the customer’s annual spend is 10,000 or more, the Compare step returns true and the agent routes to the VIP handler. Otherwise, it routes to the standard handler.

Tips

Combine Compare with a conditional {{ if }} block in a downstream prompt to act on the result:
{{ if Steps.Compare.Value == 'True' }}
This customer qualifies for priority support.
{{ else }}
Follow standard support procedures.
{{ end }}
String-only operators (Contains, Starts With, Ends With) will fail at runtime if the resolved values are detected as numbers or dates. If you need substring matching on a value that looks like a number (e.g., a product SKU like "12345"), ensure at least one value contains non-numeric characters so it falls through to string detection.