Analytics and exports

Six numbers, one window, no dashboard theatre. Here's exactly what each one counts — and how to take everything with you whenever you want.

Where the numbers live

The dashboard's summary cards and the workspace analytics page (/workspaces/:id/analytics) are computed from the same code, so they can't disagree. The difference is scope: the dashboard spans every workspace you belong to unless you've picked one in the sidebar, while the analytics page is always one workspace.

Everything except the chart covers a rolling 30 days. The dashboard chart covers 90, with a point for every day including the zeroes — a quiet Sunday shows as a dip rather than being skipped.

What each number counts

Conversations
Conversations started in the last 30 days. A thread from last month that got a reply today isn't in here.
AI handled
The share of those conversations where the assistant said at least one thing. It measures reach, not success — a conversation the AI answered and then escalated still counts as handled.
Handoff rate
Of the AI-handled conversations, the percentage that were escalated to a human. This is the one to watch: rising handoffs usually mean a knowledge gap, not a worse model.
Resolved
Conversations currently in the resolved state. A visitor writing back reopens the thread and takes it out of this count.
Avg CSAT
The mean of visitor ratings, 1–5, over conversations that got one. Visitors are only asked after you resolve, so resolving threads is what makes this number exist.
Tokens / conv.
Input plus output tokens across assistant replies, divided by AI-handled conversations, with the raw total underneath. Since you're billed by your provider, not by us, this is your cost estimator.
Helpful answers
Of the AI answers a visitor rated with the widget's thumbs, the percentage marked helpful, with the number of rated answers underneath. Visitors rate individual answers as they read them, so this number exists even for conversations that were never resolved.
A dash instead of a number means there was nothing to divide by — no conversations yet, or none the AI touched. It's an empty state, not a zero.

Knowledge effectiveness

Below the charts, the knowledge effectiveness table lists the sources the assistant cited in the period: how many answers cited each one, how visitors rated those answers, and how many of those conversations still went to a person. A source that is cited often and rated poorly is the first one to reread; a source cited often in handed-off conversations is probably answering the wrong question.

Titles are recorded when the answer is written, so a source you have since renamed or removed still appears under the name it had at the time.

Reading them together

A healthy workspace tends to show AI handled climbing while handoff rate falls, because knowledge is catching up with the questions people actually ask. If handoffs climb, open a few pending-human threads and look at what the AI couldn't answer — that list is your next set of knowledge sources.

If tokens per conversation jumps, it's usually a longer system prompt or a chattier model rather than more traffic — traffic shows up in conversations, not in per-conversation cost.

Exporting your conversations

Export JSON on the analytics page downloads every conversation in the workspace — not just the last 30 days. Each one carries its status, handler, CSAT score and comment, the contact (display name, email, external id, whether they were verified), and every message with its role, author, timestamp, and metadata. The file is named for your workspace and the date.

Export is deliberately never locked behind billing. Your conversations are yours, including on a workspace you've stopped paying for. It is, however, owner-only — a bulk dump of every contact and message is not something every agent should be able to take.

Next