Skip to content

Conditional logic in scenarios

Build smart decision logic into your workflows—no coding required.


A condition is a rule that answers a simple yes/no question based on your data.

Examples:

  • Is the price greater than $100?
  • Is the customer’s age exactly 25?
  • Does the product list contain “apple”?

The Condition Evaluator lets you ask these questions and automatically make decisions based on the answers.


Every condition has:

  1. An operation – what kind of check you’re doing
  2. Arguments – the values to compare or examine
{
"op": "OPERATION_NAME",
"arguments": [value1, value2]
}

Used to compare numbers or text:

OperationDescriptionExampleResult
EQEquals5 == 5✅ Yes
NENot equal5 != 10✅ Yes
GTGreater than10 > 5✅ Yes
GTEGreater than or equal5 >= 5✅ Yes
LTLess than3 < 7✅ Yes
LTELess than or equal4 <= 4✅ Yes

Example

{
"op": "GT",
"arguments": [25, 18]
}

Used to combine multiple conditions:

OperationDescriptionWhat It Does
ANDAll must be trueTrue only if all match
ORAt least one must be trueTrue if any match
NOTReverses the resultTrue becomes false, and vice versa

Example

{
"op": "AND",
"arguments": [
{ "op": "GT", "arguments": [25, 18] },
{ "op": "EQ", "arguments": ["status", "active"] }
]
}

Used to check if something belongs to a list:

OperationDescriptionExample
INIs a value in a list?“apple” in [“apple”, “banana”]
NOT_INIs a value not in a list?“grape” not in [“apple”, “pear”]
CONTAINSList contains a specific item?[“red”, “blue”] contains “red”

Example

{
"op": "IN",
"arguments": ["premium", ["basic", "premium", "enterprise"]]
}

Used to check if something exists or is empty:

OperationDescription
IS_EMPTYIs it empty? (like "", [])
IS_NOT_EMPTYHas content
IS_DEFINEDExists and is not null or undefined

Example

{
"op": "IS_EMPTY",
"arguments": [[]]
}

Is the customer eligible for a discount?

Must be over 18, premium member, more than 5 purchases

{
"op": "AND",
"arguments": [
{ "op": "GT", "arguments": [21, 18] },
{ "op": "EQ", "arguments": ["premium", "premium"] },
{ "op": "GT", "arguments": [7, 5] }
]
}

Show product if:

  • In stock OR available for pre-order
  • AND customer location is in service area
{
"op": "AND",
"arguments": [
{
"op": "OR",
"arguments": [
{ "op": "GT", "arguments": [5, 0] },
{ "op": "EQ", "arguments": ["pre-order", "available"] }
]
},
{
"op": "IN",
"arguments": ["New York", ["New York", "California", "Texas"]]
}
]
}

Order must:

  • Total > $10
  • Email is not empty
  • Payment method is defined
{
"op": "AND",
"arguments": [
{ "op": "GT", "arguments": [25.99, 10] },
{ "op": "IS_NOT_EMPTY", "arguments": ["[email protected]"] },
{ "op": "IS_DEFINED", "arguments": ["credit_card"] }
]
}

  • Start with simple checks
  • Use correct types (number vs text)
  • Build complex logic step-by-step
  • Use arrays properly for IN/NOT_IN/CONTAINS
  • Mix types unless intentional
  • Overload a single condition
  • Omit required fields (op, arguments)

{
"op": "AND",
"arguments": [
{ "op": "GTE", "arguments": [25, 18] },
{ "op": "LTE", "arguments": [25, 65] }
]
}
{
"op": "IN",
"arguments": ["medium", ["small", "medium", "large"]]
}
{
"op": "NOT_IN",
"arguments": ["pending", ["cancelled", "failed", "expired"]]
}

“Operation cannot be null”

  • Add the "op" field
  • Check for typos in the operation name

“Binary operation requires exactly 2 arguments”

  • Operations like GT, EQ, etc. need exactly 2 values

“Cannot compare String with Number”

  • Use same type for both values (e.g., don’t compare "5" with 5)

  1. Start with the question: What are you checking?
  2. Choose the right operation (EQ, GT, IN, etc.)
  3. Add the comparison values
  4. Test simple examples
  5. Gradually combine with AND, OR, NOT

The Condition Evaluator lets you automate decision-making in your workflows—no code, no hassle. It’s your tool for building clean, readable, powerful logic.

Need help? Reach out at [email protected] or ask your onboarding specialist. We’re always happy to assist.