Overview · Integrations

How do you analyze sales and CRM data in Metabase?

CRMs like HubSpot and Salesforce hold the record of every lead, deal, and stage change your sales team works. To analyze them in Metabase, you sync the tool into a database, map its objects to a shared sales model, and build dashboards on top. Metabase has no native connector for these tools, so the sync comes first.

TL;DR — Most CRMs share the same shape: leads/contacts, accounts, deals/opportunities, stages, activities, and owners. Model that shape once — plus a stage-change history — and most pipeline, win-rate, and forecast dashboards port across tools. Only the source-specific fields differ.

Which tools does this cover?

This pattern applies to sales CRMs and pipeline tools, including:

  • HubSpot — contacts, companies, deals, pipelines, and engagements
  • Salesforce — leads, accounts, opportunities, stages, and activities
  • Pipedrive — deals, stages, activities, and pipelines
  • Attio — records, deals, lists, and a flexible data model
  • Close — leads, opportunities, and built-in calling and email activity
  • Zoho CRM — leads, deals, stages, and activities across multiple pipelines
  • Microsoft Dynamics 365 Sales — Dataverse opportunities, stages, and activities
  • Twenty — the open-source CRM you can query straight from PostgreSQL

HubSpot and Salesforce carry the richest object graphs — pipelines, stages, activities, and owners with field-level history — so model them deliberately and distinguish a current snapshot from stage-change history. Pipedrive, Attio, Close, Zoho CRM, and Dynamics 365 map onto the same core deal/stage/activity shape. Twenty is unusual: it's open source and backed by PostgreSQL, so self-hosters can point Metabase directly at a read replica with no sync step.

What is the shared sales data model?

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

ConceptHubSpot termSalesforce termUsed for
Lead / contactContactLead / ContactFunnel entry, sourcing
AccountCompanyAccountSegmentation, ABM
Deal / opportunityDealOpportunityPipeline, win rate
StageDeal stageStageConversion, funnel
Stage changeProperty historyField historySales cycle, velocity
ActivityEngagementTask / EventEffort, engagement
OwnerOwnerOwner (User)Attainment, workload

The single most important field is a reliable stage-change history. With it you can compute true sales cycle length, stage-to-stage conversion, and velocity. Amounts and close dates are the usual traps: pick one currency and age past-due close dates before anyone trusts a forecast.

How do you connect a CRM to Metabase?

  1. MCP route (AI-assisted) — pair the tool's MCP server with the Metabase MCP server for fast, exploratory lookups. 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, dlt, or the API, then build durable pipeline, win-rate, and forecast dashboards.

See the per-tool setup on the HubSpot andSalesforce pages, or the sales analytics overview for the full pattern.

What can you analyze across CRMs?

Which dashboards should you build?

  • Pipeline — open value by stage, owner, and segment, with coverage
  • Forecast — weighted vs. unweighted pipeline and commit vs. best-case
  • Win rate — won ÷ closed by cohort, segment, and source
  • Sales activity — effort and coverage by rep and account
  • Lead funnel — stage-to-stage conversion and drop-off

What about the rest of the sales stack?

The CRM is the system of record, but a full sales analysis usually pulls in the tools around it. Each of these follows the same pattern — sync to a database, model it, then join back to the CRM opportunity so the signals map to real pipeline.

Common mistakes

Treating tools as fundamentally different.→ 80% of the model is shared; standardize leads, accounts, deals, stages, and owners.
Skipping the stage-change history.→ Point-in-time snapshots can't reconstruct sales cycle length, time-in-stage, or conversion.
Computing win rate without fixing the denominator.→ Won ÷ closed and won ÷ created give different numbers — pick one and say which.
Averaging deal size and cycle length.→ Both are right-skewed; report the median alongside the mean.

Analytics

Integrations

Metrics

Dashboards

FAQ

Can I use the same dashboards for HubSpot and Salesforce?
Mostly yes, if you model both onto the shared sales schema. Metric definitions and chart structure port across; only source-specific fields (e.g. HubSpot property history, Salesforce field history) differ.
Do I need stage-change history?
For a current pipeline snapshot and win rate, no. For sales cycle length, time-in-stage, stage conversion, and pipeline-over-time, yes — sync the stage-change (field/property history) events.
Is there a native Metabase connector for CRMs?
No. Sync to a database first, then connect Metabase to that database.