> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.formantai.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.formantai.com/_mcp/server.

# Conversation stages

> Design structured voice flows with stages, transitions, tools, and retry resume points.

Stages turn an agent from one large prompt into a controlled conversation workflow. Use them when a call needs deterministic steps, branching logic, tool calls, data collection, or a specific retry point.

## Stage types

| Stage type | Use when                                                           |
| ---------- | ------------------------------------------------------------------ |
| `start`    | The call needs a clear entry point and opening behavior.           |
| `dialogue` | The agent should ask, listen, reason, and respond naturally.       |
| `verbatim` | The agent must say approved language exactly.                      |
| `tool`     | The flow should call an external tool or internal function.        |
| `internal` | The agent needs routing or hidden state that should not be spoken. |
| `end`      | The call should close, summarize, transfer, or hang up.            |

## Design a stage flow

Define the final disposition you need: qualified lead, resolved support request, payment promise, appointment booked, transfer required, or no-answer follow-up.

Split the conversation into small stages such as greeting, identity check, need discovery, tool lookup, confirmation, and close.

Keep tool access scoped to the stages that need live data or side effects.

Route on collected fields, caller intent, tool results, retry context, or language.

Test silence, interruptions, incorrect data, tool failures, transfer requests, and early hangups.

## Retry context

Retry context can resume a follow-up call with previous state, a custom opening message, language, collected data, or a stage ID. Use it when a second attempt should continue the workflow instead of starting from scratch.

Keep stage names stable and descriptive. They become operational handles for QA, debugging, and retry behavior.