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

Contact Data Enrichment & Validation

Build an internal tool that cleans messy contact lists - validates emails, standardizes phones, normalizes titles and geography, flags junk rows - and stages every correction for human approval before only the clean data lands in your CRM.

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

Upload a raw contact list, automatically validate and normalize every field, map titles to seniority and department, flag role and free-mail and likely-bad rows, review a before/after diff, approve the clean set, and export two CSVs - the clean contacts and a quarantine list - in the exact columns your CRM expects.

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 free Supabase account
  • A free Vercel account
  • A free Resend account (for notifications)
  • A raw contact list to clean (CSV or Google Sheet export)
  • Your standardization rules (title mappings, country formats, what to flag or drop)

The problem this kills

You import a list and inherit garbage. Emails with typos and trailing spaces. Phone numbers in nine different formats. Job titles like "VP, Sales (acting)" sitting next to "vp sales" and "Vice President of Sales." Countries written as "USA," "U.S.A.," and "United States" in the same column. Role addresses like info@ and sales@ that should never get a personal email. Free-mail accounts where you expected a company domain. Whole rows that are obviously dead.

Right now you fix this by hand in a spreadsheet, or you don't fix it at all and the junk pollutes your CRM forever - skewing reports, burning sender reputation, and embarrassing your reps on calls. Bulk find-and-replace is dangerous because there's no record of what changed and no easy undo. And nobody wants to be the person who accidentally deletes 400 good contacts.

This tool fixes all of that without you writing a line of code.

What you'll build

A small, private web app for your team that takes a raw contact list and turns it into clean, CRM-ready data - with a human approving every change before anything is final.

You upload a CSV or paste in a Google Sheet export. The tool validates email format, standardizes phone numbers, normalizes titles into a seniority + department your rules define, and cleans up country and state values. It flags role addresses (info@, sales@), free-mail domains (gmail, outlook), and rows that look broken. It never silently deletes anything: bad rows go to a quarantine list a human confirms. Then it shows you a clear before/after diff, you approve the clean set, and it exports two CSVs - your clean contacts and the quarantine - in exactly the columns your system expects.

What's inside the Implementation Plan

The plan is a runbook you paste into an AI coding agent (Claude Code), which then builds the tool with you step by step. You don't need to know how to program.

It opens by interviewing you about your business - your current cleanup process, the systems and spreadsheets you use, the real field names and conventions in your data, your typical and peak list sizes, your exact title-mapping and flag/drop rules, and your messiest edge cases. It reflects a short tailored spec back to you for a thumbs-up, and only then starts building - so you get a tool shaped around your data, not a generic template.

From there it walks through: setting up the database and secure login, the upload and field-mapping screen, the validation and normalization engine driven by your editable rules, the role/free-mail/bad-row flagging, the before/after diff review screen with bulk and individual quarantine decisions, and the dual CSV export. Every build step ends with a ready-to-paste prompt.

The governance it includes (this is the point)

  • Login so only your team can open the tool.
  • Row-level security so each organization only ever sees its own lists and contacts.
  • A complete audit trail - who uploaded, who changed which field from what to what, who approved, and when.
  • A hard human-in-the-loop approval gate - the tool drafts corrections and flags, a person reviews the diff, and nothing is exported or marked final until a human approves.
  • Duplicate guards keyed on the normalized email, so the same contact can't be cleaned or exported twice.
  • No auto-delete, ever - questionable rows are quarantined and confirmed by a person, with the original values always kept alongside the cleaned ones.

Who it's for

Marketing ops and CRM admins who regularly import lists and inherit messy, inconsistent contact data - and who need clean data to land in the system of record without trusting a black box to decide what's good and what's junk.

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.