# Inbox

> Manage conversations in the Inbox — filter by status and assignee, read live AI Insights, see why the AI said what it said, take over from the AI, edit visitor details, and export conversations.

The **Inbox** is where you read, filter, and act on every conversation your AI Agent handles. You can take over from the AI when a conversation needs a human touch, reassign it back when the customer is unblocked, see how the AI scored sentiment / resolution / topic for each chat, and export everything for analysis.

## Inbox views

The Inbox sidebar groups conversations by status, with live counts next to each entry:

- **All** — every conversation the AI Agent has ever handled.
- **Open** — active conversations still in progress. Open splits into two sub-views:
  - **Assigned** — Open conversations currently assigned to a teammate (i.e., a human has taken over).
  - **Unassigned** — Open conversations sitting in the shared queue, waiting for a human (typically because a Human Handoff just fired). Treat this like an alert queue — if your Agent is configured to hand off, conversations land here when they need attention.
- **Closed** — resolved or auto-closed conversations. A conversation moves to Closed when the AI marks it resolved (e.g., after a long period of inactivity) or when a teammate explicitly closes it.

## Conversation list

The conversation list (middle pane) is sorted newest first. Each row shows:

- The visitor's name (or **Unknown Visitor** if no contact details have been captured).
- The channel icon (Widget, WhatsApp, Slack, Telegram, etc.).
- A preview of the latest message.
- A relative timestamp (e.g., `18 m`, `4 h`, `3 d`).
- The current **Assignee** (AI Agent or a teammate).

Use the search and filter controls at the top of the list to narrow by title, assignee, channel, or any other dimension.

## Conversation window

Clicking a conversation opens it in the centre pane. The header above the messages shows several chips that help you orient quickly:

- **`#{conversation_id}`** — a clickable conversation identifier you can copy and paste into bug reports, internal tickets, or [AI Action Variables](/ai-agent/variables/) as `{{conversation_id}}`.
- **Original** — toggles between the original messages and a normalised view. Useful when the visitor wrote in a different language than your Agent's response language and you want to see what the AI saw verbatim vs. what the visitor typed.
- **Channel icon** — at-a-glance indicator of which channel the conversation came from.
- **Star / favorite** — pin the conversation so it stays easy to find later (e.g., when collecting interesting edge cases for [simulation testing](/conversations/testing/)).

Below the header you'll see the full message history. Every AI message has a **Why AI said that** link directly under it (see next section).

### Why AI said that

Click **Why AI said that** under any AI message to open a traceability panel that explains how the AI produced that specific response. It surfaces:

- Which **Knowledge Base articles** the AI retrieved and used for the answer.
- Which **AI Actions** (if any) the AI decided to call, with the request payload and the response it received back.
- The reasoning the AI used when assembling the final answer.

Use this when:

- A response looks wrong or hallucinated — Why AI said that tells you whether the AI used the wrong KB article, called the wrong action, or invented something on its own.
- You want to verify that a new KB article or AI Action is actually being picked up after a retrain.
- A user disputes an answer and you need an evidence trail for compliance or QA.

## Right-hand details pane

The right rail shows everything Quickchat knows about the conversation, broken into three sections.

### Insights

Live AI analysis of the conversation, refreshed as new messages arrive:

- **Sentiment** — Positive / Neutral / Negative, based on the user's tone and the resolution they got.
- **Resolution** — whether the conversation ended Resolved or Unresolved. Used in the [Insights dashboard](/conversations/insights/#analytics) to track resolution rate over time.
- **Topic** — the auto-detected (or user-defined) [Topic](/conversations/insights/#manage-topics) that best matches what the visitor was asking about.

While analysis is running you'll see _"Analysis in progress…"_. Insights typically finalise within a few seconds of the conversation closing.

### Conversation

Metadata about the conversation itself:

- **Assignee** — the AI Agent or a specific teammate (see [Reassigning](#reassigning-a-conversation) below).
- **Channel** — Widget, Embed, Chat Page, WhatsApp, Slack, etc.
- **URL** — the page the visitor was on when they started chatting (where applicable — populated from `{{metadata_fullPathURL}}`).
- **Language** — ISO code of the conversation language, or `–` if not yet detected.
- **Started at**, **Last active**, **Duration** — timestamps and elapsed time.

Click the small **Copy** icon next to any field to copy its value to your clipboard.

### Visitor

Contact details for the visitor. Each field is editable inline:

- **Name**
- **Email**
- **Phone**

If Smart Data Gathering captured these during the chat, they appear automatically. Otherwise click **+ Add** next to each field to enter them manually — handy when you took a phone call after the chat and want to record the lead's contact info against the conversation.

Anything you add here is also available in [AI Action Variables](/ai-agent/variables/) as `{{metadata_visitor_name}}`, `{{metadata_visitor_email}}`, and `{{metadata_visitor_phone_number}}` for any future actions the AI runs in this conversation.

## Reassigning a conversation

At the bottom of every conversation you'll see two controls:

- **Assign to me** — instantly takes the conversation from whoever (or whatever) currently holds it and assigns it to you. Use this when you spot a conversation in the **Unassigned** queue and want to handle it yourself.
- **Assignee dropdown** (default value: **AI Agent**) — pick any teammate, **Unassigned**, or **AI Agent**. Reassigning has these effects:
  - **AI Agent** → the AI takes over again and will reply to the next visitor message.
  - **A specific teammate** → that teammate becomes responsible; the AI stops replying.
  - **Unassigned** → the conversation returns to the shared Unassigned queue.

Conversations are **automatically closed** by the AI after a period of inactivity. To explicitly close or re-open a conversation, use the assignee + status controls on the conversation row or in its header menu.

## Export options

Click the export icon at the top of the conversation list to access the export dropdown:

- **Export Conversations** — full conversation transcripts (CSV or XLSX), within a date range you specify.
- **Export Gathered Data** — Visitor contact details captured by Smart Data Gathering (Name, Email, Phone, plus any custom fields you configured). Use this to feed leads into your CRM.

Both exports support a date range picker and a format toggle (CSV / XLSX).
