Overloop × Metabase

How to build Overloop sales dashboards in Metabase

Overloop is an outbound sales CRM where your prospects, deals, and email campaigns 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 Overloop MCP server and loads a CSV into Metabase with the Metabase CLI for quick analysis, and a durable pipeline route that syncs Overloop into a database so you can build pipeline, win-rate, and outbound dashboards anyone can read.

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

How do you connect Overloop to Metabase?

Most teams combine both routes: use the Overloop 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 Overloop MCP server (managed via Pipedream, to read live prospects, deals, and campaigns) 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 campaigns are driving replies this week?"
  • Loading an Overloop 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 Overloop into a database or warehouse with the Overloop API, dlt, or a managed connector, then point Metabase at it.

Best for
  • Pipeline, win-rate, and outbound dashboards the whole team relies on
  • Campaign and stage-conversion trends over quarters
  • Joining outbound activity with pipeline and revenue 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 Overloop data in Metabase?

  • Pipeline — open deal value by stage and owner, plus coverage against target
  • Win rate — deals won vs. closed, by campaign and source
  • Outbound performance — emails sent, open rate, reply rate, and bounce rate by campaign
  • Sales cycle length — created to won, with median and p90
  • Stage conversion — where deals advance and where they stall
  • Deal size — average and median value, plus mix by campaign

Which Overloop 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 (bar)
  • Coverage vs. target for the period (number)
  • Deals with no recent activity (table)
For: SDR managers

Outbound

How outbound campaigns perform.

  • Emails sent by campaign (bar)
  • Open and reply rate by campaign (bar)
  • Meetings booked from outbound (number)
  • Bounce rate by campaign (number)
For: Sales ops

Conversion

Where deals advance and where they stall.

  • Stage-to-stage conversion (funnel)
  • Win rate by campaign source (bar)
  • Created vs. won by month (dual line)
  • Lost reasons breakdown (bar)
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 Overloop MCP server with the Metabase CLI?

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

Example workflow

  • Ask the Overloop MCP which campaigns are driving the most replies this month.
  • Export the campaign or deal data 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 Overloop 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 managed connector acts with the permissions of the connected Overloop account; scope it tightly.
  • mb upload csv needs an uploads database configured under Admin → Settings → Uploads.

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

Overloop MCPmanaged

Provider
Pipedream (managed connector)
Endpoint
https://mcp.pipedream.net/v2
Auth
Connect your Overloop account in Pipedream
Note
No official first-party Overloop 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": {
    "overloop": {
      "url": "https://mcp.pipedream.net/v2"
    }
  }
}
TerminalLoad an Overloop 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 an Overloop CSV export — creates a table AND a model
mb upload csv --file overloop-deals.csv --collection root

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

Overloop doesn't publish a first-party MCP server, so the practical path is a managed connector: connect your Overloop 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 Overloop connector setup in Pipedream's Overloop MCP page.

Can you generate an Overloop dashboard with AI?

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

Step 1 — Find or load the data:
- First, check what already exists in Metabase (search for Overloop tables and
  models). If durable Overloop 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 Overloop MCP server (managed via
  Pipedream): prospects, companies, deals, campaigns, and email/conversation
  events. 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:
Overloop CSV exports are usually flat and pre-aggregated (one row per deal or
campaign, with columns like stage, status, value, sends, opens, and replies).
Warehouse tables are raw and event-grained (email events with sent_at,
opened_at, replied_at, and status). 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
  Overloop — 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.
- For outbound rates, define the denominators (delivered vs. sent) and keep bounces
  out of open/reply denominators.
- 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.
- 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: Overloop Sales Overview

Sections:
1. Executive summary (KPI cards): Open pipeline; Win rate (last 90 days); Reply
   rate; Meetings booked; Median sales cycle length; Average and median deal size.
2. Pipeline: Open deals by stage; value by owner; stale deals.
3. Outbound: Emails sent by campaign; open and reply rate; bounce rate; meetings
   booked.
4. Conversion: Stage-to-stage conversion; win rate by campaign; lost reasons.
5. Velocity: Median cycle length; time-in-stage; deal velocity; aging.

Filters: Campaign, Stage, Owner, Date range.

Reuse the models Metabase auto-created from uploaded CSVs, or (for a warehouse)
create reusable models: modeled_overloop_deals, modeled_overloop_stage_history,
modeled_overloop_prospects, modeled_overloop_campaigns, and
modeled_overloop_emails.

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

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

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

Connector options

  • Overloop API (raw) — the source of truth; pull prospects, companies, deals, campaigns, and email/conversation events.
  • dlt (code) — write a Python pipeline against the Overloop API for full control of schema and incremental loads.
  • Managed ETL (Airbyte / Fivetran) — check the connector catalogs for an Overloop source; where one exists it can land the core objects on a schedule.

Notes

  • Land raw tables first, then build clean models on top.
  • Keep email event status (sent/delivered/opened/replied/bounced) so outbound rates stay honest.
  • Capture stage changes for cycle length, time-in-stage, and conversion.
  • Convert deal values to a single reporting currency.

How should you model Overloop data in Metabase?

Core tables

TableGrainKey columns
dealsone row per dealid, prospect_id, stage, status, value, currency, created_at, closed_at, owner_id
campaignsone row per campaignid, name, status
emailsone row per emailid, campaign_id, prospect_id, status, sent_at, opened_at, replied_at
prospectsone row per prospectid, company_id, source, created_at
companiesone row per companyid, name, industry

Modeling advice

  • Build a modeled_overloop_deals table with clean status, stage, value (one currency), and closed_at.
  • Build modeled_overloop_emails with clear event flags so open, reply, and bounce rates are unambiguous.
  • Normalize stages into an ordered funnel for conversion charts.
  • Derive modeled_overloop_stage_history for time-in-stage and cycle length.
  • Reconcile modeled pipeline against Overloop's own reports before trusting it.

Which Overloop metrics should you track in Metabase?

MetricDefinitionNotes
Open pipelineSum of value for open deals.Segment by stage, owner, campaign.
Win rateWon ÷ closed deals in a cohort.Fix the denominator (closed vs. created) first.
Reply rateReplies ÷ delivered outbound emails.See reply rate.
Bounce rateBounced ÷ sent outbound emails.See email bounce rate.
Sales cycle lengthCreated → won, in days.Report median and p90; it's right-skewed.
Average deal sizeWon value ÷ won deals.Report the median too; outliers distort the mean.

What SQL powers Overloop 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_overloop_deals d
WHERE d.status IN ('won', 'lost')
  AND d.closed_at >= CURRENT_DATE - INTERVAL '12 months'
GROUP BY 1
ORDER BY 1;
Outbound reply rate by campaignPostgreSQL

Replies as a share of delivered emails, by campaign.

-- Outbound performance by campaign over the last 90 days
SELECT
  c.name AS campaign,
  COUNT(*) FILTER (WHERE e.status <> 'bounced')            AS delivered,
  COUNT(*) FILTER (WHERE e.opened_at IS NOT NULL)          AS opened,
  COUNT(*) FILTER (WHERE e.replied_at IS NOT NULL)         AS replied,
  ROUND(
    100.0 * COUNT(*) FILTER (WHERE e.replied_at IS NOT NULL)
      / NULLIF(COUNT(*) FILTER (WHERE e.status <> 'bounced'), 0),
    1
  ) AS reply_rate_pct
FROM modeled_overloop_emails e
JOIN modeled_overloop_campaigns c ON c.id = e.campaign_id
WHERE e.sent_at >= CURRENT_DATE - INTERVAL '90 days'
GROUP BY c.name
ORDER BY delivered DESC;
Open pipeline by stagePostgreSQL

The current funnel — open deals and value by stage.

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

What are common mistakes when analyzing Overloop in Metabase?

Counting bounces in open and reply denominators.→ Base open and reply rates on delivered emails, and track bounce rate separately.
Treating a live MCP lookup or a one-off CSV as governed reporting.→ Use the Overloop 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 — 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 Overloop?
No. Metabase reads databases and warehouses. Sync Overloop into a database first (the Overloop API, dlt, or a managed connector), then connect Metabase to that database.
Is there an official Overloop MCP server?
Not a first-party one. The practical path is a managed connector such as Pipedream: connect your Overloop 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 Overloop data without a warehouse?
Export a CSV from Overloop 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 analyze outbound campaigns and pipeline together?
Yes. Model deals and email events separately, then join on prospect and campaign. That lets you connect outbound activity (sends, replies, meetings) to pipeline created and deals won.