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

# Data and routing

> Give steps the right inputs and connect every outcome.

## Map data between steps

1. Define the earlier node's **Output fields**, including their types and required fields.
2. Select the later node and use **Add input from earlier data**, or add an **Inputs** field manually.
3. Choose its data source: **Workflow inputs**, an earlier step's output, its **Transcript**, or a **Fixed value**.
4. Match the source and destination types.

For example, collect a required `order_number` text field, then bind it to the matching input of **Call MCP tool**. Bind the tool's result to the next conversation step so it can explain the result.

| Data | Use it for |
| - | - |
| Workflow inputs | Context provided when a test or API run starts. Define these on Start. |
| Output fields | Structured results such as an order number, classification label, or summary. |
| Transcript | The step's conversation as text; empty for steps without conversation. |
| Fixed value | A constant such as an approved category or message parameter. |

The data picker explains unavailable choices. A field must be available on **every incoming route**: an optional field, skipped step, or unsuccessful tool result cannot supply a required value. Map data before a split, keep dependent work on its successful branch, or use separate destination steps.

## Select destinations

Drag an outcome connector to another node, or set the destination under **Routes** in the inspector. Select an existing connection to **Insert a step** or **Remove connection**. Use the outcome's **+** to insert a step on that route.

**Classify** chooses a named label from text. **Branch** evaluates its ordered rules against bound inputs; the first match wins, otherwise it uses the fallback. See [node types](https://docs.livefaces.ai/workflows/nodes.md).

## Handle unsuccessful outcomes

`error` and `timeout` use the single **Failure** end by default, if present. Expand **Errors and timeouts** to override them, for example with a brief explanation before ending.

Other outcomes need explicit destinations:

* `rejected`: the action was declined; offer an alternative or end.
* `denied`: authentication did not establish access; follow the denied path.
* `unknown`: an external action's result is uncertain; arrange a status check or review before another attempt.

For final results, define **Workflow output fields** and bind matching inputs on the relevant **End** nodes. Do not depend on success-only data from a failure path.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.