> 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.

# Core Concepts

> The resource model behind FormantAI Voice integrations.

## Agent

An agent is the AI voice worker that handles a call. It contains the prompt, voice, transcriber, tools, retry behavior, webhook targets, and phone configuration.

## Call

A call is one attempt to reach a phone number. Start calls with `POST /v1/call` or through a batch campaign.

## Conversation

A conversation is the stored call record. It includes status, timestamps, transcript, results, trace ID, and recording access when available.

## Batch Call

A batch call is a CSV-based campaign. You upload contacts and the platform starts one call per row using the selected agent.

## Call Parameters

Call parameters are key-value pairs passed into an agent at call time. `customer_phone` is required for outbound calls. Other parameters can personalize the prompt, tools, analytics, and webhooks.

```json
[
  { "name": "customer_phone", "value": "+919876543210" },
  { "name": "customer_name", "value": "Rahul" },
  { "name": "loan_id", "value": "LN-12345" }
]
```

## Results

Results are structured outputs extracted from the conversation. Configure the agent to collect the fields your downstream systems need, such as intent, disposition, callback request, payment promise, or lead qualification.

## Transcript

The transcript is the ordered conversation text. Webhooks can include it for completed calls, and the Conversations API can retrieve it later.

## Recording

Recordings are available for calls where the telephony provider returns recording data. Use `GET /v1/conversations/{conversation_id}/recording` to download the audio.

## Webhook Target

A webhook target is an HTTPS endpoint configured on an agent. Each target subscribes to selected events and can independently include transcript and recording URL fields.

## Retry Context

Retry context lets a follow-up call resume with data from a previous attempt. It can include collected data, a custom opening message, language, and stage ID.

## Trace ID

Every initiated call returns a `trace_id`. Store it. It is useful for debugging, support, logs, and correlating webhooks with API requests.