Conversations
Review chat transcripts, filter by the AI judge's labels, work through the Needs review queue, rate individual assistant messages, and delete a conversation when you need to.
A conversation is one chat thread. Every conversation is pinned to the exact agent version that produced it and carries a channel telling you where it came from.
This is the full, filterable conversation list. It has two tabs, All and Needs review. Reach it from the Conversations item in the sidebar's Reports section (it opens this grid directly), from the Overview report's See all link on its recent-conversations list (carrying the same filter bar along), or go straight to /dashboard/sites/{siteId}/conversations. For the aggregate view across all of a site's conversations (volume, tool usage, per-agent breakdowns), see the Insights report instead.
Opens on the last 30 days, not your whole history
This list now defaults to the last 30 days (the same default every report in the Reports section uses) instead of every conversation the site has ever had. If you've been using this page as an archive to browse or search your full conversation history, that's a real change: pick Last 12 months, or a custom range, from the date picker to see further back. The chosen range is remembered on this browser the same way it is on the reports. See Choosing a date range.
Feedback, Exposures and Events moved
Three tables used to share a sub-navigation with this page: Feedback, Exposures, and Events. They've moved to where you'd actually read them: ratings under the Quality report, exposure/funnel events under the Engagement report, and the raw impression/click debug table under Settings → Diagnostics. An old link to any of their previous addresses still resolves: it redirects to the new one.
Channels
| Channel | Where it comes from |
|---|---|
| Playground | Started from the Playground while testing. |
| Hosted Page | A visitor chatting through the site's public link, anonymously. |
| Web | A visitor chatting through the assistant embedded on your storefront via the web tag. |
Playground conversations are hidden by default
This list opens with the Channel filter (see below) already excluding Playground, the same default every report in the Reports section uses, so your own testing never shows up mixed in with real shopper conversations by accident. They're not gone, just filtered out until you check Playground back on.
You can't write, edit, or reply, but you can delete
Conversations and their messages are created by the agent, never by you. You can read transcripts in the dashboard, but you can't write, edit, or reply to a conversation, from the dashboard or the API. Rating a message (see Rate a message below) is the one exception to that: it records feedback about a message, it doesn't change the conversation itself.
Deleting is different: a conversation can be deleted, permanently and irreversibly. See Delete a conversation below. Someone with the right permission can delete it from here in the dashboard, and the shopper who had it can delete it themselves from the chat panel, while their session still identifies it as theirs.
Review conversations
The Conversations table lists this site's conversations, freshest first by default. Each row shows its title, the agent it ran through, the channel, its Resolution (see below), its Panel language, its Duration (the time from its first message to its last), the message count, a Feedback count, and when it was created. The title is derived from the first user message, and trimmed to 40 characters with an ellipsis if it's longer (hover it to see the full title); a conversation with no first message yet shows as "New conversation".
Panel language is the chat panel's own language, not the shopper's
Panel language is which of the site's enabled languages the chat panel itself resolved to for that conversation, never a guess at what language the shopper actually typed in, or what language the assistant replied in. A conversation created before this existed shows Unknown, never a guessed value.
The Feedback column shows how many of the conversation's messages were rated, as separate badges: a red thumbs-down badge with the negative count, a green thumbs-up badge with the positive count, or both together if the conversation has messages rated each way (a conversation's messages are rated independently; see Rate a message). A conversation with no rated messages shows a dash.
Above the table, this list uses the same filter bar as every report in the section: the date range (defaulting to the last 30 days, see the callout above) plus all seven filters:
- Channel (a checklist, not a single-select) narrows the list to any combination of Web, Hosted Page, and Playground; at least one channel always stays checked. It defaults to every channel except Playground. Channel is the one filter shown alongside the date range by default; the other six live behind Add a filter.
- Agents: narrows to one or more agents (behind Add a filter).
- Customer feedback: narrows to conversations rated Positive feedback, Negative feedback, or No feedback; check any combination (behind Add a filter).
- Panel language: narrows to one or more of the site's enabled languages, or to Unknown for a conversation with none recorded (behind Add a filter).
- Subject or keyword: replaces the old always-visible search box: add one or more terms (behind Add a filter) and a conversation must match every term, against its title, to stay in.
- Resolution (behind Add a filter): narrows to conversations the AI judge labeled Resolved, Partly resolved, Unresolved, No real need or Visitor left. Check any combination.
- Issues (behind Add a filter): narrows to conversations the judge found a given problem in. See Filter by label.
Filters combine: a conversation has to satisfy every filter you've set, and within one multi-select it needs to match at least one of the values you checked. Every filter you add, and the values you set for it, follows you to every other Analytics surface for your current browser session. See Filters for exactly what's remembered and for how long. There's no separate mobile collapse for this bar; on a narrow viewport the pills simply wrap onto a second line below the title.
When the current Channel selection is actually hiding Playground conversations that would otherwise match every other active filter (the date range, Agents, Customer feedback, Panel language, and Subject or keyword, not just the period), a notice appears above the table: "Test conversations from Playground are hidden. Select it in the Channel filter to see them." It isn't something you dismiss: it just stops showing once you widen the filter to include Playground, or once there's nothing left to hide.
A result count above the table shows how many conversations match the current period and filters. If nothing matches, the table is replaced by one of two messages: if the site genuinely has no conversations yet, a plain "No conversations yet" message; if your date range or filters are the reason nothing shows, a distinct "No conversations match your filters" message suggests widening the period or clearing a filter. The message itself carries no button. Use the filter bar's own Reset control (see Filters) to actually clear back to the defaults.
A range reaching past retention shows a notice
Conversation transcripts are kept for 12 months. If the selected date range reaches further back than that, a notice appears above the table naming the cutoff date, the same notice the reports show. See Filters.
Click Agent, Channel, Messages, Feedback, Created, or Duration in the column header to sort by that column, ascending or descending. Title and Resolution aren't sortable. Sorting by Feedback ranks by negative-count alone, not the combined positive-plus-negative total: it's meant as a triage signal for conversations that need attention, so a conversation with 5 compliments doesn't outrank one with 1 complaint. To find your most-praised conversations instead, add the Customer feedback filter, check Positive feedback, and sort by Created.
The table shows 20 conversations per page, with Previous / Next controls underneath when there's more than one page.
Your filters, sort, and current page all live in the page's URL: copy or bookmark the link and it reopens the same view.
Opening a conversation puts the transcript front and centre, with a rail of metadata beside it. The page fills the height of the screen: the transcript and the rail each scroll on their own, so a long conversation scrolls in place rather than pushing the page down, and the transcript opens on its first message. On a wide screen the rail sits to the right of the transcript; on a narrow screen it opens from a Details button in the header, in a panel that slides in from the side.
- Transcript: a read-only view of the messages, always rendered with the full technical detail: every tool call and the assistant's reasoning, visible in full. This is the same detail as the playground's Technical view, regardless of which display (Technical or User view) was active while the conversation happened live, and regardless of channel: a public-link transcript shows the same raw detail a shopper never saw live, for auditing what the agent actually did. Any file a shopper attached to a message (see File upload) shows in the transcript too (an image as a preview, any other file as a named tile), so you see exactly what was sent. A shopper message also carries an Asked from line underneath it, naming the page it was sent from and linking to it, whenever the tag read that page (see What the assistant reads from the page). Messages with no page recorded, including every Playground and public-link message, show no such line.
- Rail: the conversation's metadata beside the transcript, 384 px wide on a wide screen. It's a stack of expandable sections, and you can open several at once. Details and Analysis are open when the page loads; Feedback & quality and Result start collapsed. Below the sections, a Delete button shows up if you can delete conversations. See Delete a conversation below.
- Details lists the agent and version it ran through (each linking back to the agent), the channel, the Panel language (or "Unknown" for a conversation with none recorded), the Entry widget it opened from (name, format, and version, e.g. "Homepage bubble · Chat bubble · v2", or "Not attributed" for a merchant-triggered open, an
iadvize('open')call, a hosted or Playground conversation, or one recorded before this field existed), when it was created, and the conversation id with a copy button. - Analysis (Beta) shows the labels an AI judge recorded about the conversation: its resolution, a review priority when there is one, quality, service and trust scores, and the labels themselves, each linking to the messages it cites. When there are no labels yet it says why. A Label now button beside its title, for members who can edit conversations, labels this conversation straight away. See The Analysis section.
- Feedback & quality shows this conversation's message ratings as a thumbs-up and thumbs-down tally (the same counts as the table's Feedback column), always shown: a conversation with nothing rated reads
0 positive / 0 negative. - Result shows this conversation's own impression and click counts, recorded from the product cards it rendered (the same events listed in the Diagnostics table):
0 impressions / 0 clickswhen none happened yet, or a dash if the count couldn't be loaded. Sale attribution, underneath it, is still reserved for a future release.
- Details lists the agent and version it ran through (each linking back to the agent), the channel, the Panel language (or "Unknown" for a conversation with none recorded), the Entry widget it opened from (name, format, and version, e.g. "Homepage bubble · Chat bubble · v2", or "Not attributed" for a merchant-triggered open, an
Filter by label
The Resolution and Issues filters read the labels the AI judge recorded (see Conversation labeling). They use only a conversation's current label. A conversation with no current label (still waiting, not eligible, or only a failed attempt or an earlier, replaced label) never matches an active Resolution or Issues filter. So turning one on also hides every conversation that isn't labeled yet. Both filter panels are marked Beta.
Issues offers eight options. A conversation matches when any checked option holds:
| Option | Matches a conversation where |
|---|---|
| Product not in catalog | The judge flagged the gap_product_missing gap. |
| Missing product info | The gap_product_info_missing gap. |
| Inconsistent product info | The gap_product_info_inconsistent gap. |
| Missing policy or FAQ | The gap_policy_faq_missing gap. |
| Missing capability | The gap_capability_missing gap. |
| A service criterion failed | Any of the five service criteria failed. |
| A trust criterion failed | Any of the six trust criteria failed, including tone. |
| Raised an objection | The shopper raised any of the nine purchase objections. |
The filters are offered on this list only. The reports don't read labels: if a Resolution or Issues filter is remembered from here, a report's filter bar says it doesn't apply there. Like the other filters, both are remembered for your browser session and live in the URL, as resolution and issues.
The Resolution column
Resolution is a read-only column marked Beta. It shows the resolution in the conversation's current label: green for Resolved, amber for Partly resolved, red for Unresolved, plain text for the other two. A conversation with no current label shows Not labeled.
The column shows the current label even if the conversation continued after it was written, so it can describe an earlier part of the conversation. The Analysis section of the conversation says so when that's the case.
Needs review
The Needs review tab lists the conversations whose current label has a review reason: the ones the judge thinks are worth a person's look. It's marked Beta, and its label carries the exact number of conversations in the queue: "Needs review (12)". That count follows the same date range and filters as the rows, so narrowing the filters narrows the count. The tab is in the URL as view=review, so a copied link reopens it. It's never remembered between visits: the list always opens on All.
The queue has its own order, and the column headers don't sort it. Trust reasons come first, then service, then fallback. Within a reason, conversations with purchase intent come first, then the newest. Switching tabs starts from page 1 and drops any sort.
| Column | What it shows |
|---|---|
| Priority | High for a trust reason, Medium for a service reason, Low for a fallback reason. |
| Why | For a trust reason, "A trust criterion failed". For a fallback reason, "Unneeded fallback". For a service reason, the first of Unresolved, Visitor frustrated and Needed a person that holds. |
| Title | The conversation's title, as on the All tab. |
| Resolution | As in The Resolution column. |
| Channel | The channel the conversation came from. |
| Created | When it was created. |
The tab is read-only. You can't correct a label, assign a conversation or mark it done from here. Conversations with no review reason aren't on it, and neither is the lower-priority list described under Review priority.
The freshness line
On the Needs review tab, a line above the table says whether labeling is keeping up. It has two figures:
- When the hourly schedule last ran. Clicking Label now on a conversation doesn't count, so a stopped schedule can't look alive.
- How long the oldest waiting conversation has waited, counted from the end of its 30-minute quiet period. It covers every site of your organization.
It reads in plain text when the last scheduled pass is under 2 hours old and no conversation has waited more than 3 hours, for example "Labeling last ran 25 minutes ago. Nothing is waiting." Otherwise it's a warning that names the figure at fault:
- "Labeling has not run for 3 hours. New conversations are not being labeled." The last scheduled pass is over 2 hours old.
- "Labeling has not run yet. Conversations are not being labeled." No scheduled pass has been recorded.
- "The oldest conversation has waited 4 hours. Labeling is behind." The schedule ran recently, but a conversation has waited over 3 hours.
The line ignores the filter bar. If it can't be computed, the line is hidden and the tab still works.
Step through conversations
Open a conversation by clicking a row on this table and the header gains Previous and Next arrows next to the title, with a count (e.g. "4 of 128") showing where it sits in the list you were looking at: same filters, same sort, same date range. On the Needs review tab it follows the queue's order instead. Stepping past the last row of a page carries on to the first row of the next page, so you can sweep through a whole filtered list without going back to the table in between. The back arrow in the top-left corner now returns you to that same list too (same filters, tab, sort, and page) instead of resetting to the unfiltered table.
The left and right arrow keys (← / →) do the same thing as clicking the buttons. Hover either button to see its shortcut. The shortcut doesn't fire while you're typing in a text field, while a dialog, a menu, or the mobile Details panel is open, or while you're holding a modifier key (so your browser's own back/forward shortcuts still work).
At the first conversation of the list the Previous arrow is disabled; at the last, Next is disabled. Both stay visible rather than disappearing, so the header doesn't shift as you step through. On a narrower screen the arrows still show; only the "N of total" count is hidden to save space.
On the Needs review tab, Previous and Next walk the first 5,000 conversations of the queue. A conversation past that point shows no arrows.
Only available from this table
Previous/Next only appears when you reach a conversation by clicking a row here on the full Conversations table. Open one from the Conversations report, the Quality report's ratings list, the Engagement report's exposure list, a bookmarked link, or a shared link, and you'll see the transcript with no Previous/Next arrows and no position count. Those routes don't carry the same filtered list along with them.
Sorting by Duration, Messages, or Feedback can reorder mid-sweep
These three columns can keep changing while you read: a conversation still in progress gets longer, or picks up a new message or rating. Previous and Next always reflect the list as it stands right now, not a snapshot taken when you first opened it, so under one of these sorts a conversation can shift position between one step and the next.
Delete a conversation
Deleting a conversation is permanent: it removes the conversation and every one of its messages, and there's no undo. Two people can do it, each in their own place:
- You, from here in the dashboard: if your role grants the
conversations:editpermission. The built-in Admin role grants it and the built-in Member role doesn't, and it's available as Edit conversations when building a custom role. The Delete button sits at the bottom of the rail on a conversation's detail page; there's no bulk-delete from the table. Clicking it asks you to confirm before anything happens. Deleting sends you back to the conversations list, since there's nothing left here to show. - The shopper themselves, from the chat panel: a Delete this conversation action in the panel's header menu (next to "New conversation"), on both the public link and the web tag. It only works while their browser still holds the cookie that keeps their conversation going: the same one covered in Embedding the assistant's cookie section. Once that cookie is gone (a different browser, a cleared cache, or it having expired), there's no way for them (or you) to single out that one past conversation for deletion on request; it's only ever removed on its normal retention schedule.
Either path removes the same data the same way: deleting isn't a soft flag, it's gone from both surfaces once it happens.
Rate a message
Every assistant message (here in a transcript, in the playground, and on an agent's public link) has a thumbs-up and thumbs-down control. Clicking either doesn't submit right away; it opens a dialog first:
- Thumbs-down opens with an optional issue category (UI bug, Didn't understand my request, Refused to help without good reason, Incorrect product information, Incomplete response, Irrelevant recommendation, Should have searched the catalog, Problem with cart or checkout, Inappropriate tone or content, or Other) and an optional free-text comment.
- Thumbs-up opens with only the free-text comment; there's no category to pick.
- Cancel closes the dialog without saving anything. Submit saves the rating on that message.
A rating belongs to the message, not to the surface it was given on: rate a message live in the playground or on the public link, and reopening that same conversation here shows the same rating, category, and comment. Clicking a thumb again on an already-rated message reopens the dialog pre-filled with what was submitted, so submitting again revises it. There's no separate way to clear a rating once given.
The Conversations table's Feedback column shows how many of a conversation's messages were rated each way, and you can filter or sort by it, but it's a count, not a drill-down. To read the actual ratings, each one's type, category, and comment, use the Quality report's ratings list, or open a single conversation here: a rated message shows its category and comment in a block right underneath it, no click needed. A message rated with neither a category nor a comment just shows the highlighted thumb: there's nothing else to display.
This summary block only appears when you're reviewing a conversation here in the dashboard. Live in the playground or on the public link, a rated message shows only the highlighted thumb: you just filled in the dialog yourself, so there's nothing more to surface in the moment. Reopen that same conversation in the dashboard afterward and the block appears there.
Labeling
Web, Hosted Page and Playground conversations are labeled in the background by an AI judge once they've gone quiet: whether the need was met, whether the replies were accurate and on brand, what was missing. A conversation whose shopper objected to measurement is never labeled. The labels are in the Analysis section of the conversation's rail, in Beta. On this list, the Resolution column, the Resolution and Issues filters and the Needs review tab read them too. The REST API returns them as well and can filter conversations by label. To label one conversation without waiting for the hourly pass, use Label now in its Analysis section. See Conversation labeling.
Deleting a conversation deletes its labels with it.
Where feedback, exposures and events went
This page used to have three sibling tabs: Feedback, Events, and Exposures. Each moved to the report it belongs to:
- Feedback (every rating, one row per rated message) is now the Quality report's ratings list, and its own full-table view.
- Exposures (every tag-load and conversation-open signal) is now the Engagement report's exposure-events list, and its own full-table view.
- Events (the raw impression/click debug table) moved to Settings → Diagnostics. It's developer output, not something you'd read while reviewing a report.
Public link
Share your site's assistant at a public, no-login URL. Pick which agent it serves and rotate the link if it leaks.
Conversation labeling
How an AI judge reads finished conversations in the background and records structured labels about them, how to read them in a conversation's Analysis section, when it runs, and how the data is handled.