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

# Branch a Flow with conditions

> Use the Condition block in Fliqr AI to route contacts by custom fields, tags, channel, and other contact properties.

The **Condition** block splits a path. Evaluate contact data, then continue on the matching output.

## What you can test

Common condition inputs:

* **Custom field** — equals, contains, greater/less than, is empty
* **Tag** — is present / is not present
* **Channel** — WhatsApp, Instagram, Messenger, Telegram, SMS, and others
* **System properties** — for example locale or last interaction, when available in the picker

Combine multiple checks with AND/OR inside the block (up to the [conditions-per-block limit](/docs/core-concepts/flows/limits)).

## Build a branch

<Steps>
  <Step title="Collect or set data first">
    Conditions need something to evaluate. Capture with [User Input](/docs/core-concepts/flows/collect-data) or set a field earlier in the path.
  </Step>

  <Step title="Add a Condition block">
    Connect it after the data step. Add one rule per meaningful branch.
  </Step>

  <Step title="Connect each output">
    Wire the true/matching paths and always wire an **else / default** path for non-matches.
  </Step>

  <Step title="Test both sides">
    In **Test Flow**, force a matching and a non-matching contact state.
  </Step>
</Steps>

## Patterns

| Pattern                  | Example                                                      |
| ------------------------ | ------------------------------------------------------------ |
| Qualification gate       | If `budget` ≥ 1000 → sales Flow; else → nurture drip         |
| Channel-specific content | If channel is WhatsApp → send list message; else → text menu |
| Tag-based routing        | If tag `vip` → priority support path                         |
| Choice confirmation      | After dynamic multiple choice, Condition on the saved answer |

<Warning>
  Unconnected else-paths drop contacts into silence. Always define a fallback message, Default Reply, or handoff.
</Warning>

## Limits and tips

* Max **20 conditions** per Condition block — split into sequential Condition blocks if you need more.
* Prefer tags for coarse routing and custom fields for values.
* Keep branch labels readable on the canvas for later audits.

## Next

<CardGroup cols={2}>
  <Card title="Dynamic choices" icon="list" href="/docs/core-concepts/flows/dynamic-choices">
    Generate options, then Condition on the selection.
  </Card>

  <Card title="Go to Flow" icon="arrow-right" href="/docs/core-concepts/flows/go-to-flow">
    Hand off each branch to a specialized Flow.
  </Card>
</CardGroup>
