CentralStationCRM × Metabase

How to build CentralStationCRM sales dashboards in Metabase

CentralStationCRM is a straightforward SME CRM where your contacts, companies, deals, and to-dos 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 CentralStationCRM MCP server and loads a CSV into Metabase with the Metabase CLI for quick analysis, and a durable pipeline route that syncs CentralStationCRM into a database so you can build pipeline, win-rate, and activity dashboards anyone can read.

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

How do you connect CentralStationCRM to Metabase?

Most teams combine both routes: use the CentralStationCRM 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 the CentralStationCRM MCP server (managed via Pipedream, to read live deals, contacts, and to-dos) 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 have overdue to-dos?"
  • Loading a CentralStationCRM CSV export into Metabase in seconds
  • Spot-checks and one-off analyses without a warehouse
Trade-offs
  • Great for exploration, not governed reporting
  • Scope the Pipedream connection tightly 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 CentralStationCRM into a database or warehouse with the CentralStationCRM API, dlt, or a managed connector, then point Metabase at it.

Best for
  • Pipeline, win-rate, and activity dashboards the whole team relies on
  • Deal-status and conversion trends over quarters
  • Joining CRM data with billing, product, or support data
Trade-offs
  • Requires a destination database and a sync to maintain
  • You own the won/lost and status definitions and the refresh schedule
  • Capture status changes if you want accurate velocity metrics

What can you analyze from CentralStationCRM data in Metabase?

  • Pipeline — open deal value by status and owner, plus coverage against target
  • Win rate — deals won vs. closed, by owner and source
  • Sales cycle length — created to won, with median and p90
  • Status conversion — where deals advance and where they stall
  • Activity — to-dos completed and overdue by owner
  • Deal value — average and median volume, plus mix by owner

Which CentralStationCRM dashboards should you build in Metabase?

For: Sales leaders

Pipeline

The open book of business, right now.

  • Open deals by status (funnel)
  • Pipeline value by owner (bar)
  • Coverage vs. target for the period (number)
  • Deals with overdue to-dos (table)
For: Sales ops

Conversion

Where deals advance and where they stall.

  • Status-to-status conversion (funnel)
  • Win rate by owner and source (bar)
  • Created vs. won by month (dual line)
  • Lost reasons breakdown (bar)
For: Managers

Activity

Effort and follow-through across the team.

  • To-dos completed by owner (bar)
  • Open to-dos per active deal (number)
  • Overdue to-dos by owner (table)
  • Notes logged per week (line)
For: Revenue leadership

Velocity

How fast deals close.

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

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

Pair the CentralStationCRM MCP server with the Metabase CLI for fast, hands-on analysis. The CRM MCP (managed via Pipedream) looks up current deals, contacts, and to-dos; the Metabase CLI's upload command loads a CSV into Metabase and creates a ready-to-query table and model.

Example workflow

  • Ask the CentralStationCRM MCP which open deals have overdue to-dos, by owner.
  • Export the deals or to-dos 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 CentralStationCRM 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 status conversion still need synced status history in a database.
  • The managed connector acts with the permissions of the connected account; scope it tightly.
  • mb upload csv needs an uploads database configured under Admin → Settings → Uploads.

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

CentralStationCRM MCPmanaged

Provider
Pipedream (managed connector)
Endpoint
https://mcp.pipedream.net/v2
Auth
Connect your CentralStationCRM account in Pipedream
Note
No official first-party CentralStationCRM MCP server yet

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": {
    "centralstationcrm": {
      "url": "https://mcp.pipedream.net/v2"
    }
  }
}
TerminalLoad a CentralStationCRM 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 CentralStationCRM CSV export — creates a table AND a model
mb upload csv --file centralstationcrm-deals.csv --collection root

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

CentralStationCRM doesn't publish a first-party MCP server, so the practical path is a managed connector: connect your account in Pipedream, then use its static MCP URL. Because a third party brokers access, scope the connection tightly and review what the connector can read and write. 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 connector setup in Pipedream's CentralStationCRM MCP page.

Can you generate a CentralStationCRM dashboard with AI?

Yes. Use the prompt below with any assistant that can run the CentralStationCRM MCP server and the Metabase CLI. It works end to end: if CentralStationCRM tables already exist in Metabase it analyzes those; otherwise it pulls the data over the CentralStationCRM 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 CentralStationCRM Sales Overview dashboard
Create a polished Metabase dashboard for CentralStationCRM 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 activity from CentralStationCRM data.

Step 1 — Find or load the data:
- First, check what already exists in Metabase (search for CentralStationCRM
  tables and models). If durable CentralStationCRM 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 CentralStationCRM MCP server (managed via
  Pipedream): deals, people, companies, to-dos, and protocols. 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:
CentralStationCRM CSV exports are usually flat and pre-aggregated (one row per
deal or to-do, with columns like status, volume, and dates). Warehouse tables are
raw and relational (deals, to-dos, and status history join on IDs). Inspect the
actual tables and column names first; do not assume exact names or that
status-change history exists.

Important:
- Build on whatever data is present; don't claim Metabase connects natively to
  CentralStationCRM — 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 value 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
  status-change history is missing, skip sales cycle length, time-in-status, and
  status conversion and use a caveat instead.
- Convert all amounts to a single reporting currency; caveat any mix.
- 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: CentralStationCRM 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 value;
   Open to-dos.
2. Pipeline: Open deals by status; value by owner; deals with overdue to-dos.
3. Conversion: Status-to-status conversion; win rate by owner and source; lost
   reasons.
4. Activity: To-dos completed by owner; open to-dos per deal; overdue to-dos.
5. Velocity: Median cycle length; time-in-status; deal velocity; aging.

Filters: Status, Owner, Source, Date range.

Reuse the models Metabase auto-created from uploaded CSVs, or (for a warehouse)
create reusable models: modeled_csc_deals, modeled_csc_status_history,
modeled_csc_people, modeled_csc_companies, and modeled_csc_todos.

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
CentralStationCRM's own reporting. Keep it practical, dense, and
executive-readable.

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

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

Connector options

  • CentralStationCRM API (raw) — the source of truth; pull people, companies, deals, to-dos, and protocols.
  • dlt (code) — write a Python pipeline against the API for full control of schema and incremental loads.
  • Change tracking — snapshot deals regularly so you don't lose status transitions between syncs.

Notes

  • Land raw tables first, then build clean models on top.
  • Normalize deal status into an ordered funnel for conversion charts.
  • Capture status changes (snapshots) for cycle length, time-in-status, and conversion.
  • Convert deal volume to a single reporting currency.

How should you model CentralStationCRM data in Metabase?

Core tables

TableGrainKey columns
dealsone row per dealid, company_id, status, volume, created_at, closed_at, owner_id, source
peopleone row per contactid, company_id, created_at
companiesone row per companyid, name, tags
todosone row per to-doid, deal_id, owner_id, due_date, completed_at
protocolsone row per note/activityid, attachable_id, type, created_at

Modeling advice

  • Build a modeled_csc_deals table with clean status, volume (one currency), and closed_at.
  • Normalize deal status into an ordered funnel for conversion charts.
  • Derive modeled_csc_status_history from snapshots for time-in-status and cycle length.
  • Roll todos up per deal and owner for activity metrics.
  • Reconcile modeled pipeline against the CRM's own views before trusting it.

Which CentralStationCRM metrics should you track in Metabase?

MetricDefinitionNotes
Open pipelineSum of volume for open deals.Segment by status and owner.
Win rateWon ÷ closed deals in a cohort.Fix the denominator (closed vs. created) first.
Sales cycle lengthCreated → won, in days.Report median and p90; it's right-skewed.
Status conversionDeals reaching status N+1 ÷ reaching status N.Needs status-change history.
Open to-dos per dealOpen to-dos ÷ open deals.Read as a follow-through signal.
Average deal valueWon volume ÷ won deals.Report the median too; outliers distort the mean.

What SQL powers CentralStationCRM 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_csc_deals d
WHERE d.status IN ('won', 'lost')
  AND d.closed_at >= CURRENT_DATE - INTERVAL '12 months'
GROUP BY 1
ORDER BY 1;
Open pipeline by statusPostgreSQL

The current funnel — open deals and value by status.

SELECT
  d.status,
  COUNT(*)                AS open_deals,
  ROUND(SUM(d.volume), 2) AS pipeline_value
FROM modeled_csc_deals d
WHERE d.status = 'open'
GROUP BY d.status
ORDER BY pipeline_value DESC;
Open deals with overdue to-dosPostgreSQL

Where follow-through has slipped, by owner.

-- Open deals with overdue to-dos
SELECT
  d.id,
  d.name,
  d.owner,
  COUNT(*) FILTER (WHERE t.completed_at IS NULL AND t.due_date < CURRENT_DATE) AS overdue_todos
FROM modeled_csc_deals d
JOIN modeled_csc_todos t ON t.deal_id = d.id
WHERE d.status = 'open'
GROUP BY d.id, d.name, d.owner
HAVING COUNT(*) FILTER (WHERE t.completed_at IS NULL AND t.due_date < CURRENT_DATE) > 0
ORDER BY overdue_todos DESC;

What are common mistakes when analyzing CentralStationCRM in Metabase?

Treating a live MCP lookup or a one-off CSV as governed reporting.→ Use the CentralStationCRM MCP and CSV uploads for live exploration; build warehouse-backed dashboards for anything people depend on.
Computing sales cycle without status history.→ Capture status changes (snapshots) — a snapshot alone can't tell you when a deal entered or left a status.
Leaving win rate's denominator ambiguous.→ Won ÷ closed and won ÷ created are different metrics — pick one and label it.
Averaging deal value and cycle length.→ Both are right-skewed; report the median (and p90) alongside the mean.
Mixing currencies in pipeline value.→ Convert all volumes to a single reporting currency before you total them.

Related analytics

Related metrics

Related integrations

FAQ

Does Metabase connect natively to CentralStationCRM?
No. Metabase reads databases and warehouses. Sync CentralStationCRM into a database first (the CentralStationCRM API, dlt, or a managed connector), then connect Metabase to that database.
Is there an official CentralStationCRM MCP server?
Not a first-party one. The practical path is a managed connector such as Pipedream: connect your account, then use its static MCP URL (https://mcp.pipedream.net/v2). Use MCP for live lookups, not governed reporting.
How do I quickly load CentralStationCRM data without a warehouse?
Export a CSV from CentralStationCRM 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.
How do I calculate sales cycle length here?
Snapshot deals regularly to reconstruct status changes, then measure days from created to the won transition. Report the median and p90 rather than the average — the distribution is right-skewed.