Inbox
The Inbox is the record of every AI and visitor conversation, across email, the Web SDK / chat widget, and the hosted portal. It is not the primary operator queue — that's Tickets. (Voice is currently disabled behind a feature flag; voice transcripts will reappear here when voice is re-enabled.)
Navigate to Work → Inbox (the first entry in the sidebar's Work group).
What it's for
Use Chat history to:
- Audit Lira's accuracy. Spot-check a sample of recent chats. Did the AI give the right answer?
- Investigate complaints. A customer says "your AI told me wrong info" — pull the thread and see exactly what was said.
- Find drift. If CSAT drops, browsing recent chats often reveals what Lira got confused about.
- Discover KB gaps. Patterns of vague or hedged replies signal missing content in your Knowledge Base.
Use Tickets instead when you need to:
- Reply to a customer
- Track open work
- Mark something resolved
Why both exist
| Chat history | Tickets | |
|---|---|---|
| Volume | Every chat (huge — most resolved by AI silently) | Only when Lira can't answer (small) |
| Purpose | QA / audit | Operator work queue |
| State | open / pending / resolved | open / in_progress / resolved / closed |
| Replies | Read-only by default | Reply triggers visitor email |
A single conversation in Chat history may have spawned one or more tickets (the agent calls lira_create_support_ticket). Where this happens, the ticket number is shown on the conversation detail page so you can jump between the two views.
The left rail, explained
The rail has three groups, and they answer three different questions.
Assignment: who owns this?
Assignment is about people, not the AI. Lira answers everything by default, so assignment does not mean "somebody replied". It means a teammate has taken ownership of the follow up.
| View | What it means |
|---|---|
| My inbox | Conversations assigned to you |
| Unassigned | No teammate and no team has taken ownership yet |
Most conversations are legitimately unassigned, because the AI handled them and nobody needed to step in. A high Unassigned count is normal and is not a queue of unanswered customers.
Assignment is stored on the conversation itself, so everyone on your team sees the same numbers. Assigning from one browser shows up in another.
Status: where is it in its life?
| Status | What it means |
|---|---|
| Open | Active. Lira is handling it, or waiting for a customer reply |
| Resolved | Finished. The conversation is closed and cannot be replied to |
| Escalated | Handed to a human. Set by voice, the portal, inbound email, or by escalating from the inbox |
| Pending | Only appears if auto reply is off for your workspace. It is the "a human will get back to you" state for teams running without the AI. With Lira answering, this never occurs, so the filter is hidden |
Escalated is not the same as "a ticket exists". Since the ticketing redesign, the chat agent opens a ticket without changing the conversation status: the chat stays live and the AI keeps helping. So a conversation can read Resolved while its ticket is still open. Rows that spawned a ticket carry a Ticket badge so the two are not confused.
Teams and channels
Teams route work to a group rather than one person. Manage them from the gear beside the Teams heading: create a team, then use Add member on that team to pick teammates by name.
Channels filters by where the conversation came from (chat, email, voice, portal). Only channels your workspace actually uses are shown, so the section disappears entirely for a workspace that only runs web chat.
About the counts
The number beside each view counts conversations, and the list shows one row per conversation. They always agree.
One customer can hold several conversations over time, so five rows can be three people. Open a customer from the Customers page to see their full history in one place.
Filtering and search
Use the status filter buttons to narrow the view. The search bar matches on subject, customer name, email, or detected intent.
Reading a conversation row
Each row shows:
- Customer name (or "Chat visitor" for anonymous widget conversations)
- Sentiment emoji (😊 positive, 😐 neutral, 😠 frustrated)
- Status badge
- Subject / detected intent
- Tags (up to four)
- Short preview of the last message
- Time-ago
- CSAT stars (if rated)
Viewing a conversation
Click any row to open the full thread. You can:
- Read the full message history
- See the channel (email / chat / portal; voice when re-enabled)
- View Lira's confidence score for each AI reply
- See the customer profile (name, email, history)
- (If applicable) Jump to the spawned ticket
Replying as a human
You can reply directly on a conversation, and doing so does five things at once:
- Your message is stored as you, with your name and profile picture, not as Lira.
- The AI pauses automatically. Replying IS taking over. Lira stops answering until you hand back, so you and the AI never talk over each other.
- The customer is emailed, if we have an address for them.
- The message is pushed into the chat they already have open, live. On a mobile app it appears in the same thread, showing your name and picture.
- A follow up email is armed if the customer goes quiet for an hour.
Hand back returns the conversation to Lira. Resolve closes it, which sends the customer a closing message and stops further replies on that thread: a resolved conversation cannot be replied to, and the customer starts a new one.
For work that outlives the conversation, open a ticket instead. Tickets are the operator queue; the inbox is the conversation.
Tips
Sample, don't read everything. Pick 20 chats from the last week and audit them. Look for hedges, "I don't know" replies, and tonal misses.
Filter by CSAT < 3. Customers who rated below 3 stars often signal a gap in your Knowledge Base or a wrong answer.
Cross-reference with Tickets. If a ticket exists for a conversation, the chat history is the "before" of how Lira tried before opening the ticket. That's gold for prompt tuning and KB authoring.