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

# Flow Control Overview

> Learn how to control workflow execution flow with conditional branching logic.

# Flow Control Overview

Flow control steps enable conditional logic in your workflows, allowing you to route execution through different paths based on data conditions.

## When to Use Flow Control

Flow control steps are essential for:

* **Conditional routing**: Send different emails based on user type
* **Data validation**: Check conditions before executing actions
* **Complex logic**: Implement multi-path decision trees
* **Error handling**: Route to different paths based on success/failure

## Available Flow Control Steps

<CardGroup cols={2}>
  <Card title="True/False Branch" icon="code-branch" href="/workflows/flow-control/true-false-branch">
    Create binary conditional branches with AND/OR logic for multiple conditions.
  </Card>

  <Card title="Multi-Split Branch" icon="sitemap" href="/workflows/flow-control/multi-split-branch">
    Create multiple conditional branches, each with its own path and conditions.
  </Card>
</CardGroup>

## How Flow Control Works

Flow control steps evaluate conditions based on:

* **Workflow variables**: Data from trigger events or previous steps
* **Comparison operators**: Equal, not equal, greater than, less than, contains, etc.
* **Logical operators**: AND/OR for combining multiple conditions

When a condition is met, the workflow follows the corresponding path. When no conditions match (in multi-split branches), you can define a default path.

<Note>
  All flow control steps require at least one condition rule. Conditions are evaluated in order, and the first matching condition determines the execution path.
</Note>

<Tip>
  Use the variable picker in condition configuration to easily reference data from previous steps or trigger events.
</Tip>

## Condition Types

Flow control steps support various condition types:

### Field Comparisons

Compare workflow variables against:

* **Static values**: Fixed strings, numbers, dates, or booleans
* **Dynamic fields**: Other workflow variables for relative comparisons
* **Relative dates**: Dates relative to the current time (e.g., "7 days ago")

### Operators

Available comparison operators depend on the data type:

**String operators:**

* Equal, Not Equal, Contains, Not Contains, Starts With, Ends With

**Number operators:**

* Equal, Not Equal, Greater Than, Less Than, Greater Than or Equal, Less Than or Equal

**Date operators:**

* Equal, Not Equal, Before, After, On or Before, On or After

## Best Practices

<AccordionGroup>
  <Accordion title="Start with Simple Conditions">
    Begin with basic true/false branches before moving to complex multi-split logic. This makes workflows easier to understand and debug.
  </Accordion>

  <Accordion title="Use Descriptive Branch Labels">
    In multi-split branches, use clear, descriptive labels for each condition path to make your workflow self-documenting.
  </Accordion>

  <Accordion title="Test All Paths">
    Ensure you test every possible path in your flow control logic to verify correct behavior under all conditions.
  </Accordion>
</AccordionGroup>
