Documentation Index
Fetch the complete documentation index at: https://docs.wittify.ai/llms.txt
Use this file to discover all available pages before exploring further.
Chat Conversations lives at
/agents/{agentId}/chat-conversations. The sidebar shows three sub-tabs (collapsed by default behind a chevron toggle on the parent row): Inbox / Archived / Deleted. Hidden entirely for voice-only agents.Layout
Two-pane on desktop, single-pane on mobile.Desktop
The list pane is on the start edge (340px wide), the detail pane is on the other side (flex). The right panel slides in alongside the detail pane on demand and shows three tabs (Details / Assign / Routing).
Mobile
Below the desktop breakpoint, only one pane renders at a time. Selecting a conversation slides the detail in full-width. The detail header gets a back arrow on the start edge that returns to the list. The metrics strip at the top of the detail is hidden on mobile.Channel tabs
A row of 5 tabs at the top of the list pane:| Tab | Brand color (active) |
|---|---|
| Web | Indigo |
| Green | |
| Messenger | Blue |
| Pink gradient | |
| X | Black / white |
Toolbar
Above the conversation list:- Search box, placeholder Search conversations…. Matches name, message preview, conversation ID, phone number, and detected intent.
- Sort dropdown, four options: Newest (default), Oldest, Unread first, Longest first.
- Filter button, opens a popover with multi-select chips for Status (Open, Resolved, Handoff), Sentiment (Positive, Neutral, Negative), Read (Read, Unread), Rating (1 to 5 stars), Tags, Assignee.
- An Active filters chip on the end of the toolbar shows how many filters are on, with a small Clear button to reset them all in one click.
Bulk actions
Tick any conversation’s checkbox in the list to enter selection mode. The toolbar replaces with a select-all bar showing icon buttons (each with a tooltip):| Icon | Tooltip | What it does |
|---|---|---|
| double check | Mark read | Marks every selected as read |
| open envelope | Mark unread | Marks every selected as unread |
| user-plus | Assign | Opens Bulk Assign dialog |
| archive box | Archive | Opens an Are you sure? confirmation, moves rows to Archived |
| trash | Delete | Same shape, but the confirm button is red and rows move to Deleted |
Bulk Assign dialog
Title: Assign conversations. The body has an Agent combobox (search by name) and an optional Note textarea. Click Assign to apply, Cancel to back out.Conversation row
Each row in the list shows:- A small checkbox on the start (visible on hover or when selection mode is on)
#number(conversation id, monospaced)- Customer name (or Unknown if not captured)
- Phone number
- A channel brand-color dot
- Message preview (one line, truncated)
- Pill chips on the end: sentiment / status / rating / ticket / lead, plus an assignee chip if assigned
Detail pane
When you select a conversation, the detail pane fills with:Detail header
#number- The channel’s brand icon
- Phone number
- Status pill
- Assigned:
{teammate name}(or Unassigned) - AI status tag (see below)
Metrics strip (desktop only)
A row above the conversation: Duration, AI Responses, Messages, Avg Latency, Rating, Channel, Status. Each is a tiny KPI card. Hidden on mobile.Linked records bar
Above the message stream, if the conversation has a captured ticket or lead, a thin bar shows Linked record: TICKET-XXXX or Linked record: LEAD-XXXX. Click to deep-link into the Leads & Tickets inbox with the matching record pre-selected.Message stream
Speech-bubble style. Customer messages on the start edge with the channel avatar, agent / human messages on the end edge with the agent avatar. Each message has a small timestamp underneath. System messages (handoff, routing) appear as centered, muted notices.Reply composer
A textarea at the bottom of the detail pane plus an attachment button.| Element | Notes |
|---|---|
| Textarea | Up to 4,000 characters. Press Enter to send, Shift+Enter for a newline. |
| Attachment button | Paper-clip icon. Opens file picker. |
| Attachment limits | MIME whitelist (images, PDFs, common docs), max 10 MB per file, max 5 files per message |
| Send button | Primary, disabled while empty or while a previous send is in flight. |
| End-edge padding | The composer’s end padding (pe-16) leaves room for the floating Wittify chat widget launcher so it never covers the Send button. |
AI status tag
A non-interactive pill in the detail header. Three visual states:| State | Color | Meaning |
|---|---|---|
| auto | Green | The agent is actively responding to messages |
| suspended | Amber | The agent is paused, waiting for a human to take over |
| human | Blue | A human has taken over the conversation |
Right panel
A drawer that slides in alongside the detail pane (or from the end edge as a full-screen sheet on mobile). Three tabs:Details tab
- Contact: Conversation #, Name, Phone, Email, Channel, Language, First seen, Last seen.
- Web Visitor Info (when present): page URL, referrer, browser, OS.
- Conversation Info: detected Intent, overall Sentiment, linked Ticket / Lead IDs.
Assign tab
- Agent combobox, search by name.
- Team combobox, optional, sets routing for the conversation.
- Priority picker: Low / Medium / High / Urgent.
- Note textarea, optional, attached to the assignment.
- Save Assignment button.
Routing tab
- AI status picker: switch between auto, suspended, human.
- Channel-specific routing rules where supported (e.g. Telegram bot subreplies).
Sub-tabs
Three sub-tabs collapse-in under the Chat Conversations sidebar item, behind a chevron toggle. They auto-expand when you’re on Archived or Deleted:| Sub-tab | What’s in it |
|---|---|
| Inbox | Live conversations |
| Archived | Conversations you’ve archived. Still searchable. |
| Deleted | Soft-deleted conversations. Recoverable for 30 days. |
Empty states
- No conversations match this filter with the hint Try changing the filter or search.
- No conversations on this channel (when a channel tab has zero results).
- Inbox is empty. New conversations will appear here. (when the agent has no traffic yet).
Common questions
The agent stopped responding mid-conversation.
The agent stopped responding mid-conversation.
Check the AI status tag. If it says suspended, a teammate paused the agent. Switch to auto in the Routing tab to resume.
A customer's message has been sitting unread for an hour.
A customer's message has been sitting unread for an hour.
That happens when the agent’s auto-routing failed to take the conversation. Open the conversation, switch the AI status to auto, the agent will resume. Or take it over yourself by switching to human and replying directly.
My attachments aren't being sent.
My attachments aren't being sent.
Check the inline toast. The most common reasons are: (1) file is over 10 MB, (2) MIME type isn’t on the whitelist, (3) more than 5 files are attached. Drop offending files and try again.
Can I undelete a conversation?
Can I undelete a conversation?
Open the Deleted sub-tab, find the conversation, click Restore (in the row’s actions or in bulk). Restored conversations come back to the Inbox in their original state.
Why is the right panel collapsed by default?
Why is the right panel collapsed by default?
Most users only need it for assignment or routing changes, which are infrequent. Click the panel toggle on the end edge of the detail header to open it on demand.
Next
Voice Conversations
Recordings, transcripts, and AI summaries.
Leads & Tickets
Captured records grid.

