> ## Documentation Index
> Fetch the complete documentation index at: https://docs.impresivai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Data Flow

> Control branching, routing, and iteration

# Data Flow Nodes

Data flow nodes control branching, routing, filtering, and iteration.

***

## If

Route execution by a boolean condition.

* Input: expression (e.g. `{{user.age}} > 18`)
* Output: `true` or `false` branch
* Supports numbers, strings, booleans, and nested variables

***

## Switch

Route execution based on a value.

* Input: expression or variable (e.g. `{{user.type}}`)
* Add multiple cases (e.g. `"admin"`, `"guest"`, `"member"`)
* Includes default fallback if no case matches

***

## Loops

Repeat steps for each item in a list.

* Input: array (e.g. `{{items}}`)
* Executes child nodes once per item
* Built-in variable: `{{loop.item}}`
* Optional fixed-count loops supported

Use this to send multiple messages, make batched API calls, or process each entry individually.

***

## Filter

Continue only when a condition matches.

* Input: condition (e.g. `{{email}} contains "gmail.com"`)
* Output: continues if true, skips if false
* Often used right after a trigger to clean data before logic

***
