# Conditional Branch

Choose a processing path based on conditions, routing different inputs to different steps.

Use it to branch by file type, field value, or API response status.

## Configure conditions and paths

Set a condition expression for each path and connect its nodes or processing chain.

The data used for the decision can come from a separate condition node or the previous step. Write expressions against its fields.

For example, if the decision input is `{"kind":"image"}`, use `.kind == "image"`. This example assumes `kind` is directly in that input. For fields elsewhere, follow [Variables and data flow](../../variables-and-data.md).

## Cover expected inputs

Conditions should be mutually exclusive and cover the inputs you need to handle. For file routing, include a path for types other than PDF and images.

Branches can connect to shared processing afterward. If their outputs differ, align the required fields before binding them to the shared node.

## Example: handle response status

Flow: Export Externally → Conditional Branch.

The success path checks the endpoint's accepted status range. Another path covers failure statuses and saves the response body for inspection.

Use [Parallel](parallel.md) to execute multiple independent paths at once.

## Related pages

- [Variables and data flow](../../variables-and-data.md)
- [Run and debug](../../run-debug.md)
