Overview · Analytics

What is customer support analytics, and how do you build it in Metabase?

Customer support analytics turns the activity in your help desk — tickets, conversations, replies, SLAs, and satisfaction scores — into shared metrics about how quickly and how well your team responds. In Metabase, you build it by syncing your support tool into a database, modeling a small set of clean tables, and standing up dashboards anyone can read.

TL;DR — Almost every help desk shares the same shape: tickets/conversations, messages, agents, customers, tags, and status/SLA events. Model that shape once and most metrics and dashboards port across tools. Metabase reads SQL databases — it has no native connector to Zendesk, Intercom, or any other support tool, so a sync step always comes first.

What does customer support analytics measure?

It measures responsiveness, throughput, and quality of service — not individual agent surveillance. The durable, leader-friendly questions are:

  • How fast do we respond and resolve? (first-response time, resolution time)
  • How much are we handling, and is it growing? (ticket volume, backlog)
  • Are we hitting our promises? (SLA attainment, breaches)
  • Are customers happy? (CSAT, reopen rate)
  • Where is the load coming from? (channel, tag/topic, product area)

Avoid vanity metrics (raw reply counts, per-agent leaderboards). They're easy to game and rarely change a decision.

Which tools feed support analytics?

The same pattern applies to every help desk and shared inbox. Per-tool setup lives on each integration page:

ToolBest forMCP for AI-assisted analysis
ZendeskMid-market to enterprise ticketingCommunity servers today; official server in EAP
IntercomConversational support + Fin AIOfficial remote server
FrontShared inboxes for teamsOfficial server (beta)
FreshdeskSMB to mid-market ticketingFreshworks server (EAP) + community
GorgiasEcommerce supportOfficial server (beta)
KustomerOmnichannel CRM-style supportOfficial server (read-only)
PylonB2B support over Slack/TeamsOfficial server
PlainAPI-first B2B supportOfficial server
LiveAgentMulti-channel help deskBuilt-in server
JitbitIT help desk (SaaS or self-hosted)Built-in server (read-only)
CrispLive chat and messagingOfficial server
DragGmail shared inboxMCP server + REST API

What is the shared support data model?

Almost every help desk maps onto these entities. Model them as clean tables, not raw connector JSON:

ConceptCommon termsUsed for
Ticket / conversationTicket, conversation, thread, issueThe unit of customer work
MessageComment, reply, eventResponse times, back-and-forth
AgentAgent, teammate, userAssignment, workload
CustomerRequester, contact, end userVolume by account, VIPs
Tag / topicTag, label, categoryDrivers and root causes
Status / SLA eventStatus change, SLA policyResolution time, breaches, reopens
SatisfactionCSAT, rating, surveyQuality of service

The single most important field is a reliable status/event history. With it you can compute true resolution time, time-in-status, reopen rate, and SLA attainment. Without it, those metrics must be caveated.

Which support metrics matter most?

Define each one once and reuse the definition everywhere:

  • First-response time (FRT) — created → first agent (non-automated) reply. Report the median, not the average.
  • Resolution time — created → resolved/closed. Decide upfront whether to subtract pending/on-hold time.
  • Ticket volume — created vs. solved per period; the basic load signal.
  • Backlog — open/unsolved tickets right now, and how long they've been waiting.
  • SLA attainment — share of tickets meeting first-response and resolution targets (needs SLA fields or modeled targets).
  • CSAT — positive ratings ÷ rated tickets. Watch the response rate too.
  • Reopen rate — share of solved tickets reopened (needs status history).

How do you connect a help desk to Metabase?

Two complementary routes, the same for every tool:

  1. MCP route (AI-assisted) — pair the tool's MCP server with the Metabase MCP server for live, exploratory questions. Treat it as exploratory, not governed reporting, and remember it creates no history.
  2. Pipeline route (warehouse-backed) — sync the tool into a database with a managed connector (Airbyte, Fivetran) where one exists, or with dlt / the tool's REST or GraphQL API, then build durable dashboards.

Which dashboards should you build first?

  • Support overview — ticket volume, FRT, resolution time, backlog, and CSAT in one exec roll-up.
  • SLA & response time — attainment, breaches, and aging of open work.
  • CSAT & quality — satisfaction trend, reopen rate, and drivers by tag.
  • Agent & team performance — workload distribution and handle time, framed as balance and coaching, not surveillance.

Common mistakes

Reporting off raw connector tables.→ Model a thin clean layer first, with consistent ticket statuses and one definition of "resolved."
Averages for response and resolution time.→ These distributions are heavily right-skewed; use median and p90.
Counting automated or bot replies as first response.→ Define first response as the first human (or first meaningful) reply.
Per-agent leaderboards.→ Measure team flow and trends; raw per-agent counts get gamed.
History-dependent metrics without history.→ Reopen rate, time-in-status, and SLA attainment need status/SLA events — caveat them otherwise.

Integrations

FAQ

Does Metabase connect natively to Zendesk or Intercom?
No. Metabase reads SQL databases and warehouses. Sync the tool's data into a database first, then connect Metabase to that database.
Can I use the same dashboards across support tools?
Mostly yes, if you model each tool onto the shared support schema. Metric definitions and chart structure port across; only source-specific fields differ.
Do I need status history?
For volume, backlog, and first-response time, no. For resolution time, reopen rate, time-in-status, and SLA attainment, yes — sync the status/SLA event history.