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

# Platform Overview

> How the OSVI platform fits together — agents, calls, campaigns, chat, and analytics

## What is OSVI?

OSVI lets you deploy AI agents that hold real phone conversations and chat sessions with your customers — handling support, sales, reminders, collections, and scheduling without human involvement. You configure agents in the dashboard, connect them to phone numbers or your own systems, and review every conversation afterwards with recordings, transcripts, and structured analysis.

## Core concepts

### Agents

An **agent** is the core unit of OSVI. It bundles everything that defines a conversation:

* **Personality and behaviour** — a system prompt
* **Voice** — a text-to-speech voice from the [voice catalogue](/platform/voices)
* **Hearing** — a speech-to-text provider and language
* **Intelligence** — an LLM provider and model
* **Knowledge** — optional [knowledge base](/platform/knowledge-base) documents the agent can search mid-conversation
* **Tools** — actions like transferring the call to a human

Agents come in two modes — **voice** (phone and web calls) and **chat** (text) — and two prompt structures:

| Structure         | Description                                                                                                       |
| ----------------- | ----------------------------------------------------------------------------------------------------------------- |
| **Single prompt** | One system prompt governs the entire conversation. Best for linear workflows.                                     |
| **Multi prompt**  | The conversation is broken into named states, each with its own prompt and transitions. Best for branching flows. |

See [Agents](/platform/agents) for the full configuration surface.

### Calls

A **call** is one phone or web conversation between an agent and a person. Calls are either **inbound** (someone dials a number attached to your agent) or **outbound** (started by a campaign or by [`POST /v1/call`](/api-reference/endpoint/call_v1)). Every call produces a record in [Conversations](/platform/conversations) with its recording, turn-by-turn transcript, status (`picked`, `not_picked`, `failed`, `busy`, `voicemail`), and — if enabled — [post-call analysis](/platform/call-analysis) results.

### Campaigns

A **campaign** is calling at scale. Upload a CSV of contacts, assign one or more agents, and OSVI works through the list — handling scheduling windows, retries for unanswered calls, duplicate detection, and do-not-disturb exclusions. See [Campaigns](/platform/campaigns).

### Chat sessions

A **chat session** is a stateful text conversation between a customer and a chat agent. Sessions can run fully autonomously, request human help, be taken over live by an operator, or escalate into a phone call. See [Chat agents](/platform/chat-agents).

### Knowledge base

Documents you upload that agents can search during a conversation to answer questions from your actual content rather than the model's general knowledge. See [Knowledge base](/platform/knowledge-base).

### Phone numbers

The numbers your agents call from and answer on. Buy numbers directly in the dashboard or bring your own via a SIP carrier integration. See [Phone numbers](/platform/phone-numbers).

## How a call flows through the platform

1. **Trigger** — an inbound dial, a campaign queue, or an API request starts the call.
2. **Conversation** — the agent greets (or waits), listens, thinks, and speaks in real time, using its prompt, knowledge base, and tools. [Call settings](/platform/call-settings) govern interruptions, silences, and audio.
3. **Wrap-up** — the call ends (by either side, on silence, or at the duration limit) and the recording and transcript land in [Conversations](/platform/conversations).
4. **Analysis** — if enabled, an LLM analyses the transcript: summary, extracted data fields, tags, and callback detection. See [Call analysis](/platform/call-analysis).
5. **Delivery** — results fire to your webhooks or Google Sheets, and show up in the dashboard.

## The dashboard

The **Home** page gives you an at-a-glance view of your operation over the last 7, 14, 30, or 90 days:

* **Stat cards** — total calls, today's calls, average and total duration, answer rate, active agents, and the inbound/outbound split.
* **Call volume trend** — daily call counts broken down by outcome (picked, not picked, failed, busy, voicemail). Click legend entries to toggle lines.
* **Top agents** — which agents are handling the most calls.
* **Calls by hour** — when your call traffic actually happens, useful for picking campaign windows.

## Typical integration patterns

<CardGroup cols={2}>
  <Card title="Outbound calling campaign" icon="phone-arrow-up-right" href="/platform/campaigns">
    Upload a contact list to a campaign. OSVI calls each number, runs the agent conversation, and posts results to your webhook.
  </Card>

  <Card title="Inbound answering" icon="phone-arrow-down-left" href="/platform/phone-numbers">
    Attach a number to an agent. Every inbound call is answered instantly, with overflow and after-hours covered.
  </Card>

  <Card title="Appointment reminders" icon="calendar-check" href="/api-reference/endpoint/call_v1">
    Trigger `POST /v1/call` for each appointment. Pass details via `additional_data` so the agent can reference them in conversation.
  </Card>

  <Card title="Lead qualification" icon="filter" href="/platform/call-analysis">
    Run agents on inbound leads. Collect structured answers via data extraction and push results to your CRM via webhook.
  </Card>
</CardGroup>
