Skip to main content
A condition is a boolean test that lives on a Conditional Split step. The flow follows the true branch when the condition is satisfied, the false branch otherwise. TextYess gives you three ways to write a condition. Most of the time you’ll use the first one — pick from a list and fill in a value.

Presets

Ready-made conditions for the most common cases (“has placed an order”, “cart value over X”). Fill in a value, done.

Variable picker

Compare any value from memory (trigger data, message replies, previous step output) against another value. Built visually.

Custom expression

For power users — write a small expression in our sandboxed expression language. Full reference below.

Presets

Presets are the fastest way to express “what kind of customer is this?”. The editor groups them by category.
The preset picker showing presets grouped by category

Order presets

Checkout presets

Product presets

Conversation presets

Tag presets

Contact presets

Timeframes

Most order, checkout, and history presets accept a timeframe:
Since this flow started is the standard way to build “did the customer convert before we got to the discount message?” branches in abandoned-cart and browse-abandonment flows.

Variable picker

When no preset fits, use the variable picker. Pick a value on the left, an operator in the middle, and a value on the right. Both sides can be variables, literals, or numeric calculations.
The variable picker listing memory paths from the trigger and previous steps
Example: send a follow-up only when the order total is at least €100 and the customer is in Italy.
Variables you’ll commonly use: The picker shows what’s available for the trigger and previous steps in your flow — you don’t memorise paths.

Custom expressions

For everything else, write a custom expression. They’re short, predictable, and intentionally not full JavaScript.
The custom expression editor with an example expression typed in

Syntax basics

Use ==, not ===. Use and, not &&. The expression engine is not JavaScript — these will not work. The list of available operators above is exhaustive.

Functions you can call

Worked examples

When custom expressions are the only option

  • Combining two conditions with or (presets compose only with and).
  • Checking a webhook payload field — payload.cart_value > 50 after a webhook trigger.
  • Doing math — checkout.total_price - checkout.total_discount > 100.
  • Validating button replies — step_id.reply.text == "Yes".
Next: Messages & Templates — the WhatsApp template model that powers Send Message.