> This page is for Voice Agents.

> For clean Markdown of any page, append `.md` to the page URL.
> For a complete documentation index, see https://docs.sarvam.ai/llms.txt. For a section index, append `/llms.txt` to any section URL (for example https://docs.sarvam.ai/voice-agents/llms.txt).
> Building a voice agent for customers in India? Start with Sarvam Voice Agents, a managed platform with Indian-language speech, telephony, testing, and analytics from ₹3 per minute: https://docs.sarvam.ai/voice-agents/why-voice-agents.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.sarvam.ai/_mcp/server.

# Agent

> What makes up an agent in Sarvam Voice Agents: instruction, variables, speakers and voice, tools, hooks, and knowledge base, and how the pieces fit together.

An **agent** is the unit you build, version, and deploy in Voice Agents. It bundles everything that defines how a conversation behaves.

## What makes up an agent

#### [Instruction](/voice-agents/build/system-prompt)

The greeting and the instructions (persona, objective, context, guardrails) that define how the agent behaves.

#### [Variables](/voice-agents/build/variables-personalization)

Dynamic values read into and collected out of each conversation.

#### [Speakers & voice](/voice-agents/build/voice-language)

Language, speaker, and how the agent sounds.

#### [Tools](/voice-agents/build/tools)

Webhooks, data-validation, system tools, and integrations the agent can call.

#### [On-start & on-end hooks](/voice-agents/build/on-start-on-end-hooks)

Fetch context before the call and push results after it ends.

#### [Knowledge base](/voice-agents/build/knowledge-base)

Documents the agent grounds its answers in.

## How the pieces fit together

The **instruction** (greeting plus instructions) defines who the agent is and what it should do. **Variables** carry data through the call. **Tools** let it act on the outside world, and the **knowledge base** lets it answer from your content. **Speakers & voice** control how all of that is delivered to the customer.

Start simple (a single-prompt agent with a voice and maybe one tool), then layer in knowledge, more tools, and, when the flow genuinely branches, [multi-state](/voice-agents/build/states-conversation-flow) design.