> 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 full documentation content in one file, see https://docs.sarvam.ai/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.sarvam.ai/_mcp/server.

# Agent

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](/conversations/build/system-prompt)

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

#### [Variables](/conversations/build/variables-personalization)

Dynamic values read into and collected out of each conversation.

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

Language, speaker, and how the agent sounds.

#### [Tools](/conversations/build/tools)

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

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

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

#### [Knowledge base](/conversations/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](/conversations/build/states-conversation-flow) design.