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

# What is a Chat Agent?

A Chat Agent is an AI agent that handles **text conversations** on your behalf — the messaging counterpart to a [Voice AI Agent](/agents/understanding-the-agent/introduction).

Where a voice agent picks up the phone, a chat agent reads and replies to messages. It answers questions, sends templates, shares images and documents, updates your CRM, runs your own code, and can even hand the conversation over to a voice agent for a phone call — with nobody sitting behind it.

## Channels

A chat agent is built for one channel, chosen when you create it. The channel decides which settings and functions are available, so it cannot be changed afterwards.

<CardGroup cols={2}>
  <Card title="WhatsApp" icon="whatsapp" href="/chat-agents/channels/whatsapp">
    Replies to inbound WhatsApp messages on one of your WhatsApp Business numbers. The full feature set: templates, media, calls, follow-ups.
  </Card>

  <Card title="Instagram" icon="instagram" href="/chat-agents/channels/instagram">
    Replies to Instagram DMs, post comments, or both. A focused feature set — custom functions, reply gating and human transfer.
  </Card>
</CardGroup>

## Voice agents vs chat agents

Both are agents, built in the same dashboard, and they work together — but they are separate objects with separate builders.

|                   | Voice Agent                                   | Chat Agent                                                   |
| ----------------- | --------------------------------------------- | ------------------------------------------------------------ |
| Medium            | Phone calls                                   | Text messages                                                |
| Channels          | Phone numbers, SIP, website widget            | WhatsApp, Instagram                                          |
| Built in          | Agent builder                                 | Chat agent builder                                           |
| Turn timing       | Real time, sub-second                         | Asynchronous — a reply can be seconds or hours later         |
| Conversation ends | When the call hangs up                        | Never explicitly; sessions and follow-ups take its place     |
| Handover          | Transfer the call to a human or another agent | Hand off to a human, or start a phone call via a voice agent |

The two are linked in both directions: a chat agent can place or schedule a call through a [Send / Schedule Call function](/chat-agents/functions/send-or-schedule-call), and a voice agent can hand a contact to a chat agent after the call ends.

## What a chat agent is made of

<Steps>
  <Step title="A system prompt">
    Who the agent is, what it may do, and when. See [System Prompt](/chat-agents/system-prompt).
  </Step>

  <Step title="A model, and a backup model">
    The LLM that writes the replies, plus a secondary used only if the primary errors. See [LLM Model](/chat-agents/configuration/llm-model).
  </Step>

  <Step title="Conversation settings">
    How much history it sees, how many messages it may send, and which channel features it uses. See [Conversation & Features](/chat-agents/configuration/conversation-and-features).
  </Step>

  <Step title="Functions">
    The actions it can take beyond replying with text — send a template, send a file, run your own Python, place a call. See [Functions](/chat-agents/functions/overview).
  </Step>

  <Step title="A channel binding">
    A WhatsApp number the agent answers on, or an Instagram account it is live for. See [Going live](/chat-agents/channels/whatsapp).
  </Step>
</Steps>

## How an inbound conversation runs

```
Customer sends a message (WhatsApp / Instagram)
    ↓
CallKaro receives it on the channel webhook
    ↓
The agent assigned to that number or account picks it up
    ↓
The last N messages (Context Length) + your system prompt
go to the model
    ↓
The model may call functions — up to Max Function Rounds
    ↓
The agent replies (optionally split into 2–3 messages)
    ↓
If the customer goes quiet, one follow-up may fire later
```

Voice notes are transcribed first when **Audio Transcription** is on; images are readable by the model when **Image Context** is on.

## Where chat agents live in the dashboard

| Screen                       | What it is for                                                                             |
| ---------------------------- | ------------------------------------------------------------------------------------------ |
| **Agents → Chat Agents**     | The list of every chat agent: channel, status, published version, assigned WhatsApp number |
| **Chat agent builder**       | System prompt, configuration, functions and the test chat                                  |
| **WhatsApp → Phone Numbers** | Assign a WhatsApp agent to a number                                                        |
| **Integrations**             | Connect the Instagram account an Instagram agent needs                                     |
| **Inbox**                    | Every live conversation, on both channels                                                  |
| **Analytics → Chat**         | Message volume, delivery and cost                                                          |

## Related documentation

<CardGroup cols={2}>
  <Card title="Create a chat agent" icon="plus" href="/chat-agents/create-a-chat-agent">
    Walk through the builder end to end
  </Card>

  <Card title="Functions" icon="code" href="/chat-agents/functions/overview">
    Everything the agent can do besides replying
  </Card>

  <Card title="Testing" icon="vial" href="/chat-agents/testing">
    Try the agent before anyone else does
  </Card>

  <Card title="Best practices" icon="star" href="/chat-agents/best-practices">
    What separates an agent that works from one that annoys
  </Card>
</CardGroup>
