Intercom conversations to dashboard

Conversation data that admits how few people rated you.

Export conversations from Intercom and drop the file here. The dashboard reports first response time as a median with the ninetieth percentile beside it, and it always shows what fraction of conversations were rated next to the average rating, because a 4.8 out of 5 across eleven percent of conversations is a different claim from a 4.8 across all of them.

Prefer the full explorer? Open the app, or start from the generic dashboard builder.

Rating coverage always shown
The average never appears without the percentage of conversations rated.
Median response times
With p90 alongside, because a support distribution has a long right tail.
Bot replies flagged
First response can include an automated reply depending on your settings, and the page says so.
Local parsing only
Contact emails and conversation metadata stay in the tab.

A rating average without a coverage number is not a number

Intercom collects a one to five rating at the end of a conversation, and most customers never give one. The people who do are not a random sample: somebody delighted or somebody furious is far more likely to click than somebody whose question was answered adequately. So the average rating you get is a measurement of a self-selected minority, and reporting it alone is one of the more common quiet distortions in support reporting.

The fix is not to throw the rating away, it is to always show it with its denominator. A rising average across a rising response rate is real improvement. A rising average across a falling response rate usually means the annoyed people stopped bothering. This page puts the two on the same panel so you cannot read one without the other, and it does the same for response times by showing the distribution rather than a point estimate.

How to export from Intercom

  1. Open Reports in Intercom Sign in and choose Reports from the left navigation. The conversation-level export lives here rather than in the Inbox.
  2. Pick the conversations dataset Build a report on conversations rather than on messages. The conversation grain is one row per thread, which is what this page expects.
  3. Set the date range and teams Team and Assignee are worth including as columns even if you do not filter on them, since they are the most useful group-by in the file.
  4. Check your first response setting Under Settings, whether automated replies count toward first response time is configurable. If bots answer first in your setup, the metric measures the bot.
  5. Export as CSV and drop it here Status, Channel and Team become filter chips, and the rating panel appears with its coverage number attached.

Conversations can stay open for weeks in a messenger product, so an export of last month will include threads that have not closed. Those have a blank Time to Close, and that blank is meaningful.

Try with sample Intercom data (the same columns, 100 rows, no upload needed).

What the dashboard shows

Every panel below is built from a column that is actually in the export, named the way Intercom names it.

  • Conversation volume by channel. Messenger, email and WhatsApp behave differently in both volume and expectation, and stacking them shows which one is growing.
  • First response time, median and p90. Two figures, with a note on whether your setup counts bot replies as a first response.
  • Time to close distribution. Only over closed conversations, with the open count shown separately so the exclusion is visible.
  • Rating with coverage. Average rating and the percentage of conversations rated, on one panel, never apart.
  • Team and assignee load. Volume and median response per person, which separates slow from overloaded.
  • Tag frequency. What people keep asking about, ranked, which is a product roadmap disguised as a support metric.
Sample header row
Conversation ID,Created At,Updated At,Status,Channel,Team,Assignee,Contact Email,First Response Time (min),Time to Close (min),Replies,Conversation Rating,Rating Remark,Tags

Intercom export details

  • Ratings cover a minority of conversations. Typically well under a third, and the sample skews toward strong feelings in both directions. Never report the average without the coverage.
  • First response may be a bot. Whether automated replies count is a setting. If yours counts them, your first response time measures your automation rather than your team.
  • Snoozed is neither open nor closed. Intercom has a third state for conversations waiting on the customer. Bucketing it as open inflates your backlog; bucketing it as closed hides real work.
  • Open conversations have blank close times. Which biases the closure statistics toward the easy ones, exactly as it does in every ticketing system.
  • Replies counts both sides. It is thread length, not agent effort. A long thread can mean a hard problem or a customer who writes in paragraphs.
  • Tags are applied by humans. Coverage is inconsistent and improves when somebody runs a tagging push, which makes tag trends over long periods unreliable.

Show coverage with every rating, know whether a bot is answering first, and treat snoozed as its own state. The export is honest enough once you stop asking it for a single number.

Frequently asked questions

Why is my average conversation rating so high?

Partly because you are probably good, and partly because only a small self-selected slice of customers rate anything. The people who click are those with strong feelings, and in most support contexts that skews positive because the frustrated ones have already left the conversation. Report the average alongside the percentage rated. A high score on low coverage is a much weaker claim.

Does first response time include bot replies?

It depends on a setting in your Intercom configuration, and the export does not record which way it is set. If automated replies count, then a workflow that fires instantly gives you an excellent first response time that reflects nothing a person did. Check the setting before you compare against a target, and check it again before you compare against last year.

How should I treat snoozed conversations?

As their own category. A snoozed conversation is waiting on the customer, so it is neither active work nor a resolved outcome. Counting it as open inflates the backlog and makes the team look behind. Counting it as closed hides work that will come back. This page keeps the three statuses separate rather than collapsing them into open and closed.

Can I compare messenger against email conversations?

Yes, and you should, because customer expectations differ sharply between them. A messenger conversation carries an implicit expectation of minutes; an email carries hours. Grouping by Channel and reading response times per channel gives you a fair comparison. A single blended median across both mostly tells you your channel mix rather than your performance.

What does the Replies column measure?

The number of messages in the thread, counting both the customer and your team. It is a proxy for how much back and forth a problem needed rather than a measure of agent effort. Threads with many replies and a long time to close are the ones worth reading individually, since they usually point at a documentation or product gap.

Is any of this sent to a server?

No. The file is parsed inside your browser tab and the panels are drawn from memory. Conversation exports carry contact email addresses and, in the rating remark column, free text customers wrote themselves, which can contain almost anything. There is no upload request on this page, no account, and nothing persists once the tab is closed.

See the rating with its denominator attached

100 conversations across a quarter, three channels, a realistic minority of them rated and a healthy number still open.

Open the sample Intercom dashboard