Conversations overview
Conversations are the unit of Zubby. Every interaction between a shopper and the agent - whether or not it led to a sale - is captured as a conversation record. This page explains the data model, what you can do with it, and how to find the conversations that matter.
The data model
| Entity | What it is |
|---|---|
| Conversation | The whole thread, scoped to one shopper session. Has a status (active or closed), page context, escalation state, assignee, tags, and a CSAT rating if the shopper left one. |
| Message | A single turn - shopper input, AI reply, or a system/tool turn. Stores the text, any tool calls the AI made, and token cost. |
| Tool call | A function the AI invoked: search products, get order status, create ticket, etc. Recorded on the message that triggered it. |
| AI enrichment | Intent, sentiment, confidence score, an AI-written summary, and auto-tags - classified asynchronously after each exchange, so the queue view tells you what a thread is about without opening it. |
| Internal note | Team-only commentary attached to a conversation. Never shown to the shopper. |
| Outcome | Computed from what actually happened: converted, lead captured, escalated to a human, knowledge gap, or browsed. Used in analytics and to surface gaps. |
Conversation lifecycle
- Started - the shopper opened the widget and sent a first message (or arrived via a messaging channel).
- Active - turns are being exchanged. The AI classifies each exchange in the background; low confidence or an explicit “I want a human” escalates it.
- Escalated - a human is needed. The conversation is flagged, a support ticket is minted, and your team is notified. The thread itself stays open.
- Closed - closed from the inbox (and reopenable there). When the shopper closes the widget, they’re prompted for a CSAT rating that lands on the record.
Sessions vs. customers
Quality signals
Every conversation accumulates signals you can filter and act on:
- Confidence - a model-enrichment signal, not measured answer accuracy. The automatic enrichment path escalates below its service threshold (currently 0.4). Knowledge-gap handoff is a separate behavior controlled by the Human handoff switch. See handoff triggers.
- Sentiment - positive, neutral, negative, or frustrated, per message and rolled up per conversation.
- Intent - what the shopper was trying to do (sizing, order status, returns…), useful for spotting themes.
- CSAT - the shopper’s own rating, collected when they close the widget.
- Knowledge gaps - questions the AI couldn’t ground in your catalog or knowledge base feed the training loop.
These signals feed the analytics dashboard and the weekly review (see Analytics).
Finding conversations
The conversations workspace has a search box (matches shopper questions, AI replies, and shopper emails) plus two filters: status (active / closed) and scope - with leads, needs human, or knowledge gaps. The unified inbox adds channel filters across web chat, email, WhatsApp, Instagram, Messenger, and SMS. A quick daily triage:
- Open
Conversationsand set scope to Needs human - these are escalations with a ticket waiting. - Inspect the trigger and work through them: some shoppers asked for help, while other threads were escalated automatically or by a teammate. Reply where appropriate, then resolve the linked ticket.
- Switch scope to Knowledge gaps and skim - each gap you correct and verify in the knowledge base can improve a later answer. Wait for indexing and test the answer rather than assuming resolution.
Worked review: understand an escalation
Illustrative thread: a shopper asks whether a product fits a device model absent from the catalog. Open Needs human, read the transcript, source/tool output and recorded escalation reason. A knowledge-gap ticket means an answer lacked support; it does not mean the shopper explicitly requested a person or that the product is incompatible. Give a verified answer or explain the uncertainty, then add an approved compatibility source only when you have one. Use the original question as a regression check after indexing.
Privacy
Access to conversations is scoped per store and gated by team roles and capabilities. Shopper data honors GDPR requests - export and deletion flows are built in. Open a web conversation and use itsExport CSV control to download that transcript; useReports for the documented bulk exports. Handle downloaded shopper data under your access and retention policy.
API
Conversation summaries (status, intent, sentiment, AI summary, tags, escalation state) are readable via the public REST API on Pro or Enterprise with a scoped read key and cursor pagination - built for syncing into a CDP or warehouse. For pushes instead of polls, subscribe to events like conversation.escalated via outbound webhooks on Pro or Enterprise. Those deliveries are best effort with no automatic retry; retain a reconciliation path when an event is important.