Boolean Helper
Making decisions based on comparing data
Last updated
Making decisions based on comparing data
Last updated
Oftentimes, you want to make a decision based on data you got in a previous step. This can be done with the Boolean Helper. Comparison types like greater, smaller, etc. are explained below. It's possible to compare different values like a reference with a static value. See this table
The Boolean Helper has only one default action - Make boolean-like comparison.
In the screenshot below, you see a typical example of where and how to use a boolean helper:
To get started, simply enter the data value you want to compare to in Value A and the to be compared with the value in Value B. As for the Comparison Type select the one that suits your use-case. The boolean helper fully supports our Jinja2 syntax, so you can dynamically insert values for comparison.
You can either select two relative values in Value A and Value B, meaning you can reference data from a previous step of the automation flow, or you can enter static data. E.g. in the example screenshot above, you can see Value A is a relative reference to a previous step indicated by the Jinja parenthesis {{ }}
. Value B on the other hand, has just the word "true" which is static and not a reference.
Value A | Value B | Common example |
---|---|---|
|
| Compare whether the new data matches the existing data, e.g. to check whether a CRM System needs to be updated. |
| static | Check whether a user's property is equal to a set value. For example, test if a user is part of a specific customer group. |
static |
| The same as line two so not really needed. |
static | static | This can be convenient to add manual gates into your flows. For example, you might want to send out emails to customers, but only once your Flow is live, and not for testing. So you can compare True to False, which will make the flow end at the boolean helper if nothing is connected to the false arrow. |
The boolean helper has many comparison types for values:
greater
- can be applied to any number or datetime format
smaller
- can be applied to any number or datetime format
equal
- can be applied to any number or datetime format
greater_equal
- can be applied to any number or datetime format
string_is
- can be applied to any string
string_begins
- can be applied to any string
string_ends
- can be applied to any string
string_includes
- can be applied to any string (not visible on the screenshot below, but is in the app)
Screenshot from the app:
Boolean helpers are often used as part of loops, when there is a larger list, dict or array of data, where each data record has a particular information based on which the boolean helper can make a decision and do something.
Let's suppose you have a list of users who contacted you on your website and depending on whether they already exist, you want to send a different email to them:
Thanks to Jinja, you are able to do a lot of different data comparisons with the boolean helper. Let's go over a few of them:
To figure out the length of a list, you can use the Jinja Builtin Filter | length:
{{ my_list | length }}
will return the length of a list. An empty list will always have a length of 0. So by comparing the length against a number of you choosing, you can either ensure that a list has at least one entry (>0), or that it meets a specific length requirement you have.
If you like to check whether a variable returns an empty string, you have to set Value B to {{ "" }}
. In this example, it is checked that a my_variable
is not an empty string. If my_variable
is an empty string it will return false
.
{{ my_variable is defined }}
will return either True or False, which you can compare against by using the "equal" comparison type.
You can chain multiple tests together in a single Jinja statement and return some conditional value. If you want to check that, for example, 2 of your variables are defined before the flow proceeds, you can use the following statement:
Then simply compare against True with the equal comparison, and your flow will only go along the TRUE arrow when both values are defined.