Segment recipients into cohorts using Criteria filter and Criteria split
 Updated
Why segment recipients using criteria nodes?
Pendula allows you, at any stage in a flow, to split recipients or filter recipients into more precise cohorts. You can use existing data in the flow to build criteria.
For instance, you could check if a recipients record in a CRM has an 'optedOut' value of 'false', and choose to only continue the flow with those recipients. Or, you could make this criteria more complex, and check for whether the 'lastCommunication' (also stored in the CRM) is less than 5 days before today using a formula.
You can build advanced criteria with Pendula in two nodes; Criteria filter, and Criteria split.
What is Criteria filter?
Criteria filter checks recipients against provided criteria, and they can either pass (and will follow the success path) or they can fail (and will follow the fail path).
The criteria builder supports multiple types of values that you can build criteria with, including field, string, or number comparisons.
Make sure that the value you enter matches the value type selected. Some systems store data differently than others, so make sure to check the field types in the system the data is coming from.
What is Criteria split?
Criteria split enables you to build multiple 'criteria paths', and checks recipients against the criteria for each path. If it's match, the recipients follows the corresponding path. If multiple path's match, the highest priority (top) path is followed. If no paths are matched, they follow the 'Other' path
Functions and types
Formula
Formulas allow you to calculate expressions in realtime, right when criteria is being evaluated during an experience.
Formulas can be entered on the left or right hand side of an operator when the ‘formula’ type is selected. When the formula 'Value' field is selected, a handy formula picker dropdown will appear to help you write formula expressions:
The following formulas and arguments are currently supported:
DateAdd("interval", number, instant)
 Returns the result of adding the number of intervals to the given instant (e.g. add 5 days from now)

interval
— SECONDS, MINUTES, HOURS, DAYS 
number
— The number of intervals to add (e.g. 5) 
instant
— The instant to add to (a moment in time)

Now()
 Returns the current datetime
instant
In our above example, to use a formula that specifies ‘add 5 days from now’ you would enter: DateAdd("DAYS", 5, NOW())
ExperienceStart()
 Returns the
instant
the experience started (when the flow triggers for an individual recipient)
Field
The field
option allows you to reference data in fields (like a merge field). You can start typing to search available fields to select.
For example, if City
was a field in your system of record, you could use the field type and add a value (for instance, Sydney
) to filter recipients based on whether their city is Sydney or not.
Boolean
Boolean value type can be either true or false.
String
A string type is just a normal text string  using the field type example above, in the LHS you may have the field City
defined as above, in the RHS of the builder you might put Sydney
as a string value.
Number
A simple integer, e.g. 1234.
Examples
Offer expiry example
As an example, we can use Criteria filter to create an offer expiry period in the flow.
When a recipient replies to the original outbound SMS, the reply will come back into Pendula, and the split will check whether it was received before the expiry  i.e. was it received 2 days before or 2 days after the original messages sent?
In the criteria builder:

LHS Select type =
formula

Enter the formula =
DateAdd ("DAYS", 2, ExperienceStart())
(2 days from when the experience started)

Select operator =
less than

RHS Select type =
formula

Enter the formula
Now()
Essentially this criteria checks that the flow was triggered less than 2 days ago and the recipient has replied, they can continue through the the ‘success’ path of the split.