Inbox

Real-time conversation management — view, reply, assign, and collaborate on customer conversations.

Overview

The Inbox is the primary workspace for agents. It shows all active and recent conversations across your workspace, with real-time updates powered by SignalR. When a visitor sends a message, it appears instantly in the inbox — no polling, no refresh required.

Conversation Tabs

The inbox is organized into three tabs that filter conversations by assignment status:

TabShows
AllEvery open conversation in the workspace, regardless of assignment. Useful for supervisors and small teams.
MineOnly conversations assigned to you. This is the default view for agents handling their queue.
UnassignedConversations that haven't been claimed by any agent. New conversations from visitors land here until an agent picks them up.
💡The conversation count badge on each tab updates in real-time. New messages trigger a visual indicator (bold text, updated timestamp) without changing the selected conversation.

Live Updates

The inbox uses a persistent SignalR connection to receive events in real-time. The following events update the UI instantly:

  • New message: The conversation moves to the top of the list, the preview text updates, and an unread indicator appears.
  • New conversation: Appears in the Unassigned tab immediately.
  • Assignment change: Conversations move between tabs as they're assigned or unassigned.
  • Status change: When a conversation is resolved or reopened, the list refreshes.
  • Presence: The online/offline dot next to visitor names reflects their current connection status.

Conversation Selection

Click any conversation in the list to open it in the main panel. The layout is split: the conversation list on the left (resizable), the message thread in the center, and a details sidebar on the right showing visitor info, identity data, and conversation metadata.

Keyboard shortcuts for power users:

  • / — Navigate between conversations
  • Enter — Open selected conversation
  • Escape — Deselect / close details panel

Message Thread

The message thread shows the full history of a conversation in chronological order. Messages include:

  • Visitor messages: Shown on the left with a gray bubble.
  • Agent replies: Shown on the right with a colored bubble (using your primary brand color).
  • System events: Assignment changes, status transitions, and ticket links shown as centered, muted text.
  • Timestamps: Relative time on each message, with exact datetime on hover.

Messages are paginated — scroll up to load older messages. The widget supports text messages with basic formatting (links are auto-detected and made clickable).

Replying

The reply composer sits below the message thread. Type your message and press Enter to send (or Shift+Enter for a new line). Replies are delivered to the visitor in real-time via the widget.

Features of the composer:

  • Canned responses: Type / to trigger the shortcut menu. Select a canned response to insert it. See Settings for how to manage canned responses.
  • Auto-resize: The input grows vertically as you type longer messages.
  • Send on Enter: Configurable — some teams prefer Ctrl+Enter for send.

Internal Notes

Switch to the "Note" tab in the composer to leave internal notes that are only visible to agents. Notes are useful for:

  • Documenting context for a handoff to another agent.
  • Recording troubleshooting steps taken.
  • Flagging conversations for follow-up.

Internal notes appear in the message thread with a distinct yellow background and a "Note" label. They are never visible to the visitor in the widget.

⚠️Double-check you're on the "Note" tab before typing sensitive internal information. The active tab is clearly highlighted, but it's a common mistake under pressure.

Typing Indicators

When a visitor is typing in the widget, agents see a real-time typing indicator ("Visitor is typing...") below the message thread. Similarly, when an agent is composing a reply, the visitor sees a typing indicator in the widget.

Technical details:

  • Typing events are debounced — sent at most once every 3 seconds while keys are pressed.
  • The indicator auto-dismisses after 5 seconds of inactivity (no new typing events).
  • Typing indicators are transmitted over SignalR and are not persisted.

Conversation Actions

From the conversation view, agents can:

  • Assign: Claim the conversation for yourself, or assign it to another agent.
  • Resolve: Mark the conversation as resolved. This removes it from the active inbox and records a resolved_at timestamp.
  • Convert to ticket: Create a formal ticket from the conversation for tracking purposes. See Tickets.
  • View visitor details: The right sidebar shows identity info (if verified), browser, OS, current page URL, and conversation history.