# Inbox

> Read every conversation your agents handled on web chat, WhatsApp and phone — search them, follow the operational trail, take over a WhatsApp chat, and give the agent back a conversation it stepped away from.

Source: https://docs.amomic.in/console/inbox

---

The Inbox holds every conversation your agents have had, on every channel, with the full transcript. It is where you read what happened, search for a customer or a topic, and — on WhatsApp — step in yourself. Every member of the workspace can open it.

![The Inbox with the conversation list on the left and a WhatsApp transcript on the right: the customer's message, a photo of a washing machine showing error E21, the agent's answer with a knowledge source link, and a voice note with its transcript](https://docs.amomic.in/screens/inbox/whatsapp-thread.light.webp)

*A WhatsApp conversation with a photo and a voice note. Customer messages sit on the right.*

The page has two panes: the conversation list on the left and the open transcript on the right. Both update by themselves while the page is open, so new messages appear without a reload.

## The conversation list

The list shows the most recently active conversation first, 50 at a time. **Load older** at the bottom fetches the next 50.

Each row shows:

- **The agent's name**, then the first characters of the customer's channel identifier: the phone number on WhatsApp, the visitor id on web chat, and the **call id** on voice (a voice conversation is the call, so it carries the call's id rather than the caller's number).
- **Preview** when the conversation came from the console's own agent preview rather than a real customer. See [Testing](/build/testing).
- How long ago it last moved, such as `4m ago`.
- The last message, prefixed **Agent:** when the agent spoke last, or the message count if there is no text.

When the workspace has more than one agent, an agent filter appears in the page header, labelled **All bots**. Pick an agent to narrow the list to its conversations.

### Link straight to a conversation

Every conversation has its own address: `https://console.amomic.in/inbox?conversation=<conversation_id>`. Clicking a row updates the address, so you can copy it into a ticket or a message to a colleague. The **Activity** list on a [contact](/console/contact-memory#activity-across-channels) links here the same way.

A link opens its conversation only when that conversation is among the ones the list has loaded. For an older conversation the Inbox shows the newest one instead; choose **Load older** until the conversation appears, and it opens. Check the header before you act on what you are reading.

## Search

Type in **Search conversations…** to search the words inside conversations. The list updates a moment after you stop typing; **×** clears it.

![The Inbox list filtered by the word warranty, showing four matching conversations across WhatsApp, voice and web](https://docs.amomic.in/screens/inbox/search.light.webp)

*Search matches whole words across every channel.*

Search follows these rules, so you know why something did or did not match:

| Rule | What it means for you |
|---|---|
| **Whole words** | `refund` matches "refund" but not "refunded". Search for the form the customer used. |
| **Every word must match** | `drum noise` finds conversations containing both words, anywhere in the thread. |
| **Case and punctuation are ignored** | `E21` and `e21` are the same; `₹1,499` is searched as `1` and `499`. |
| **Short and common words are skipped** | One-letter words and common words such as *the*, *please*, *thanks*, *hai* or *kya* are dropped. A search made only of those finds nothing. |
| **Customer details count** | A conversation also matches the customer's name, email or channel identifier, when the conversation has them. |
| **Long messages and long threads** | Only the first 40 distinct words of each message are indexed. A very long thread keeps its most recent 1,500 searchable words, so the earliest messages in it eventually stop matching. |

The agent's internal lookups (the operational trail below) are never searchable. If nothing matches you see *No conversations match “…”.*

## Reading a transcript

The header shows the agent, `visitor` and the customer's identifier, when the conversation started, how many messages it holds, and a badge for the channel: **Web**, **WhatsApp** or **Voice**. A preview conversation also carries **Preview — not a real visitor**. Times are in your workspace's time zone.

- **Customer messages** sit on the right, highlighted. **The agent's replies** and replies from your team sit on the left.
- A reply from a person on your team carries a **Human** label and their name (or *Support team*).
- On a WhatsApp number shared with the WhatsApp Business app, a reply the owner sent from their phone carries **Your phone** · *Sent from the WhatsApp Business app*, so you can tell it from the agent.
- Formatting appears the way the customer's app showed it — bold and italics on WhatsApp, for example — rather than as raw markup.
- A conversation opens on its latest 50 messages. A short one starts at the top; a long one opens at the newest message. Scroll up to load earlier messages (*Loading earlier messages…*).

### Photos, voice notes and what the customer was offered

![Further down the same WhatsApp transcript: an agent reply with a Sent as a voice note box and three time-slot buttons, the customer's chosen slot, and a booking confirmation with a Manage your visit link](https://docs.amomic.in/screens/inbox/whatsapp-replies.light.webp)

*Replies show the voice note the customer heard, the buttons they were offered, and any link button.*

| You see | What it is |
|---|---|
| A photo in the bubble | An image the customer sent on WhatsApp or web chat. |
| An audio player with **Transcript** above the text | A voice note the customer sent. The text is a machine transcript of what they said — worth a listen before you act on an amount or a date. |
| **Sent as a voice note** | The agent also replied with a spoken voice note; this is the wording the customer heard. The written reply above it went out too. |
| Rounded chips under a reply | Quick-reply buttons or list options the customer was offered. They are shown for reading and are not clickable here. |
| A chip with a link icon and a label such as **Manage your visit** | A link button sent with the reply (shown as *Open link* when it had no label). |
| Small link chips | Knowledge sources the answer came from. |
| *🎤 Voice note (unavailable)* or *📷 Image (unavailable)* | The file could not be loaded. The rest of the message is still shown. |

## The operational trail

Between the messages you will see narrow, dashed rows. These are not messages anyone sent. They record what happened behind the scenes, so you can see why the agent said what it said. Customers never see them, and they are left out of the message count, the list preview, search and the [Conversations API](/api/conversations).

![A voice call transcript with trail rows between the turns: a filler line spoken while looking something up, a Live API lookup_warranty lookup taking 1.2 s, a Knowledge base search_knowledge lookup taking 780 ms, and an Action book_appointment row](https://docs.amomic.in/screens/inbox/voice-trail.light.webp)

*On a call, the trail shows what the agent fetched, how long it took, and what the caller heard while it waited.*

| Row | Example | Meaning |
|---|---|---|
| Lookup | **Knowledge base** · search_knowledge · “AC not cooling” · 780 ms | The agent searched a source. The label says where: **Knowledge base**, **Live API**, **MCP tool** or **Action**, then the tool, what it asked, and how long it took. Lookup rows are recorded on voice calls. |
| Filler line | “One moment while I check that.” · while looking something up | Something the agent said on a call to cover a wait. The reason is one of: *while looking something up*, *covering a slow reply*, *the wait ran long*, *checking the caller was still there*, *ending the call after silence*, *call time limit reached*. |
| **Live support** | **Live support** · Rohit Sharma has joined the chat. | A person joined or left the conversation through [Live support](/console/human-handoff). |
| Smart mode note | Rohit Sharma is handling this conversation — the agent is staying quiet | Why the agent did or did not answer a WhatsApp message. See [When the agent has stepped back](#when-the-agent-has-stepped-back). |

::: tip Read the trail first when a call went wrong
Lookups are recorded on calls only. On a call, no lookup at all means the agent answered without checking. A lookup that returned the wrong passages points at your knowledge. The right passages and a wrong answer points at the agent's instructions. See [Testing](/build/testing#the-two-failure-modes).
:::

## Take over a WhatsApp conversation

**Take over** sits in the header of every WhatsApp conversation. Use it when you want to answer a customer yourself.

::: steps

::: step Open the conversation and choose Take over
The console opens a live-support session that is already assigned to you. It does not go through the queue, so nobody else is offered it, and you do not need to set yourself **Available** first.
:::

::: step The customer is told you have joined
The customer receives *{your name} has joined the chat.* on WhatsApp, and the agent stops answering this conversation while the session is open.
:::

::: step Reply from Live support
The console takes you to **Live support**, where the reply box is — the Inbox itself has no composer. Your replies appear in this transcript with the **Human** label. When you resolve the session, the agent can answer again — on a **Smart** sender, once the quiet period after your last reply has passed. See [Work a live handoff](/console/human-handoff#work-a-live-handoff).
:::

:::

Who can take over, and when it is refused:

- **Owners and admins** can always take over.
- **Members** can take over when the workspace's live-support responder list is empty or includes them. Otherwise the console shows *You are not in the handoff responder group.*
- **Voice** conversations cannot be taken over from the Inbox, because a finished call cannot be rejoined. Web chat conversations don't show the button.
- If the conversation already has a live-support session — the agent handed it off, or a colleague took it over — **Take over** accepts that session instead of opening a second one. That follows the usual Live support rules: you need to be **Available** for WhatsApp, and if a colleague has already accepted it you see *Another team member already accepted this handoff.*

::: note After Take over, look for the conversation in the queue
Live support opens on its first live session, not necessarily the one you just took over. If you have several, pick the customer from the list.
:::

## When the agent has stepped back

On WhatsApp, the agent sometimes deliberately stays quiet in one conversation. When it does, a banner across the top of the transcript says why, how long for, and how many customer messages have gone unanswered.

![A WhatsApp transcript with a banner reading 'Rohit Sharma is handling this — the agent has stepped back · until 11:44 am' and '2 messages from the customer have not been answered', with a Resume AI now button](https://docs.amomic.in/screens/inbox/smart-banner.light.webp)

*The banner is the only place unanswered messages show up. Resume AI now hands the conversation back at once.*

| Banner | When you see it |
|---|---|
| **{name} is handling this — the agent has stepped back · until {time}** | The sender is set to **Smart**, and someone on your team replied — from Live support, from a ticket, or (on a number shared with the WhatsApp Business app) from their phone. The agent stays quiet until the time shown — the sender's **Stay quiet for** setting, counted from your team's last message. It says *Your team is handling this* when the name isn't known. |
| **The agent is waiting for this customer to write again** | The quiet period has passed. The agent will answer the customer's *next* message (and briefly reintroduce itself), but it never goes back and answers the messages it skipped. |
| **Paused with /stop — the agent stays quiet until someone sends /continue** | Someone sent `/stop` in the chat. This never runs out by itself, and it applies whatever the sender's mode. See [Pause with /stop](/channels/whatsapp-pause). |

The second line counts the customer's unanswered messages — *2 messages from the customer have not been answered.* Treat a number here as a customer waiting on a person. Nobody else will answer them: the agent does not reply to messages it held back on, even after it returns.

**Resume AI now** gives the conversation back to the agent immediately and clears a `/stop` pause too. You see *The agent has the conversation back.* The agent answers from the customer's next message onwards, without reintroducing itself; it does not answer the messages that were waiting. If those need a reply, send it yourself before you resume.

The banner appears only on WhatsApp. Smart mode and its quiet period are set per sender under **Channels → WhatsApp** (**When should the agent reply?**: **Always on**, **Smart** or **Off**). See [Set up WhatsApp](/channels/whatsapp).

::: note Stopping the agent for one customer for good
To keep the agent away from one person permanently, switch off **Let the agent reply** on their contact. See [Stop the agent replying to someone](/console/contact-memory#stop-the-agent-replying-to-someone).
:::

## What the Inbox doesn't do

- **No reply box.** You reply through [Live support](/console/human-handoff) (after **Take over** on WhatsApp) or from a [ticket](/console/tickets).
- **No take over for web chat or calls** from here.
- **No unread counts, assignment or internal notes** on conversations. Use [Tickets](/console/tickets) for work that needs an owner.
- **No export.** Pull transcripts with the [Conversations API](/api/conversations) — see [Sync conversations](/recipes/sync-conversations).
- **No merged view per customer.** Each channel's thread is its own conversation; the contact's [Activity](/console/contact-memory#activity-across-channels) list links them together.

## Troubleshooting

| What you see | Why, and what to do |
|---|---|
| **No conversations yet** | Nothing has reached any of your agents. Check that a channel is live on [Home](/console/home#channel-health). |
| A search finds nothing you expected | Search matches whole words, and every word must be present. Try one distinctive word, in the form the customer typed it. |
| The agent isn't replying to a WhatsApp customer | Look for the banner above the transcript. If there is none, check whether the contact has **Agent off** in [Contacts](/console/contact-memory#stop-the-agent-replying-to-someone), and whether the sender's mode is **Off**. |
| *Couldn't take this conversation over.* | The request failed. Try again; if it repeats, open [Live support](/console/human-handoff) and accept the conversation there. |
| A voice conversation's title shows `call_…` | Expected — voice conversations are identified by the call. Open the call in [Calls](/console/calls) for the caller's number, recording and outcome. |
| A **Preview** row you don't recognise | A teammate tested an agent in the console. Preview chats are left out of [Analytics](/console/analytics). |

## Related

::: cards

::: card Live support
[Reply to a customer live](/console/human-handoff) after you take over.
:::

::: card Pause with /stop
[Pause and resume the agent from the chat itself](/channels/whatsapp-pause).
:::

::: card Contacts
[Who the customer is](/console/contact-memory), what the agent remembers, and everything they did.
:::

::: card Conversations and contacts
[How conversations and contacts fit together](/concepts/conversations).
:::

:::
