Tomba × Metabase

How to build Tomba deliverability dashboards in Metabase

Tomba is where your email finding and verification run — searches, found emails with confidence scores and sources, and deliverability checks. Metabase is where you turn that into shared dashboards on match rate,confidence, and deliverability. This guide covers two complementary paths: a lightweight MCP + CLI routethat pulls live data with the Tomba MCP server and loads a CSV into Metabase with the Metabase CLI for quick analysis, and a durable warehouse route for reporting people depend on.

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

How do you connect Tomba to Metabase?

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

1 · MCP + CLI route (AI-assisted)

Live data in, quick analysis out

Pair Tomba's managed MCP server (Pipedream, to look up finds, sources, and verification status) with the Metabase CLI, whose upload command loads a CSV into Metabase as a ready-to-query table and model.

Best for
  • Quick lookups like "what confidence score did these finds get?"
  • Loading a Tomba CSV export into Metabase in seconds
  • Spot-checks and one-off analyses without a warehouse
Trade-offs
  • Great for exploration, not governed reporting
  • The managed connector acts with your Tomba account's permissions and credits — scope it tightly
  • CSV uploads are snapshots — refresh or move to the warehouse for history
2 · Warehouse route (durable reporting)

Durable dashboards with history

Sync Tomba into a database or warehouse with the Tomba API, exports, or a connector, then point Metabase at it.

Best for
  • Match-rate, confidence, and deliverability dashboards the whole team relies on
  • Verification and credit trends over time
  • Joining found contacts with outbound outcomes and CRM pipeline
Trade-offs
  • Requires a destination database and a sync to maintain
  • You own the match and verified definitions and the refresh schedule
  • Snapshot runs over time if you want credit and quality trends

What can you analyze from Tomba data in Metabase?

  • Match rate — emails found as a share of searches, by search type
  • Confidence — score distribution and deliverability by band
  • Verification quality — deliverable, risky, undeliverable, and catch-all share
  • Credit usage — credits by week and per usable contact
  • List quality — usable contacts added and duplicates vs. CRM
  • Source coverage — how many public sources back each find

Which Tomba dashboards should you build in Metabase?

For: RevOps

Match rate

How often a search resolves an email.

  • Match rate by search type (bar)
  • Found vs. not found by week (line)
  • Confidence-score distribution (histogram)
  • Searches with no result (table)
For: Deliverability

Verification

Whether found emails are safe to send.

  • Deliverable vs. risky vs. undeliverable (donut)
  • MX and SMTP check pass rate (number)
  • Catch-all / webmail rate (number)
  • Verification failures over time (line)
For: Finance / ops

Credits

What lead finding costs.

  • Credits used by week (line)
  • Credits per usable contact (number)
  • Wasted credits on low-confidence finds (number)
  • Credits by search type (bar)
For: Sales leaders

List quality

Whether the output is usable.

  • Usable contacts added by week (line)
  • High-confidence share of finds (number)
  • Duplicate rate vs. CRM (number)
  • List readiness for sending (number)

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

Pair the Tomba MCP server with the Metabase CLI for fast, hands-on analysis. Tomba connects through a managed MCP server (Pipedream) that looks up finds, sources, and verification status; the Metabase CLI's upload command loads a CSV into Metabase and creates a ready-to-query table and model.

Example workflow

  • Ask the Tomba MCP what confidence scores a batch of finds received.
  • Export the found emails and verification results 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 Tomba MCP is great for live lookups — not for scheduled or audited deliverability reporting.
  • A CSV upload is a point-in-time snapshot; refresh it with mb upload replace or move to the warehouse for real history.
  • The managed connector acts with the connected Tomba account's permissions and consumes credits — scope it tightly.
  • mb upload csv needs an uploads database configured under Admin → Settings → Uploads.

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

Tomba MCPmanaged

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

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

Tomba 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. 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 Tomba connector setup in Pipedream's Tomba MCP page.

Can you generate a Tomba dashboard with AI?

Yes. Use the prompt below with any assistant that can run the Tomba MCP server and the Metabase CLI. It works end to end: if Tomba tables already exist in Metabase it analyzes those; otherwise it pulls the data over the Tomba MCP, loads it with mb upload csv, then builds the dashboard — treating confidence as a quality band and skipping cards it has no data for.

Prompt for creating a Tomba Deliverability Overview dashboard
Create a polished Metabase dashboard for Tomba lead-finding analytics.
Work end to end: get the data into Metabase if it isn't there yet, then build.

Goal: Help RevOps and deliverability teams understand match rate, confidence,
verification quality, credit usage, and list quality from Tomba data.

Step 1 — Find or load the data:
- First, check what already exists in Metabase (search for Tomba tables and
  models). If durable Tomba 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 Tomba MCP server: searches (finder
  requests), found emails (with confidence score and sources), verifications
  (deliverable/risky/undeliverable, MX/SMTP checks, catch-all), and credit/usage
  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:
Tomba CSV exports are usually flat (one row per found email, with a confidence
score, source count, and verification status). Warehouse tables are rawer, often
with a separate searches table and a per-verification row. Inspect the actual
tables and column names first; do not assume exact names or that a searches table
exists.

Important:
- Build on whatever data is present; don't claim Metabase connects natively to
  Tomba — it reads a database or CLI-uploaded tables.
- Define match rate as found ÷ searched, and deliverable share as deliverable ÷
  verified — keep them distinct.
- Use the confidence score as a quality band, not a guarantee, and treat
  catch-all separately from deliverable.
- Report credits with a denominator (per usable contact) visible.
- Only build a card if its underlying column/metric exists in the data.
- 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: Tomba Deliverability Overview

Sections:
1. Executive summary (KPI cards): Match rate; Deliverable share; High-confidence
   share; Credits used; Credits per usable contact; Usable contacts added.
2. Match rate: By search type; found vs. not found; confidence distribution.
3. Verification: Deliverable vs. risky vs. undeliverable; MX/SMTP pass; catch-all.
4. Credits: By week; per usable contact; wasted credits.
5. List quality: Usable contacts added; duplicates vs. CRM; high-confidence share.

Filters: Search type, Confidence band, Date range.

Reuse the models Metabase auto-created from uploaded CSVs, or (for a warehouse)
create reusable models: modeled_tomba_searches, modeled_tomba_emails,
modeled_tomba_verifications, and modeled_tomba_credit_events.

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

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

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

Connector options

  • Tomba API (raw) — pull searches, found emails (with confidence and sources), verification results, and credit usage.
  • dlt (code) — write a Python pipeline against the Tomba API for incremental loads.
  • Exports — scheduled exports can land the core objects on a cadence.

Notes

  • Land raw tables first, then build clean models on top.
  • Keep the search outcome (found/not found) so match rate is honest.
  • Keep the confidence score and verification statusdistinct.
  • Snapshot credit usage over time so cost trends are possible.

How should you model Tomba data in Metabase?

Core tables

TableGrainKey columns
searchesone row per searchid, search_type, found, searched_at
emailsone row per found emailid, domain, confidence, sources_count, created_at
verificationsone row per verificationemail_id, status (deliverable/risky/undeliverable),mx_check, smtp_check, verified_at
credit_eventsone row per credit chargeemail_id, credits, used_at

Modeling advice

  • Keep match rate (found ÷ searched) and deliverable share (deliverable ÷ verified) as distinct metrics.
  • Band the confidence score for readable quality analysis.
  • Treat catch-all separately — it's not a deliverability guarantee.
  • Model credit_events so cost per usable contact is easy to compute.

Which Tomba metrics should you track in Metabase?

MetricDefinitionNotes
Match rateFound ÷ searched.Segment by search type.
Deliverable shareDeliverable ÷ verified.Drives deliverability downstream.
High-confidence shareConfidence ≥ 90 ÷ found.A quality band, not a guarantee.
Credits per usable contactCredits used ÷ deliverable contacts.An efficiency signal, not a target.
Duplicate rateFinds matching an existing CRM contact.Keeps quality honest.
Usable contacts addedDeliverable new contacts per period.Read with match rate, not alone.

What SQL powers Tomba dashboards in Metabase?

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

Match rate by search typePostgreSQL

Found as a share of searches over the last 90 days.

-- Match rate by search type over the last 90 days
SELECT
  s.search_type,
  COUNT(*)                                             AS searches,
  COUNT(*) FILTER (WHERE s.found)                      AS found,
  ROUND(100.0 * COUNT(*) FILTER (WHERE s.found)
    / NULLIF(COUNT(*), 0), 1)                          AS match_rate_pct
FROM modeled_tomba_searches s
WHERE s.searched_at >= CURRENT_DATE - INTERVAL '90 days'
GROUP BY s.search_type
ORDER BY searches DESC;
Deliverability by confidence bandPostgreSQL

Deliverable share across high, medium, and low confidence finds.

-- Deliverability by confidence band
SELECT
  CASE
    WHEN e.confidence >= 90 THEN 'high (90+)'
    WHEN e.confidence >= 70 THEN 'medium (70-89)'
    ELSE 'low (<70)'
  END AS confidence_band,
  COUNT(*)                                               AS emails,
  ROUND(100.0 * COUNT(*) FILTER (WHERE v.status = 'deliverable')
    / NULLIF(COUNT(*), 0), 1)                            AS deliverable_pct
FROM modeled_tomba_emails e
JOIN modeled_tomba_verifications v ON v.email_id = e.id
GROUP BY confidence_band
ORDER BY confidence_band;
Credits per usable contactPostgreSQL

Cost efficiency by week, using deliverable emails as the usable base.

-- Credits per usable contact by week
SELECT
  date_trunc('week', c.used_at) AS week,
  SUM(c.credits)                AS credits_used,
  COUNT(DISTINCT e.id) FILTER (WHERE v.status = 'deliverable') AS usable_contacts,
  ROUND(SUM(c.credits)::numeric
    / NULLIF(COUNT(DISTINCT e.id) FILTER (WHERE v.status = 'deliverable'), 0), 2)
    AS credits_per_usable_contact
FROM modeled_tomba_credit_events c
LEFT JOIN modeled_tomba_emails e        ON e.id = c.email_id
LEFT JOIN modeled_tomba_verifications v ON v.email_id = e.id
GROUP BY 1
ORDER BY 1;

What are common mistakes when analyzing Tomba in Metabase?

Treating a found email as a deliverable one.→ Keep verification status — a high match rate can still hide risky emails.
Reading confidence as a guarantee.→ Confidence is a quality band; pair it with verification before you send.
Counting catch-all as deliverable.→ Catch-all domains accept anything; report them separately.
Reporting credits without a denominator.→ Credits used alone is meaningless; show cost per usable contact.
Trending rates without run history.→ If searches and verifications aren't captured over time, show a snapshot with a caveat rather than a misleading trend.

Related analytics

Related metrics

Related integrations

FAQ

Does Metabase connect natively to Tomba?
No. Metabase reads databases and warehouses. Sync Tomba into a database first (the Tomba API, dlt, or exports), then connect Metabase to that database.
Is there an official Tomba 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 Tomba data without a warehouse?
Export a CSV from Tomba 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 warehouse route when you need history.
Should I filter by confidence score before sending?
Confidence is a useful quality band, but it isn't a deliverability guarantee. Pair it with verification status (deliverable vs. risky) and treat catch-all separately before you add a find to a sending list.