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

# Agents

> Create and configure the AI agents that talk to your customers

An agent is everything about one AI persona in a single place: its prompt, voice, language, model, knowledge, tools, and telephony setup. This page walks through creating an agent and every tab on the agent detail page.

## Creating an agent

Go to **Agents → Create Agent** and choose:

| Choice               | Options                                                                                                                                       |
| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| **Agent mode**       | **Voice Agent** — conducts phone and web calls. **Chat Agent** — handles text conversations (see [Chat agents](/platform/chat-agents)).       |
| **Prompt structure** | **Single Prompt** — one system prompt drives the entire conversation. **Multi Prompt** — chain multiple prompts for complex, branching flows. |
| **Name**             | 1–50 characters, shown everywhere the agent appears.                                                                                          |
| **Description**      | Optional, for your own reference.                                                                                                             |

You can also **duplicate** an existing agent to use it as a starting point, and **archive** agents you no longer need.

<Note>
  New agents start **inactive**. Activate an agent once it's configured — only active agents can take calls.
</Note>

## The Agent tab — prompt and first message

* **First message** — what the agent says the moment the call connects. Leave it empty and the agent waits for the other person to speak first (common for inbound). The **interruptible** toggle controls whether the caller can talk over the first message.
* **System prompt** — the agent's identity, goal, rules, and tone. This is the most important field on the platform; read the [prompt writing guide](/platform/prompt-writing) before writing one. Prompts support `{{variable}}` templating filled from API call data or campaign CSV columns.

Every system prompt edit is **versioned**: when you save a change you record a reason (improved behaviour, bug fix, testing, or a custom note), and the version history lets you see what changed and when — useful when several teammates tune the same agent.

For **multi-prompt** agents, the Agent tab shows a visual prompt tree instead: named states, each with its own prompt and the conditions for moving between them.

## The Tools tab

Tools are actions the agent can decide to take mid-conversation. Currently you can add:

* **Transfer call to human agent** — when the conversation needs a person, the agent transfers the call to a phone number you configure. You control the message the agent says while transferring (a fixed message, or one generated to fit the conversation).

Agents also have built-in conversational abilities you don't configure as tools: ending the call gracefully when the conversation is done, detecting voicemail on outbound calls (the call is marked `voicemail` instead of burning minutes talking to a greeting), and switching language mid-call when the caller changes language.

## The Call Settings tab

Tuning for how the agent *behaves in the audio stream* — interruptions, silences, background sound, response pacing. This is dense enough to get [its own page](/platform/call-settings).

## The Advanced tab

* **LLM configuration** — pick the provider (OpenAI, Azure OpenAI, Google Gemini, Groq, and others) and model, and set the temperature. Lower temperature gives more consistent, on-script behaviour; higher gives more variety.
* **Text-to-Speech** — the agent's voice. Pick a provider and voice, with an audio preview. See [Voices](/platform/voices).
* **Speech-to-Text** — how the agent hears. Pick a provider and the language your callers speak. OSVI supports English and major Indian languages (Hindi, Tamil, Telugu, Kannada, Malayalam, Bengali, Gujarati, Marathi, Punjabi, and more, depending on provider).
* **Knowledge base** — attach uploaded documents and tune the retrieval relevance threshold. See [Knowledge base](/platform/knowledge-base).
* **Concurrency** — cap how many simultaneous calls this agent handles.

## The Call Analysis tab

Everything that happens *after* a call: AI summaries, data extraction, tags, callbacks, webhooks, and Google Sheets delivery. Covered in [Call analysis](/platform/call-analysis).

## The Memory tab

Memory lets an agent carry information **across** calls with the same customer instead of starting from zero each time. You define **conversation state fields** the agent should remember (for example "preferred callback time" or "last discussed plan") and choose each field's scope — shared across the organisation's agents or private to this agent. On later calls with the same contact, remembered values are available to the prompt.

## The Telephony tab

How calls reach this agent:

* **SIP** (default) — calls flow over a SIP trunk. Works with any supported carrier; see the integration guides for [Plivo](/plivo-integration), [Ozonetel](/ozontel-integration), [Exotel](/exotel-integration), and [Vobiz](/vobiz-integration).
* **WebSocket** — for Exotel's Voicebot streaming mode. You add one or more **channels**, each binding a phone number to your Exotel credentials (API key/token, subdomain, sample rate). Use this when the call should stay inside an existing Exotel app flow — details in the [Exotel guide](/exotel-integration).

## Testing an agent

The agent page includes a test panel:

* **Web call** — talk to the agent from your browser with a live transcript. No phone number needed.
* **Chat test** — message the agent in text form.

There's also a **public call link** (`/public-call/<agent-id>`) you can share with teammates or stakeholders so they can try the agent in their browser without an OSVI login.

<Tip>
  Iterate in the playground until the agent survives the awkward cases — interruptions, off-topic questions, "are you a robot?" — before attaching real phone numbers or campaigns.
</Tip>
