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

# Build a Retell agent: configuration overview

> Start building a Retell agent: pick an agent type, then configure the rest, including speech recognition, LLM responses, voice, and telephony behavior.

Building an agent means deciding how it understands callers, decides what to say, sounds when it speaks, and handles the parts of a call beyond talking, like voicemail and transfers. This page orients you across all of it. Start with [choosing an agent type](#choose-an-agent-type), since that decision shapes which other settings apply.

<Frame caption="Start from the Agents page in your dashboard.">
  <img src="https://mintcdn.com/retellai/wM4UcKxv3px1bKim/images/create-agent-dropdown.png?fit=max&auto=format&n=wM4UcKxv3px1bKim&q=85&s=06dddc89a70e150d4771e364d2ad9534" alt="Create an Agent dropdown with Voice Agent and Chat Agent options" width="1303" height="733" data-path="images/create-agent-dropdown.png" />
</Frame>

## Choose an agent type

Every agent is either a **voice agent** (talks on phone calls) or a [**chat agent**](/build/create-chat-agent) (text-only, reachable via API, an embeddable widget, or SMS). For your first voice agent, we recommend starting with a single prompt. See [Choose an agent type](/build/choose-agent-type) for when to use conversation flow instead.

<CardGroup cols={2}>
  <Card title="Single prompt agent" icon="file-lines" href="/build/single-multi-prompt/write-single-prompt">
    Describe the whole task in one prompt and let the agent adapt the conversation and tool use to the caller.
  </Card>

  <Card title="Conversation flow agent" icon="diagram-project" href="/build/conversation-flow/overview">
    Divide the task into nodes when you need tighter control over execution or less context per node.
  </Card>
</CardGroup>

<Note>
  The dashboard also lists **Multi-Prompt Agent** as a legacy option. See the [legacy multi-prompt guide](/build/single-multi-prompt/write-multi-prompt).
</Note>

## Understand what callers say

Retell picks a speech recognition [provider](/build/asr-providers) for your agent's configured [languages](/build/language-support). You can also tune [how transcription behaves](/build/transcription-mode) mid-call and [filter out background noise](/build/handle-background-noise) so it doesn't get transcribed as speech.

## Generate better responses from the LLM

Start with the [general prompting principles](/build/prompt-engineering-guide) to keep instructions clear and concise. You can also use [Agent Handbook](/build/agent-handbook) presets for specific behaviors and [Conversational Mode](/build/conversational-mode) for more natural replies. Enable these when the agent needs them. [LLM options](/build/llm-options) control model-level settings, including temperature, fast tier, and structured output.

## Customize the voice

Pick a [platform](/build/platform-voices) or [custom voice](/build/voice), including cloned voices, and tune how it delivers speech: [expressiveness](/build/expressive-mode), [pauses](/build/add-pause), [pausing silently when the caller asks it to wait](/build/no-response), and a [fallback TTS provider](/build/tts-fallback) if the primary one fails.

## Handle telephony scenarios

Configure what the agent does when a call isn't a normal back-and-forth: detect and respond to [voicemail and IVR menus](/build/handle-voicemail), capture [DTMF keypad input](/build/user-dtmf) from the caller, and pass metadata between systems with [custom SIP headers](/build/telephony/sip-headers).

## Give your agent context

Attach a [knowledge base](/build/knowledge-base) of URLs, documents, or text so the agent retrieves accurate answers instead of relying only on the prompt, and inject per-call data like names or account IDs with [dynamic variables](/build/dynamic-variables).

## Add guardrails

Turn on [guardrails](/build/guardrails) to automatically catch prohibited topics in the agent's responses and jailbreak attempts from the caller, replacing them with a safe message instead of ending or transferring the call.

## Test and deploy

Once the agent is configured, validate it in the [LLM Playground or simulation testing](/test/test-overview), then [purchase a number](/deploy/purchase-number) or [connect your own via SIP](/deploy/custom-telephony) to take calls.

If you manage agent configuration in code, follow the [TypeScript SDK agent creation guide](/get-started/create-agent-with-sdk) to create the response engine and agent, test the draft, and publish a version.


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