Operator inbox
One pane of glass for every conversation flowing through your workspace. Real-time, audit-logged, with shortcuts that match the rest of your operator's muscle memory.
Layout
The inbox is a three-pane view:
- Left rail — workspace navigation (Inbox, Contacts, Knowledge, Analytics, Settings) and the channels this workspace listens on (Widget, Rocket.Chat bridge, etc.).
- Middle column — conversation list. Filter by status, assignee, tag. Sort by most recent activity by default; switch to "oldest first" to clear backlogs in order.
- Right pane — the active conversation: header with contact attributes, message thread, internal notes tab, composer.
Conversation statuses
| Status | Meaning |
|---|---|
| Open | Someone is waiting for a reply. Default state for new conversations. |
| Snoozed | Hidden from the active inbox until a chosen time. Reappears as Open when the timer expires. |
| Closed | Resolved. Stays searchable but does not count against unread totals. |
| Spam | Marked as junk. Removed from inbox; messages from the contact are auto-quarantined. |
Changing status is recorded in the audit log together with the actor and timestamp.
Assignments
A conversation can be assigned to a single operator at a time. Assigning sends them a notification (browser push if enabled, plus a counter on their workspace switcher). Reassignments are audit-logged.
Round-robin auto-assignment is configured under Settings → Routing. Operators marked "away" or "offline" are skipped automatically.
Internal notes
Press the Notes tab in the active conversation to drop a note. Notes are visible to other operators on the workspace but never to the visitor. Mentions (@operator) trigger a notification.
AI summary
The summary button in the conversation header generates a concise overview of the thread — request, key facts, unresolved questions, suggested next action. Cached on the conversation; press regenerate to force a fresh call (counts against your AI token allowance).
Contacts and erasure
Every visitor who sends a message gets a contact record under Contacts: their identifier (email, identify-call ID, or anonymous fingerprint), attributes you passed via leadiosa.identify, an activity log, and every conversation they have ever had.
To honour a GDPR erasure request: open the contact, click Erase, confirm. The action cascades through messages, attachments, AI summaries, embeddings, and the audit log retains an anonymised record of the action (who, when, by whose request) — not the data itself.
Keyboard shortcuts
| Shortcut | Action |
|---|---|
⌘ K | Open command palette / search |
J / K | Next / previous conversation |
E | Mark resolved (close) |
S | Snooze |
N | Open internal note composer |
⌘ ⏎ | Send message |
? | Show all shortcuts |
Audit log
Every state-changing action — sign-in, message sent, assignment, status change, contact erasure, settings change — is recorded with timestamp, actor, target, and a structured payload describing the change. Visible to operators with the appropriate role under Settings → Audit log. Retained 12 months on the live system.