Filters and conditions

Filters and conditions allow users to control the execution of a Flow, based on data from previous actions.

Add filters and conditions

To add a filter or a condition, simply click Add filter or condition respectively and add the filters/conditions you want.

In the parameter field, existing in both filters and conditions, values from earlier steps in the Flow or tenant specific parameter values can be selected.

Add flow, filter editor

Filters

Filters stop the entire flow if the condition defined in them is not matched.

Example: If your Flow is relevant only for female employees, you could add this filter:

Filter example

If the value referenced by {{ step0.Body.gender }} is not equal to "Female", then the Flow will stop its execution. You can check messages in History for more detailed information. For example:

Filter output

Note that step0 represents your trigger and {{ step0.Body.gender }} comes from the data coming through the Flow. This will only make sense if the data from the trigger actually have a property called "gender" inside its body.

Conditions

A condition only stops the subsequent action if the condition is not matched.

Example: If you want to skip an action when a user is not a specific one, you can add a condition similar to:

Condition example

When a condition is not met, the History is updated:

Condition output

Grouping with and/or logical operators

Filters and conditions support single level grouping, AND/OR, and NOT logical operators. Two or more adjacent checked ungrouped filter rows can be grouped:

Grouping filters

Both individual filter operations and groups can be negated:

filter-negation

Additional examples

Check out this page for more filter examples.

Operations Cheatsheet

Here you can find a quick reference of the intended usage for the available operations.

Operation Use
Contains OR operation. Checks if any word from parameter (separated by a semicolon) is present in Value
ContainsAll AND operation. Checks if all words from parameter (separated by semicolons) are present in Value
EqualsTo Compares for strict equality parameter versus value
GreaterThanOrEqualTo Checks if the number for parameter is larger than or equal to the number in value
HasValue "True" if the parameter contains a value, "False" if it is null
IsEmpty Returns a boolean value indicating whether a variable has been initialized
LikeRegEx Checks if parameter meets a RegularExpression (RegEx) pattern in value (e.g., ^female, matches any parameter that begins with female)
LowerThanOrEqualTo Checks if the number for parameter is lower than or equal to the number in value
NotEqualsTo Returns "True" if the parameter does not have the same value of value; otherwise, it return "False"