Working the Inbox
Requires the Escalation module.
The Agent Inbox at Dashboard β Inbox is where your team works the conversations the AI has handed off. Everything on this page assumes handoff is switched on β see Escalation settings.
πΌοΈ [Image] β The two-pane inbox: conversation list on the left, selected conversation on the right, connection badge in the header.
Who can open the Inbox
| Role | Access |
|---|---|
| Owner, Admin | Full access, no seat needed |
| Agent | Full access once an Owner or Admin has given them an Escalation seat |
| Viewer | Blocked β an "Access Denied" screen |
An Agent without a seat gets a clear refusal instead of a broken screen: "This action requires an 'escalation' seat. Ask a workspace Owner or Admin to assign you one." Seats follow the Agent role automatically β see Seats.
Owners get one extra power in the Inbox: an All active tab covering the whole workspace, and the ability to resolve or reassign a conversation someone else has claimed.
Connection badge
The header shows a live connection badge. The inbox uses a websocket connection for real-time events, and it tells you honestly when that connection is not there:
- Live (green) β connected; escalations, replies, and breaches arrive the moment they happen.
- Reconnectingβ¦ (amber) β the connection dropped and is being rebuilt. Retries back off automatically (2s, 5s, 10s, 30s, then a minute).
- Offline (red) β no live connection.
You never lose work when the socket is down. The inbox also polls on a timer regardless of connection state: the conversation list refreshes every 30 seconds, and an open conversation every 5 seconds. Offline simply means "slower", not "blind".
The conversation statuses
Every card carries a status badge. Knowing the six states makes the tabs obvious:
| Status | Meaning |
|---|---|
| Active | The bot is handling it. Not yet in your queue. |
| Escalated | Handed off, nobody has claimed it. This is the shared queue. |
| Claimed | An agent owns it and is replying. |
| Resolved | Closed by an agent. |
| Reopened | The customer wrote again after it was resolved. The original agent keeps ownership; your first reply flips it back to Claimed. |
| Canceled | The visitor clicked "Return to bot". The bot takes over again β this is not a failure state. |
Tabs
| Tab | Shows |
|---|---|
| All | Everything in your scope: what you have claimed, plus the unassigned queue |
| Unassigned | Escalated, nobody claimed β free to take |
| Claimed | Yours (Claimed and Reopened) |
| Resolved | Yours, closed |
| Canceled | Handed back to the bot by the visitor |
| All active | Owners only β every Escalated, Claimed, or Reopened conversation in the workspace, whoever owns it |
Each tab carries a live count. Note the scope: apart from All active, tabs show your conversations plus the shared unassigned queue β not your teammates' claimed threads. That keeps the list workable on a busy day.
Anatomy of a card
- Visitor name, or a short session reference when the visitor is anonymous
- The first message, truncated, or "No messages yet"
- Relative time of the last activity
- Status badge, and the page URL the visitor was on
- An unread dot when a new message landed while you weren't looking
- AI urgency badge β shown only when it isn't normal ("Urgent" in red, "Low" in grey)
- Skill chips the AI suggested for the issue (these drive skill-based routing)
- A bold red left edge on an SLA breach
- A pulsing "X is viewing" hint when a teammate has the thread open
- An inline Claim button on unassigned rows
- The handling agent's name, in the Owner-only All active tab
Claiming
From Unassigned, click Claim on the card, or open the thread and claim from the header. The conversation moves to Claimed and the reply box unlocks.
Claiming is race-safe. If a teammate claims the same thread a fraction of a second before you, you get a plain "Already claimed" and the thread opens read-only β no double-reply to the customer. Claiming a conversation you already own does nothing harmful; it is simply a no-op.
π¬ [Video] β Claiming a new escalation and sending the first reply.
Replying
Type in the reply box and press Enter to send; Shift+Enter inserts a newline. While you type, the customer sees a typing indicator, and you see one when the customer or another agent is typing.
You can only reply while a conversation is Claimed or Reopened, and only the claiming agent can post. Alongside the plain reply box you have:
- AI Compose β draft or polish the message
- Macros, internal notes, and attachments
Resolving and reassigning
- Resolve closes the conversation. Only the agent who claimed it can resolve it (an Owner can override). Depending on your settings this triggers a CSAT prompt, an emailed transcript, or both β see CSAT & email transcripts.
- Reassign hands ownership to a teammate. Online teammates are listed first with a green presence dot. The target must be an active member of the workspace; only the current owner (or an Owner) may reassign.
- Forward emails the transcript to any address without changing ownership β useful for looping in a specialist. It works on claimed and resolved conversations alike.
You can also work in bulk: tick several conversations in the list and resolve or reassign them in one action (up to 100 at a time). The same ownership rules apply per conversation, and the result is reported per conversation β one refusal doesn't undo the rest.
Real-time alerts
A new escalation raises a toast β plus a sound and a browser notification when the tab is in the background, so an agent watching another window still notices. Incoming customer replies and SLA breaches surface the same way.