Conditional Step

If/then branching based on a condition.

What it does

  • Evaluates a boolean condition and routes the flow down the true or false branch.
  • Helps you keep business rules readable without duplicating steps.

When to use it

  • To skip, reroute, or fail fast when inputs are missing or invalid.
  • To guard expensive calls (only call an API when prerequisites are met).
  • To apply different processing paths for VIP orders, countries, channels, statuses, etc.

How to configure

  • In the UI, build the condition using:
    • References to existing values (for example, data.order.total, steps.lookup.outputs.status, variables.warehouseId)
    • Literal values (numbers, text, booleans)
  • Combine checks with AND/OR, or invert with NOT.
  • Make sure your outgoing connections are labeled true and false (this is how Conditional routing is represented in the exported execution plan).

Condition operators

If you export/import scenarios as JSON, Conditional uses a condition expression with these operators:

  • Logic: AND, OR, NOT
  • Comparisons: EQ, NE, GT, GTE, LT, LTE
  • String checks: STARTS_WITH, ENDS_WITH, CONTAINS
  • Set/list checks: IN, NOT_IN, CONTAINS
  • Existence/emptiness: IS_DEFINED, IS_EMPTY, IS_NOT_EMPTY
  • Other: LENGTH

Practical example (VIP / high-value order routing)

Scenario goal: if an incoming order is VIP or its total is at least $100, send it down a priority fulfillment path; otherwise follow the standard path.

conditional_config

Typical patterns

  • Stop or reroute if required fields are missing or empty.
  • Send VIP or high-value orders down a special fulfillment path.
  • Only call an external API if inventory is available or a retry flag is set.