Breakcold × Metabase

How to build Breakcold sales dashboards in Metabase

Breakcoldis a social-selling CRM where your leads, deals, and outreach across email, LinkedIn, and more live. Metabase is where you turn that activity into shared, trustworthy sales dashboards. This guide covers two complementary paths: a lightweight MCP + CLI route that pulls live data with the Breakcold MCP server and loads a CSV into Metabase with the Metabase CLI for quick analysis, and a durable pipeline route that syncs Breakcold into a database so you can build pipeline, win-rate, and outreach dashboards anyone can read.

Heads up: Metabase connects to databases and warehouses — it does not ship a native Breakcold connector. For dashboards that need history and reliability, you'll sync Breakcold into a database first (covered below).

How do you connect Breakcold to Metabase?

Most teams combine both routes: use the Breakcold MCP server and Metabase CLI route to pull live data and stand up a quick analysis, and the pipeline route for the sales dashboards the team depends on.

1 · MCP + CLI route (AI-assisted)

Live data in, quick analysis out

Pair Breakcold's official hosted MCP server (to read live contacts, deals, and social activity) with the Metabase CLI, whose upload command loads a CSV into Metabase as a ready-to-query table and model.

Best for
  • Ad-hoc questions like "which deals had no touch this week?"
  • Loading a Breakcold CSV export into Metabase in seconds
  • Spot-checks and one-off analyses without a warehouse
Trade-offs
  • Great for exploration, not governed reporting
  • Use a scoped Breakcold token so analysis can't trigger writes
  • CSV uploads are snapshots — refresh or move to the pipeline for history
2 · Pipeline route (warehouse-backed)

Durable dashboards with history

Sync Breakcold into a database or warehouse with the Breakcold API, dlt, or a managed connector, then point Metabase at it.

Best for
  • Pipeline, win-rate, and outreach dashboards the whole team relies on
  • Sales cycle and stage-conversion trends over quarters
  • Joining social-selling activity with revenue and product data
Trade-offs
  • Requires a destination database and a sync to maintain
  • You own the won/lost and stage definitions and the refresh schedule
  • Capture stage changes if you want accurate velocity metrics

What can you analyze from Breakcold data in Metabase?

  • Pipeline — open deal value by stage, owner, and pipeline, plus coverage against target
  • Win rate — deals won vs. closed, by pipeline and source
  • Sales cycle length — created to won, with median and p90
  • Stage conversion — where deals advance and where they stall
  • Social outreach — activities and reply rate by channel (email, LinkedIn, WhatsApp, Telegram)
  • Deal size — average and median value, plus mix by pipeline

Which Breakcold dashboards should you build in Metabase?

For: Sales leaders

Pipeline

The open book of business, right now.

  • Open deals by stage (funnel)
  • Pipeline value by owner and pipeline (bar)
  • Coverage vs. target for the period (number)
  • Deals with no recent activity (table)
For: Sales ops

Conversion

Where deals advance and where they stall.

  • Stage-to-stage conversion (funnel)
  • Win rate by pipeline and source (bar)
  • Created vs. won by week (dual line)
  • Lost reasons breakdown (bar)
For: Managers

Social outreach

Effort and coverage across channels.

  • Activities by channel: email, LinkedIn, WhatsApp (bar)
  • Touches per active deal (number)
  • Reply rate by channel (number)
  • First-touch response time (line)
For: Revenue leadership

Velocity

How fast deals close.

  • Median sales cycle length (number + trend)
  • Time-in-stage by stage (bar)
  • Deal velocity: value / cycle time (number)
  • Aging of open deals (table)

How do you use the Breakcold MCP server with the Metabase CLI?

Pair the Breakcold MCP server with the Metabase CLI for fast, hands-on analysis. Breakcold ships a first-party hosted MCP server that reads live contacts, deals, and social activity; the Metabase CLI's upload command loads a CSV into Metabase and creates a ready-to-query table and model.

Example workflow

  • Ask the Breakcold MCP which open deals had no touch on any channel this week.
  • Export the deals or activity you want to keep as a CSV.
  • Run mb upload csv to load it into Metabase as a table and model, then build questions and dashboards on top.

Be honest about the limits

  • The Breakcold MCP is great for live lookups — not for scheduled or audited pipeline reporting.
  • A CSV upload is a point-in-time snapshot; refresh it with mb upload replace or move to the pipeline for real history — sales cycle and stage conversion still need synced stage history in a database.
  • The MCP server acts with the permissions of the connected Breakcold workspace; use a scoped token.
  • mb upload csv needs an uploads database configured under Admin → Settings → Uploads.

How do you set up the Breakcold MCP server and the Metabase CLI?

Breakcold MCPofficial

US endpoint
https://http.us.breakcold.com/mcp/v1
EU endpoint
https://http.eu.breakcold.com/mcp/v1
Auth
OAuth where available, or a bearer token
Note
Pick the endpoint that matches your workspace region

Metabase CLIofficial

Install
npm install -g @metabase/cli
Auth
mb auth login (browser OAuth on v62+, or an API key)
Load data
mb upload csv --file data.csv
Requires
An uploads database (Admin → Settings → Uploads)
Cursor~/.cursor/mcp.json or .cursor/mcp.json
{
  "mcpServers": {
    "breakcold": {
      "url": "https://http.us.breakcold.com/mcp/v1"
    }
  }
}
TerminalLoad a Breakcold CSV with the Metabase CLI
# Install the Metabase CLI
npm install -g @metabase/cli

# Log in (opens your browser; requires Metabase v62+)
mb auth login --url https://your-metabase.example.com

# Load a Breakcold CSV export — creates a table AND a model
mb upload csv --file breakcold-deals.csv --collection root

# Refresh that same table later from a new export
mb upload replace <table-id> --file breakcold-deals.csv

Swap the Breakcold URL for the EU endpoint if your workspace is hosted in Europe. The MCP covers people, companies, deals, tasks, notes, custom fields, the inbox, and social channels — use it for live lookups, not governed reporting. The Metabase CLI stores its credentials securely after mb auth login.

Verify before shipping: confirm an uploads database is enabled under Admin → Settings → Uploads (Metabase docs) and the current Breakcold MCP endpoints in Breakcold's MCP documentation.

Can you generate a Breakcold dashboard with AI?

Yes. Use the prompt below with any assistant that can run the Breakcold MCP server and the Metabase CLI. It works end to end: if Breakcold tables already exist in Metabase it analyzes those; otherwise it pulls the data over the Breakcold MCP, loads it with mb upload csv, then builds the dashboard — and tells the agent to skip metrics the data can't support instead of faking them.

Prompt for creating a Breakcold Sales Overview dashboard
Create a polished Metabase dashboard for Breakcold sales analytics.
Work end to end: get the data into Metabase if it isn't there yet, then build.

Goal: Help sales leaders understand pipeline, win rate, conversion, sales cycle,
and social outreach from Breakcold CRM data.

Step 1 — Find or load the data:
- First, check what already exists in Metabase (search for Breakcold tables and
  models). If durable Breakcold data is already present — synced from a warehouse
  or uploaded earlier — use it and skip to Step 2.
- If nothing is there, pull it with the Breakcold MCP server: contacts,
  companies, deals, tasks, notes, and activities across channels. Write each
  result to a CSV, then load it with the Metabase CLI — run
  "mb upload csv --file <export>.csv" so each upload creates a table and a
  ready-to-query model. Use "mb upload replace <table-id> --file <export>.csv" to
  refresh an existing table instead of creating duplicates.

Step 2 — Inspect before querying:
Breakcold CSV exports are usually flat and pre-aggregated (one row per deal or
activity, with columns like stage, status, amount, channel, and direction).
Warehouse tables are raw and relational (deals, activities, and stage history
join on IDs). Inspect the actual tables and column names first; do not assume
exact names or that stage-change history exists.

Important:
- Build on whatever data is present; don't claim Metabase connects natively to
  Breakcold — it reads a database or CLI-uploaded tables.
- Define "won" and "closed" once (deal status) and reuse them.
- For win rate, state the denominator explicitly (won / closed vs. won / created)
  and hold the cohort fixed.
- Report sales cycle length and deal size as medians (p50) and p90, never plain
  averages — both are right-skewed.
- Only build a card if its underlying column/metric exists in the data; if deal
  stage-change history is missing, skip sales cycle length, time-in-stage, and
  stage conversion and use a caveat instead.
- Convert all amounts to a single reporting currency; caveat any mix.
- Attribute activities to their channel so outreach analysis stays honest.
- A single CSV is a point-in-time snapshot: only build trend cards if there is a
  usable date column or multiple periods have been uploaded.

Dashboard title: Breakcold Sales Overview

Sections:
1. Executive summary (KPI cards): Open pipeline; Coverage vs. target; Win rate
   (last 90 days); Median sales cycle length; Average and median deal size;
   Reply rate.
2. Pipeline: Open deals by stage; value by owner and pipeline; stale deals.
3. Conversion: Stage-to-stage conversion; win rate by pipeline and source; lost
   reasons.
4. Outreach: Activities by channel; touches per deal; reply rate by channel.
5. Velocity: Median cycle length; time-in-stage; deal velocity; aging.

Filters: Pipeline, Stage, Owner, Channel, Source, Date range.

Reuse the models Metabase auto-created from uploaded CSVs, or (for a warehouse)
create reusable models: modeled_breakcold_deals,
modeled_breakcold_stage_history, modeled_breakcold_contacts,
modeled_breakcold_companies, and modeled_breakcold_activities.

Output: Build the dashboard if you have permission; otherwise provide the exact
questions, SQL, model definitions, and layout. Include caveats for any metric
that cannot be calculated from the available data. Reconcile totals against
Breakcold's own reporting. Keep it practical, dense, and executive-readable.

How do you sync Breakcold data into a database or warehouse?

For dashboards that need history and reliability, land Breakcold data in a database first, then connect Metabase to that database.

Connector options

  • Breakcold API (raw) — the source of truth; pull contacts, companies, deals, tasks, notes, lists, and activities across channels.
  • dlt (code) — write a Python pipeline against the Breakcold API for full control of schema and incremental loads.
  • Webhooks — Breakcold can stream deal and activity changes so you don't lose transitions between syncs.

Notes

  • Land raw tables first, then build clean models on top.
  • Keep activity channel and direction (inbound/outbound) so outreach and reply-rate metrics stay honest.
  • Capture stage changes (webhooks or snapshots) for cycle length, time-in-stage, and conversion.
  • Convert deal amounts to a single reporting currency.

How should you model Breakcold data in Metabase?

Core tables

TableGrainKey columns
dealsone row per dealid, contact_id, pipeline_id, stage, status, amount, currency, created_at, closed_at, owner_id
contactsone row per contactid, company_id, source, created_at
companiesone row per companyid, name, industry
activitiesone row per activityid, contact_id, channel (email/linkedin/whatsapp),direction, occurred_at
tasksone row per taskid, deal_id, status, due_date, owner_id

Modeling advice

  • Build a modeled_breakcold_deals table with clean status, stage, amount (one currency), and closed_at.
  • Normalize stages into an ordered funnel so conversion charts stay stable.
  • Roll activities up by channel and direction for outreach and reply-rate metrics.
  • Derive modeled_breakcold_stage_history from webhooks or snapshots for time-in-stage and cycle length.
  • Reconcile modeled pipeline against Breakcold's own reports before trusting it.

Which Breakcold metrics should you track in Metabase?

MetricDefinitionNotes
Open pipelineSum of amount for open deals.Segment by stage, owner, pipeline.
Win rateWon ÷ closed deals in a cohort.Fix the denominator (closed vs. created) first.
Reply rateInbound replies ÷ outbound touches, by channel.See reply rate.
Sales cycle lengthCreated → won, in days.Report median and p90; it's right-skewed.
Stage conversionDeals reaching stage N+1 ÷ reaching stage N.Needs stage-change history.
Average deal sizeWon amount ÷ won deals.Report the median too; outliers distort the mean.

What SQL powers Breakcold dashboards in Metabase?

These assume the modeled tables above (PostgreSQL dialect). Adjust identifiers to match your warehouse.

Win rate by monthPostgreSQL

Won as a share of closed deals over the last 12 months.

SELECT
  date_trunc('month', d.closed_at) AS month,
  COUNT(*) FILTER (WHERE d.status = 'won')                   AS won,
  COUNT(*) FILTER (WHERE d.status IN ('won', 'lost'))        AS closed,
  ROUND(
    100.0 * COUNT(*) FILTER (WHERE d.status = 'won')
      / NULLIF(COUNT(*) FILTER (WHERE d.status IN ('won', 'lost')), 0),
    1
  ) AS win_rate_pct
FROM modeled_breakcold_deals d
WHERE d.status IN ('won', 'lost')
  AND d.closed_at >= CURRENT_DATE - INTERVAL '12 months'
GROUP BY 1
ORDER BY 1;
Reply rate by channelPostgreSQL

Inbound replies as a share of outbound touches, by channel.

-- Reply rate by outreach channel over the last 90 days
SELECT
  a.channel,
  COUNT(*) FILTER (WHERE a.direction = 'outbound')              AS sent,
  COUNT(*) FILTER (WHERE a.direction = 'inbound')               AS replies,
  ROUND(
    100.0 * COUNT(*) FILTER (WHERE a.direction = 'inbound')
      / NULLIF(COUNT(*) FILTER (WHERE a.direction = 'outbound'), 0),
    1
  ) AS reply_rate_pct
FROM modeled_breakcold_activities a
WHERE a.occurred_at >= CURRENT_DATE - INTERVAL '90 days'
GROUP BY a.channel
ORDER BY sent DESC;
Open pipeline by stagePostgreSQL

The current funnel — open deals and value by stage.

SELECT
  d.stage,
  COUNT(*)                AS open_deals,
  ROUND(SUM(d.amount), 2) AS pipeline_value
FROM modeled_breakcold_deals d
WHERE d.status = 'open'
GROUP BY d.stage
ORDER BY pipeline_value DESC;

What are common mistakes when analyzing Breakcold in Metabase?

Dropping the activity channel.→ Keep channel and direction on every activity, or reply rate and outreach coverage become meaningless.
Treating a live MCP lookup or a one-off CSV as governed reporting.→ Use the Breakcold MCP and CSV uploads for live exploration; build warehouse-backed dashboards for anything people depend on.
Computing sales cycle without stage history.→ Capture stage changes (webhooks or snapshots) — a snapshot can't tell you when a deal entered or left a stage.
Leaving win rate's denominator ambiguous.→ Won ÷ closed and won ÷ created are different metrics — pick one and label it.
Averaging deal size and cycle length.→ Both are right-skewed; report the median (and p90) alongside the mean.

Related analytics

Related metrics

Related integrations

FAQ

Does Metabase connect natively to Breakcold?
No. Metabase reads databases and warehouses. Sync Breakcold into a database first (the Breakcold API, dlt, or webhooks), then connect Metabase to that database.
Does Breakcold have an official MCP server?
Yes. Breakcold ships a hosted MCP server with regional endpoints (US: https://http.us.breakcold.com/mcp/v1, EU: https://http.eu.breakcold.com/mcp/v1), authenticated with OAuth where available or a bearer token. Use MCP for live lookups, not governed reporting.
How do I quickly load Breakcold data without a warehouse?
Export a CSV from Breakcold and run `mb upload csv --file data.csv` with the Metabase CLI. It creates a table and a model you can build questions on right away. You'll need an uploads database enabled under Admin → Settings → Uploads. Refresh later with `mb upload replace`, or move to the pipeline route when you need history.
Can I measure LinkedIn and email outreach together?
Yes — model activities with a channel and direction column. Then reply rate, touches per deal, and outreach coverage can be split by channel or rolled up across all of them.