Condition node advanced expressions
Condition nodes can evaluate complex expressions beyond simple equality checks.
Expression syntax
Condition nodes use a JavaScript‑like expression language. Available operators:
- Equality –
==,!=,===,!== - Comparison –
>,<,>=,<= - Logical –
&&(and),||(or),!(not) - String operations –
.includes(),.startsWith(),.endsWith(),.match(regex) - Numeric operations –
+,-,*,/,%
Example expressions
- Check if answer is 'Yes' ignoring case:
answer.toLowerCase() == 'yes' - Check if serial number starts with 'SN':
serialNumber.startsWith('SN') - Check if age is between 18 and 65:
age >= 18 && age <= 65 - Check if product name contains 'Pro' or 'Max':
product.includes('Pro') || product.includes('Max') - Check if error code matches pattern:
errorCode.match(/ERR-\d{4}/)
Available variables
Within a Condition node, you can reference:
- Answers from any Question node (by node ID:
answers['nodeId']) - Values from any Input node (by node ID)
sessionId– Current session identifiertimestamp– Current server time (Unix timestamp)
Multiple conditions
A Condition node can have multiple branches. Order matters:
- Evaluate conditions in the order defined
- First condition that matches determines the path
- If no condition matches, follow the 'otherwise' (default) path
Example: If you have conditions for 'Gold tier', 'Silver tier', 'Bronze tier' in that order, a Gold customer will match the first condition and not check the others.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article