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?

Metabase reads from SQL databases, not SaaS APIs, so connecting any help desk comes down to one thing: run a pipeline that syncs the tool into a database on a schedule, then point Metabase at it. Use a managed connector (Airbyte, Fivetran) where one exists, or a free, code-based sync with dlt or the tool's REST or GraphQL API — then build durable dashboards. Per-tool setup lives on each integration page.

Once the data lands, you can also point an AI assistant at Metabase's MCP server for quick, exploratory lookups. Treat that as ad-hoc exploration, not governed reporting — it keeps no history on its own.

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.