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

# Universal Live Inbox

> Manage Messenger, Instagram, WhatsApp, and Live Chat conversations in one place

## What is the Universal Inbox?

The Universal Inbox is a single workspace-level pane that surfaces every customer conversation across all your connected channels — Messenger DMs, Instagram DMs, WhatsApp Business messages, and Live Chat sessions — alongside the AI conversations your assistant is already handling.

From the inbox you can:

* See every conversation your AI is handling, with the ones that need a human flagged
* Claim a conversation so your teammates know you're handling it
* Pause AI on a specific conversation and reply manually
* Let the AI explicitly hand off to a human when it judges the situation needs one
* Send internal notes that your team can see but the customer cannot

The inbox is available on **every plan** — including Free. Usage is bounded by your plan's monthly **credit** allowance (Free includes 50), not by a feature gate. Note that the messaging **channels** the inbox surfaces (Messenger, Instagram, WhatsApp, Shopify, WooCommerce) are a Pro/Enterprise feature; on Free the inbox mainly handles your website widget's AI conversations and live-chat handoffs.

<Note>
  **Live Chat lives here.** Human handoff from your website widget is handled
  entirely in the Universal Inbox — there is no separate "Live Chat" dashboard.
  Escalated visitors appear as Live Chat conversations in this inbox, where
  agents claim, reply, and end sessions. See [Setting up Live
  Chat](#setting-up-live-chat) to turn it on.
</Note>

## Getting started

1. Make sure at least one channel is connected (Messenger, Instagram, WhatsApp, or Live Chat).
2. Open **Inbox** in the workspace sidebar.
3. Click any conversation to open it. Use **Claim** to mark it as yours before replying.

The list updates in real time — conversations appear, escalate, and change state the moment it happens, with no refresh or polling delay. The open conversation likewise updates live as new messages arrive.

## Filtering the list

By default the inbox shows only **human-relevant** conversations — anything that needs a person, is assigned to someone, or has been taken over. The AI-only conversations your assistant is quietly handling on its own are hidden so the list stays focused on what needs you.

* Turn on **Include AI-handled** in the **Filters** popover to reveal those AI-only conversations too.
* Per-channel volume rules — how much low-traffic widget chatter to surface — live in **Workspace settings → Inbox**, not in the inbox's own filters.

## Claim and reply

To prevent two agents from replying to the same customer at the same time, conversations have a lightweight "claim" model:

* Any workspace member can view any conversation.
* The composer is disabled until you **claim** the conversation.
* Once you've claimed it, your name appears as the assignee and other agents see a read-only view with a "Claim instead" button.
* An admin (or you yourself) can release the claim with **Unclaim**, or transfer it to a different teammate.
* In the composer, **Enter** sends and **Shift+Enter** adds a new line.

When you **Take over AI**, the conversation is automatically claimed for you if it wasn't already.

## Setting up Live Chat

Live Chat is the human-handoff layer of this inbox — there's no separate
dashboard to run.

1. **Enable it.** Turn on Live Chat in your assistant's **Live Chat settings**, where you also set business hours (with timezone) and queue limits.
2. **Set your availability.** Use the **Available / Away** toggle in the inbox header. Visitors auto-route only to agents who are Available; outside business hours or when no agent is available, escalations queue (or fall back per your settings).
3. **Work the queue in the inbox.** Escalated visitors appear as Live Chat conversations here — see [Live chat queue](#live-chat-queue) below.

## Live chat queue

When a website-widget visitor asks to talk to a human, the AI hands them off and a **Live Chat** conversation appears in the inbox:

* The list header shows your **availability** (Available / Away) and the current **Queue** count.
* Click **Take next** to claim the longest-waiting queued visitor, or open any queued Live Chat row and **Claim** it.
* The conversation shows the full history — the visitor's earlier AI chat **and** the live messages — in one thread.
* Click **End session** to close the live chat when you're done; the visitor's widget returns to AI mode.

Escalated widget conversations always show up as their Live Chat row — you reply to the visitor from there.

## AI control

The inbox has two independent layers of AI control:

### Channel default

In each channel's settings (Messenger, Instagram, WhatsApp), the **"AI replies to \<Channel> messages"** toggle controls whether the AI is on by default for that channel.

* **On** (default): the AI handles new conversations automatically.
* **Off**: conversations still land in the inbox but the AI does not reply. Your team handles them manually.

This is the right setting if you want the all-in-one inbox but you'd rather your team handle a specific social channel personally.

### Per-conversation pause

Inside any conversation you can **Pause AI** to switch that specific conversation to human-only mode. **Resume AI** flips it back. By default, paused conversations auto-resume after 60 minutes — adjustable in the takeover request.

The effective AI state for any conversation is **channel default AND per-conversation override**: if either layer says off, the AI is off.

### Draft mode (AI drafts, human sends)

Some teams want the assistant's help without ever letting it reply on its own. **Draft mode** does exactly that: the assistant still writes a reply for every incoming message, but instead of sending it, the reply is held as a draft in the inbox for a teammate to review, edit, and send.

Turn it on per channel under **Workspace settings → Inbox**, using the **AI drafts, human sends** toggle. It's available for **Messenger, Instagram, and WhatsApp**.

When draft mode is on for a channel:

* Every inbound message still gets an AI-written reply, but nothing is sent to the customer automatically.
* The conversation is flagged **Needs attention** so it surfaces in the inbox.
* Open the conversation and the AI's draft is **pre-filled in the composer** — edit it or replace it, then send. The draft is never shown to the customer as a sent message.
* Only the most recent draft is offered; once you send a reply (or a newer customer message arrives), the stale draft is dropped and the assistant drafts fresh on the next message.

<Note>
  Draft mode is distinct from turning AI off. With AI off, no reply is written at all; with draft mode, the assistant does the writing and a human does the sending. Email has its own equivalent ("AI-assist drafts"); Live Chat and the website widget don't support draft mode.
</Note>

## AI-initiated handoff

Your AI assistant can decide on its own to hand a conversation off to a human. It uses a built-in `request_human_handoff` tool whenever the user:

* Asks for human help directly
* Expresses frustration the AI cannot resolve
* Requests something requiring human judgment (refunds, account changes, complex complaints)

When the AI hands off, the conversation:

* Flips to **human mode**
* Appears in your **Needs attention** filter
* Triggers an **escalation email** to the assigned agent (or all admins if unassigned)

You'll get one email per escalated conversation per recipient — no duplicates if the AI hands off the same conversation twice.

### Handoff context

Every AI handoff arrives with context, so the agent picking it up doesn't have to reconstruct the whole conversation. When you open an escalated conversation you get:

* **An escalation category** — a structured reason shown as a labeled badge on the escalation strip at the top of the conversation. It's one of five:

  | Category         | Label                      |
  | ---------------- | -------------------------- |
  | Customer request | Customer asked for a human |
  | Low confidence   | AI wasn't confident        |
  | Sensitive topic  | Sensitive topic            |
  | Frustration      | Customer frustrated        |
  | Other            | AI requested a human       |

* **An AI handoff summary** — a 2–4 sentence recap of the customer's issue, what the AI already tried, and what the customer is waiting for. It appears as an amber **"AI handoff summary"** note pinned at the handoff point in the thread, and is repeated on the escalation strip.

* **The full AI transcript** — the complete pre-handoff conversation is right there in the thread, so you can read exactly what the customer said to the AI before you step in.

<Note>
  The AI handoff summary is an **internal note** — it's for your team only and is
  **never delivered to the customer**, exactly like a note you add yourself.
</Note>

**Widget escalations** to Live Chat are categorized **"Customer asked for a human"** automatically, since the visitor explicitly asked to talk to a person.

### Manual takeovers

When you (rather than the AI) pause AI and step in yourself, the escalation strip shows **"Taken over manually"** — along with your custom reason if you entered one in the takeover request — instead of an AI category. A manual takeover is never labeled as an AI escalation.

## Internal notes

The **Add internal note** button below the composer flips it into note mode (yellow tint). Notes are saved to the conversation timeline and visible to your whole team, but **never delivered to the customer**. Use them for handoff context, follow-up reminders, or supervisor whispers.

Any workspace member can leave a note — claiming the conversation is not required.

## Notifications

Three places surface unread / needs-attention counts:

* The **Inbox** entry in the workspace sidebar shows a red badge when conversations need attention.
* The browser tab title prepends the count (e.g., `(3) IllumiChat`).
* The inbox list header has three tiles you can click to filter: Total / Needs attention / Assigned to me.

Email reminders fire when a conversation has been flagged "needs attention" for over 15 minutes without a human reply. You'll get at most one reminder per conversation per hour.

## Channel-specific notes

| Channel       | Notes                                                                                                                                       |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| **Messenger** | 24-hour standard messaging window. Replies outside the window use the HUMAN\_AGENT message tag automatically when you reply from the inbox. |
| **Instagram** | Story-reply conversations show a small "Replied to your story" pill above the message.                                                      |
| **WhatsApp**  | 24-hour customer service window. Outside the window, only template messages can be sent — the composer will show an inline notice.          |
| **Live Chat** | Always human-only (no AI). Claim is equivalent to "accept" — taking ownership of the queued session.                                        |

## FAQ

**How do I add an agent?** Any active member of the workspace can use the inbox. The `member`, `admin`, and `owner` roles all have access; only `guest` is excluded.

**How do I see this customer's conversations across all channels?** Open the right-side contact panel (visible on desktop). The "Other conversations" section lists every channel session linked to the same contact record.

**Why is AI replying when I've paused?** Two possibilities: (1) the per-conversation pause auto-resumed after the configured timeout — flip it again or extend the timeout. (2) Someone else resumed it manually — check the conversation's activity log.

**I want AI off on Instagram but on for Messenger.** Open each channel's settings and toggle "AI replies to \<Channel> messages" independently. The channel default applies only to that channel.

**Can I disable the email notifications?** Yes — turn off email notifications in your user profile settings. You'll still see the in-app badges.
