Conversation insights
Conversation insights give you an owner-facing view of how people use your assistant: the recurring themes they ask about, their intents, the sentiment of conversations and how they end (resolved, escalated, abandoned…). It's aggregate analysis for the business — you never see raw transcripts.
You enable it per application from the dashboard. It analyses conversations that are already stored, so it builds on conversation storage. Voice conversations are analysed alongside text chat: each conversation is tagged with the mode it happened on — a Chat or Voice badge — and the dashboard breaks the period down by mode, so you can see the chat-vs-voice split at a glance.
How it works
- A conversation happens and is stored as normal.
- About 15 minutes after the conversation starts, a background pass distills it once into a structured insight — a neutral summary plus short topic and intent labels, sentiment and outcome. This is analysis only: no card numbers, government ids, health data or credentials are ever recorded.
- Across an application, near-duplicate topic labels are consolidated into canonical themes — so "order eta", "where's my order" and "delivery time" collapse into a single theme with a combined count.
Insights are derived data with their own retention and are independent of the underlying conversation: they outlive the raw transcript and can be kept even on shorter storage windows.
Effort stats
Alongside the themes, the dashboard surfaces two operational stats so you can see how much work requests take, not just what they're about:
- Average tool calls — how many tools the assistant invokes to service a request, on average.
- Average time to service — how long a conversation runs end to end (first message to last).
Both appear as headline numbers for the period and broken down per theme, so you can compare request types — a "refund policy" question might resolve in one turn with no tools, while "track my order" averages several tool calls and a longer back-and-forth. The numbers are computed from stored conversations as each insight is distilled, and fill in for conversations processed from when you enable insights onward.
Card actions
If your assistant surfaces product cards with action buttons (for example Add or View), the dashboard shows how those actions perform:
- Surfaced — how many action buttons were shown across the period, broken down by action, plus the average number of cards shown per conversation. This is counted deterministically from the stored conversations.
- Clicked — how many of each action your users actually clicked, captured live as the click happens (both the model-turn and the direct-navigation kinds).
- Click-through — clicked ÷ surfaced, per action and overall, so you can see which actions earn engagement and which are ignored.
Top cards
Alongside the per-action totals, the dashboard ranks the individual cards your assistant showed. Each row is one card — how many times it was shown, how many times it was clicked, and the resulting click-through rate — and you can sort by any of those columns (it opens sorted by clicks). Cards that appear across many conversations roll up into a single row, so you see at a glance which products or results actually earn engagement.
Under each card, the clicks are broken down by action, so you can answer the specific question — for example "the Nike Air Zoom was added to cart 32 times and viewed 8 times" — not just that the card was engaged, but how.
The click-through rate is measured per action button, not per card: it divides clicks by the number of action buttons shown, so a card carrying two buttons counts two opportunities each time it appears. This keeps the rate comparable between cards that offer different numbers of actions.
Grouping the same card together
Cards roll up by a stable id from your source data — an externalId on the card — when one is present. This is the most reliable way to keep "the same item" together, whatever it is (a product, article, listing, course, booking…): it survives a title being reworded and never merges two different items that happen to share a title. The assistant populates externalId from your data's own id, SKU, or slug; if a card has no such id, grouping falls back to its title (case- and whitespace-normalised). It's optional and backward-compatible — cards without an externalId keep grouping by title.
The section only appears for applications that surface card grids. Card titles and ids are recorded in your own insights to build this ranking, but are never sent to third-party analytics; the prompt text a button injects is never recorded anywhere. Per-action breakdowns fill in for engagement from when this ships onward — a card's earlier clicks still count toward its total.
Enabling it
In the dashboard, open your application's Insights settings and turn on Conversation insights. It requires:
- Conversation storage on — there's no source data to analyse otherwise.
- A Growth plan or higher — insights aren't part of the PAYG plan.
Once enabled, conversations that settle from then on are distilled automatically (it's forward-looking — past conversations aren't backfilled). View the results under Insights in the dashboard, where a 7-day / 30-day toggle sets the window the themes, effort stats and distributions are rolled up over.
Insights are insights only. There is no endpoint or screen that exposes a conversation's verbatim transcript to the business — only the distilled summary, labels and aggregate themes.
Privacy
Insights never process a conversation you didn't choose to store, and the distillation step is instructed to exclude sensitive identifiers. Everything is scoped to your business and the application it belongs to.
Customer memory is a separate, per-user feature — see Customer memory. Enabling insights does not enable memory, and vice-versa.