# The Inbox: every conversation that needs a person

> Handle every intoCHAT conversation that needs someone from your team in one place: statuses, snoozing, priorities, tags, assignment, bulk changes and saved views, across all your agents.

The **Inbox** collects every conversation that needs someone from your team, across all the agents you can open. Each one has a status, a priority, tags and a teammate it is assigned to, and you can reply to it from the same screen.

The Inbox is on every plan. Sharing saved views with the team is included from Starter.

## How a conversation gets into the Inbox

A conversation enters the Inbox as **Open** when:

- the agent emailed it to your team with [hand-off by email](/en/docs/handoff), once the email went out;
- the agent asked your team to join with [live chat](/en/docs/live-chat);
- [spam protection](/en/docs/limits-and-access#spam-protection) paused it, so a real visitor caught by mistake isn't left waiting;
- an action marked **Requires team approval** waits for a decision ([Team approval for actions](/en/docs/action-approvals));
- someone clicks **Move to inbox** in the transcript header on the agent's **Conversations** tab;
- its status, priority, tags or assignee are changed through the [REST API](#rest-api-and-mcp).

Hand-offs from the **Playground** land in the Inbox too. Conversations that only the agent handled stay out of it.

## Statuses

| Status | Meaning |
|---|---|
| **Open** | Someone from your team needs to look at it. |
| **Pending** | Your team is waiting for something, often the visitor. |
| **Snoozed** | Hidden until a time you choose. It then counts as open again. |
| **Solved** | Done. |

When the visitor writes again in a conversation that is **Solved**, **Pending** or **Snoozed**, it becomes **Open**. The assignee stays.

The Inbox keeps when a conversation entered it, when it was solved, and when someone from your team first replied to it after it entered (in live chat, or in a Slack or email conversation). A conversation that is solved and then opens again starts afresh: the first reply is counted again from then on.

### Snooze

Click **Snooze** above the conversation and pick:

- **1 hour**
- **Tomorrow, 9:00**
- **Next week (Monday, 9:00)**
- **Custom time**, with a date and time

Times are in your browser's time zone. You can snooze for up to 365 days. When the time comes, the conversation shows as **Open** again. A new visitor message wakes it up sooner.

## The list

Click **Inbox** in the sidebar. The badge next to it counts open conversations assigned to you or to nobody. It refreshes every minute while the dashboard tab is visible, and right after you change something in the Inbox.

Each row shows the visitor (their verified name, or the address they gave for a hand-off), the agent, the visitor's last message, the priority as a coloured dot, tags, the assignee and the last activity. A row also says when the conversation is waiting for live chat or live now, or happens in Slack or by email.

Narrow the list with:

- **Search**: words in the messages, or the visitor's name or email address.
- **Status**: Open, Pending, Snoozed, Solved or any status.
- **Assignee**: anyone, assigned to me, unassigned, or a teammate.
- **Priority** and **Tag** (the tag filter appears once a conversation has a tag).
- **Agent**, when you can open more than one.
- **Channel**: the widget, Slack or email.
- **Last activity**: today, the last 7 days, the last 30 days or any time.

Sort by **Newest activity**, **Oldest waiting** (the longest in the Inbox first) or **Priority** (urgent first, and the longest waiting first within each priority). The list shows 50 conversations a page and refreshes every 15 seconds.

A team member limited to selected agents sees only those agents' conversations, in the list, the badge and everywhere else. See [Team members and roles](/en/docs/team).

## Work on a conversation

Click a row to open it. Above the messages:

- **Status**: Open, Pending or Solved, plus **Snooze**. On a conversation that isn't in the Inbox, **Move to inbox** instead.
- **Priority**: Low, Normal, High or Urgent. New conversations are Normal.
- **Assignee**: a teammate, or **Unassigned**.
- **Tags**: click **Tag** to add one, or the × on a tag to remove it.

Below them is the conversation, the same as in the [Live chat inbox](/en/docs/live-chat#the-live-chat-inbox): **Take over**, the reply box with **Draft with AI** and **Improve my text**, and **End live chat**, under the same rules. On a [Slack](/en/docs/slack-agent) or [email](/en/docs/email-agent) conversation, the reply box sends through that channel and **Pause AI** stops the agent there. **Full transcript** opens it on the agent's **Conversations** tab.

Having the Inbox open doesn't make your team count as online for live chat. Only the **Live chat** page does; see [When someone counts as online](/en/docs/live-chat#when-someone-counts-as-online).

### Tags

A tag is one word of up to 32 letters, digits, dashes or underscores. Tags are saved in lowercase, spaces become dashes and other characters are left out, so "Refund request!" becomes `refund-request`. A conversation can have up to 10 tags.

### Assign

You can assign a conversation to the account owner, or to a team member whose role can edit conversations and who has access to the conversation's agent. Viewers can't be assigned, and neither can a member limited to other agents.

The assignee gets an email, "A conversation was assigned to you", with the agent, the priority, the tags and a link that opens it in the Inbox. The email holds no visitor details. No email is sent when you assign a conversation to yourself, or when the assignee turned off **Inbox assignment emails** under **Settings**, **Account**, **Notifications**. That switch is each person's own and covers every account they work in.

## Change several at once

Tick the conversations in the list, or the box at the top to select the whole page. Then:

- **Assign** them, or unassign them;
- set their **Status**, or **Snooze** them;
- set their **Priority**;
- under **Tags**, add a tag, or remove one.

Up to 50 conversations change at once. The result says how many changed and why any were skipped, for example when the assignee doesn't have access to one of the agents.

## Saved views

Four views are built in and can't be changed: **My open**, **Unassigned**, **All open** and **Solved**. The Inbox opens on **All open**.

To save your own, set the filters and sort you want, click **Save view** and give it a name of up to 40 characters. The search text isn't saved.

- **Personal views** are yours alone. Anyone in the account can save them, on every plan.
- **Shared views**: switch on **Share with the team**, and everyone in the account sees the view. Sharing needs edit access to conversations, and is included from Starter. A view shared before a downgrade stays and can still be deleted.

Each person can save up to 20 views. Delete a view from the **…** menu next to it. Anyone who can edit conversations can delete a shared view.

## Who can do what

| | Owner | Admin | Editor | Viewer |
|---|---|---|---|---|
| See the Inbox, open conversations and use the filters | Yes | Yes | Yes | Yes |
| Save personal views | Yes | Yes | Yes | Yes |
| Change status, snooze, priority, tags and assignee, one at a time or in bulk | Yes | Yes | Yes | No |
| **Move to inbox** | Yes | Yes | Yes | No |
| Save, share and delete shared views | Yes | Yes | Yes | No |
| Be assigned conversations | Yes | Yes | Yes | No |

Replying, taking over and ending a live chat follow the [live chat rules](/en/docs/live-chat#who-can-do-what). With [custom roles](/en/docs/team), what decides is the level on **Conversations & live chat**: View to see the Inbox, Edit to change it.

## Audit log

On Pro and up, the [audit log](/en/docs/audit-log) records status changes, assignments and bulk changes under **Inbox**, with who made them. Changes made through the REST API show **System** as who made them. Priority and tag changes made one at a time aren't logged on their own.

## Webhooks

Two [webhook](/en/docs/webhooks) events follow the Inbox. Both are sent for changes made by your team, through the REST API, by a visitor's new message or by intoCHAT itself (a hand-off, live chat request or spam pause, [routing](/en/docs/inbox-teams-and-routing) assigning a teammate, or an [inbox trigger](/en/docs/inbox-automation#triggers) changing the status):

| Event | Name in the dashboard | Sent when |
|---|---|---|
| `conversation.status_changed` | **Inbox status changed** | A conversation becomes open, pending, snoozed or solved, including when it enters the Inbox. |
| `conversation.assigned` | **Conversation assigned** | A conversation is assigned to a teammate, or unassigned. |

`conversation.status_changed` data:

| Field | Content |
|---|---|
| `conversationId` | The conversation |
| `status` | `open`, `pending`, `snoozed` or `solved` |
| `previousStatus` | The status before, or `null` when it just entered the Inbox |
| `snoozedUntil` | When a snooze ends, as an ISO 8601 time in UTC; `null` for the other statuses |
| `source` | `team`, `api`, `visitor` (a new message reopened it) or `system` (a hand-off, live chat request, spam pause, action waiting for team approval, or an inbox trigger) |
| `changedAt` | When it changed, as an ISO 8601 time in UTC |

`conversation.assigned` data:

| Field | Content |
|---|---|
| `conversationId` | The conversation |
| `assigneeId` | The teammate's user ID, or `null` when it was unassigned |
| `previousAssigneeId` | The user ID before, or `null` |
| `source` | `team`, `api` or `system` (routing assigned a teammate) |
| `assignedAt` | When it changed, as an ISO 8601 time in UTC |

A snooze running out sends no event: the conversation simply counts as open from then on. These two events can't be listed through the REST API's events endpoint, so Zapier and Make have no triggers for them.

## REST API and MCP

- Every conversation in the [REST API](/en/docs/rest-api) has an `inbox` object (status, priority, tags, assignee, snooze end and times), or `null` when it isn't in the Inbox.
- **List conversations** takes `inbox=open`, `pending`, `snoozed`, `solved` or `any` to list only conversations in the Inbox.
- `PATCH /api/v1/conversations/{conversationId}` changes the status (with `snoozedUntil` to snooze), priority, tags and assignee. It needs the `conversations:write` scope. See [Update a conversation](/en/docs/rest-api#update-a-conversation).
- The [MCP server](/en/docs/mcp-server) has a `list_inbox_conversations` tool that lists an agent's open conversations, or those with another status.

## Limits

- **Not instant.** The list refreshes every 15 seconds and an open conversation every 5 seconds.
- **Automatic assignment needs routing.** On Pro and up, [inbox teams and routing](/en/docs/inbox-teams-and-routing) assign conversations to a team and a teammate as they arrive. Without it, conversations arrive unassigned and someone assigns them.
- A snooze ends at the minute you chose, as soon as anyone loads the Inbox. Nothing is sent to the visitor.
- The Inbox, like the rest of the dashboard, is in English.

## Next steps

- Let your team join the chat window: [Live chat](/en/docs/live-chat).
- Pass conversations on by email when nobody is online: [Hand-off by email](/en/docs/handoff).
- Decide who can change what: [Team members and roles](/en/docs/team).
- Send status changes and assignments to your own systems: [Webhooks](/en/docs/webhooks).
