> 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. > 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. ## Docs - [Instruction](https://docs.sarvam.ai/voice-agents/build/system-prompt.md): Write the instruction for a Sarvam Voice Agents agent: the greeting, sections such as persona, objective, and guardrails, and tips for writing for voice. - [Variables & Personalization](https://docs.sarvam.ai/voice-agents/build/variables-personalization.md): Use variables in Sarvam Voice Agents: built-in Sarvam variables, input and output agent variables, call goals, tool usage, and how values flow through a call. - [Tools](https://docs.sarvam.ai/voice-agents/build/tools.md): Overview of tools in Sarvam Voice Agents: core tools, call transfer, API tools, data validation, and mocks, plus global vs state-level tools. - [Core tools](https://docs.sarvam.ai/voice-agents/build/tools/core-tools.md): Built-in core tools in Sarvam Voice Agents: end call, call transfer, knowledge base query, voicemail detection, and language switch, and when each is enabled. - [Call transfer](https://docs.sarvam.ai/voice-agents/build/tools/call-transfer.md): Set up call transfer in Sarvam Voice Agents to hand a live phone call to a number or SIP URI: supported providers, configuration, and troubleshooting. - [API tool](https://docs.sarvam.ai/voice-agents/build/tools/https-tool.md): Create an API tool in Sarvam Voice Agents to call HTTP endpoints mid-call: run timing, cURL import, auth, call-context variables, and network allowlisting. - [Data validation & verification](https://docs.sarvam.ai/voice-agents/build/tools/data-validation.md): Data Validator and Data Verifier in Sarvam Voice Agents (alpha): built-in tools that check the format of collected values or verify them against stored records. - [Mocking a tool](https://docs.sarvam.ai/voice-agents/build/tools/mocking-a-tool.md): Use the Mock API tool in Sarvam Voice Agents to test tool calls end to end against an echo endpoint before your real backend exists, then swap in your API. - [Code Tools](https://docs.sarvam.ai/voice-agents/build/tools/code-tools.md): Upload a Python file built with the Sarvam Conv AI SDK to create code tools in Voice Agents that call several services and shape how the conversation proceeds. - [On-Start & On-End Hooks](https://docs.sarvam.ai/voice-agents/build/on-start-on-end-hooks.md): Configure on-start and on-end API hooks in Sarvam Voice Agents to load caller context before a call and push outcomes and collected fields after it ends. - [Knowledge Base](https://docs.sarvam.ai/voice-agents/build/knowledge-base.md): Create knowledge bases in Sarvam Voice Agents so agents answer from your files, attach them to agents, and learn how retrieval and KB descriptions work. - [Agent versioning](https://docs.sarvam.ai/voice-agents/build/agent/versioning.md): How agent versioning works in Sarvam Voice Agents: draft, committed, and deployed versions, testing before you deploy, and rolling back a bad release. - [Speakers & voice](https://docs.sarvam.ai/voice-agents/build/voice-language.md): Configure how a Sarvam Voice Agents agent sounds: Bulbul V3 or V4 voices, per-language voices, speed, pitch, pronunciation dictionaries, and voice cloning. - [Conversation Settings](https://docs.sarvam.ai/voice-agents/build/conversation-settings.md): Configure Sarvam Voice Agents call settings: language switching, temperature, interruptions, background sound, nudges, max call length, and voicemail.