Skip to main content
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:
ChoiceOptions
Agent modeVoice Agent — conducts phone and web calls. Chat Agent — handles text conversations (see Chat agents).
Prompt structureSingle Prompt — one system prompt drives the entire conversation. Multi Prompt — chain multiple prompts for complex, branching flows.
Name1–50 characters, shown everywhere the agent appears.
DescriptionOptional, 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.
New agents start inactive. Activate an agent once it’s configured — only active agents can take calls.

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 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.

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.
  • 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.
  • 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.

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, Ozonetel, Exotel, and Vobiz.
  • 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.

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.
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.