runbookify
← All plans
Sales & CRM / Account & Contact Management

Contact Dedup & Merge Tool

Scan your contact database for duplicate people and accounts, rank the merge candidates by confidence, and produce a safe, reviewed merge plan that preserves history - so your reporting and outreach stop double-counting the same human.

IntermediateA weekendBuilds onNext.js (App Router) on VercelSupabase (Postgres + Auth + RLS)Resend (email)
What you'll build

A login-protected internal tool that imports your contacts, fuzzy-groups duplicates with confidence scores, lets a reviewer pick the surviving record and winning field values for each group, and exports a merge map plus a cleaned contacts CSV - with a full audit trail and nothing changed until a person approves it.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.

Before you start

  • A contacts export (CSV or Google Sheet) with name, email, phone, title, account, created date, and owner
  • [object Object]
  • [object Object]
  • Claude Code installed on your machine

The problem this kills

Your contact list is quietly lying to you. The same person shows up three times - once as jsmith@acme.com, once as john.smith@acme.com, once as a typo'd John Smtih with a different phone number. One account has eleven "contacts" that are really four people. Now every report double-counts, every email blast hits the same inbox twice, and your "12,000 contacts" is really more like 9,500.

Cleaning this by hand is brutal and dangerous. One wrong merge and you lose someone's call history, their owner, or the original created date that your tenure reports depend on. So nobody touches it, and the rot spreads.

This plan gives you a tool that does the hard matching for you, shows you exactly what it wants to merge and why, and never changes a thing until you say yes.

What you'll build

A small, private web app for your CRM admin and sales-ops team:

  • Import your contacts export (and optional account list) - no integration required.
  • Normalize emails, names, and phone numbers so trivial differences stop hiding real duplicates.
  • Fuzzy-group likely duplicates and give each group a confidence score, so you triage the obvious ones fast and scrutinize the borderline ones.
  • Review each group on a clear screen: pick the surviving record, choose which field value wins (keep the earliest created date, apply your primary-owner rule), and preview the result before anything happens.
  • Approve - a human gate. Nothing is committed until a reviewer confirms the group.
  • Export a merge map (which records fold into which survivor, with a group id for audit) and a cleaned contacts CSV in the exact columns your system of record expects.

What's inside the Implementation Plan

  • A discovery interview that runs first. The plan opens by having the AI agent ask you about your actual contact data - your field names, your email and phone conventions, your owner and created-date rules, your typical and peak record counts, and your messiest edge cases. It reads a short tailored spec back to you and waits for your thumbs-up before building. You get a tool shaped around your CRM, not a generic template.
  • Step-by-step build instructions, each ending with a ready-to-paste prompt for Claude Code.
  • The normalization and fuzzy-matching logic spelled out: normalized email as the primary dedupe key, name + account as a secondary signal, scored merge candidates.
  • The full reviewer experience: survivor selection, field-winner picking, side-by-side preview.
  • The "No API yet?" fallback built in from the start: Google Sheet / CSV in, merge map + cleaned CSV out - so the whole thing works today without touching your live CRM.
  • A verification checklist so you know it actually works before you trust it.

The governance it includes (this is the point)

This is not a "run it and pray" script. Governance is baked in:

  • Login so only your team can open the tool.
  • Row-level security so each organization only ever sees its own data.
  • A complete audit trail - who reviewed each group, what they chose, and when.
  • A hard human-in-the-loop approval gate - the AI drafts merge groups, a person reviews and approves, and only an approved group lands in the exported merge plan. Nothing is auto-merged.
  • Duplicate guards so the same import or the same merge group can't be processed twice.
  • History-safe rules - keep the earliest created date, apply an explicit primary-owner rule, and never silently drop references to activity history.

Who it's for

CRM admins and sales-ops staff staring at a contact list that's 20% duplicates and afraid to clean it because one bad merge erases history. If that's you, and you've never written code, this plan is built for you.

You've got this - paste the first prompt and let the agent interview you.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.