> For the complete documentation index, see [llms.txt](https://docs.cascade.io/cascade/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cascade.io/cascade/tools/flow/conditional.md).

# Conditional

A conditional tool evaluates an expression and halts downstream execution of the workflow if the execution equates to `False`. This is a helpful tool to only execute parts of a workflow based on certain conditions, potential examples include:

* Send an email *only* if a certain number of shipments have order priority of High
* Publishing a dataset to a data warehouse *only* if your dataset passes specific validation logic.

When writing your conditional expression, it's required that the expression evaluates to a boolean - `true` or `false`. Examples of boolean expressions include:

`ANY({OrderStatus} = "High")` - Return true if any record has an OrderStatus of "High".

`ALL({OrderStatus} = "High")` - Return true if *all* records have an OrderStatus of "High".

`AVG({Sales}) > 5000` - Return true if the average of a sales column is greater than 5000.

`ISNULL({var!Threshold})` - Return true if the global variable Threshold is not defined.
