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

# Chat Agents

> Run agents over text — embed them in your product, supervise live, and escalate to voice

Chat agents are the same idea as voice agents — a prompt, a model, knowledge, tools — running over text instead of audio. Use them for in-product support, lead capture on your website, or WhatsApp/SMS-style conversations through your own gateway.

## Creating a chat agent

Create one from **Agents → Create Agent** by choosing **Chat Agent** as the mode. Configuration mirrors voice agents — system prompt (single or multi prompt), LLM provider and model, [knowledge base](/platform/knowledge-base) attachments, and memory — minus everything audio-specific. The [prompt writing guide](/platform/prompt-writing#writing-for-voice-vs-chat) covers how chat prompts should differ from voice prompts.

## Sessions

A conversation with a chat agent is a **session**: it belongs to one customer (identified by a `customer_id` you choose), keeps the full message history, and carries metadata you pass in — form fields, account context, prior interaction summaries.

Sessions have a **status** — `active`, `dormant` (quiet for a while), or `closed` — and a **mode**:

* **`ai`** — the agent responds autonomously.
* **`support`** — a human operator is involved.

You drive sessions programmatically with the [Chat v1 API](/api-reference/introduction#chat-api): create a session, send customer messages and read the agent's replies, and [inject context](/api-reference/endpoint/chat/inject_context) mid-conversation (for example, a summary of a phone call that just happened, so the chat picks up where the call left off).

## Human-in-the-loop support

Chat agents are built for supervised operation. When a customer asks for a human (or the agent decides it's out of its depth), the session is flagged as **help requested**, and operators can step in through [support commands](/api-reference/endpoint/chat/support):

| Command      | What it does                                                                               |
| ------------ | ------------------------------------------------------------------------------------------ |
| **Whisper**  | Coach the AI privately — the agent incorporates your guidance, the customer never sees it. |
| **Tell**     | Send a message directly to the customer, alongside the AI.                                 |
| **Takeover** | Switch the session to support mode — you respond, the AI stands down.                      |

Each command can be enabled or disabled per agent.

## Escalating a chat to a phone call

A chat agent can offer to **call the customer**: when the customer agrees, OSVI places an outbound call from a voice agent, passing along a summary of the chat so the caller doesn't repeat themselves. After the call, its summary can be injected back into the chat session.

## Reviewing and supervising sessions

**Conversations → Chat** is the session log, with stat cards (total, active, closed, dormant) and filters for agent, status, mode, customer ID, and **help requested** — that last one is effectively your support inbox.

Opening a session shows the full message thread with timestamps, the session's metadata, and its current mode, so an operator has full context before stepping in.

<Tip>
  Watch the *help requested* filter during your first weeks live. The sessions where customers asked for a human are your best source of prompt improvements — each one is a conversation the agent should eventually handle alone.
</Tip>
