insomnia.club back to site
[ playbook · sales ]

CRM hygiene on autopilot: duplicates, gaps, and stale deals

Every report your leadership reads is only as good as the CRM underneath it. This workflow runs nightly, cleans what it can safely clean, and queues the judgment calls for a person, so the data stops decaying between quarterly cleanup sprints.

who owns it

RevOps or the CRM administrator, with sales managers approving changes to their reps' records

what starts it

A nightly scheduled run, plus an immediate check whenever a new contact or company is created

01the problem and who owns it

CRMs rot quietly. The same buyer exists three times because one rep imported a list, another typed the record by hand, and a form created the third. Job titles are free text, so a filter for vice presidents misses half of them. Deals sit in a stage with a close date that passed months ago, inflating the pipeline everyone plans against.

The CRM admin owns data quality on paper, but cleanup competes with every other request in their queue, so it happens once a quarter in a painful sprint. Rules-based dedupe catches exact email matches and misses the fuzzy ones, such as a nickname, a personal email, or a subsidiary written two different ways.

02what the AI does, step by step

  1. Pull changed and new recordsEach run reads contacts, companies, and open deals created or modified since the last run, plus a rotating slice of older records so the whole database gets revisited over time.
  2. Find likely duplicatesCandidate pairs come from cheap matching first: email, domain, phone, normalized company name. A model then judges the fuzzy pairs, such as Bob versus Robert at the same company, and returns a confidence and the evidence it used.
  3. Merge the certain, queue the restExact matches with no conflicting owner or open deal merge automatically, keeping the oldest record and its history. Everything else lands in a review queue showing both records side by side.
  4. Normalize free-text fieldsJob titles map to a seniority and function picklist, countries and states to standard values, and industry text to your own taxonomy. The original value is kept in a separate field so nothing is lost.
  5. Fill gaps from trusted sourcesMissing company size, industry, or website come from your enrichment provider. The model does not invent values; if no source supports a field, it stays empty and is counted.
  6. Flag stale dealsOpen opportunities with a past close date, no logged activity for a set period, or a stage older than your typical cycle get flagged to the owning rep and manager with the specific reason.
  7. Report what changedA short digest goes to RevOps: merges made, fields filled, items awaiting review, and anything the run could not process.

03systems it connects to

04human checkpoints

05what to measure

06risks and guardrails

07build vs buy

Start with what you own: Salesforce duplicate and matching rules and HubSpot's duplicate management handle exact and near-exact cases. Tools such as Insycle or Dedupely add bulk cleanup and scheduling on top.

Custom work pays off when your duplicates are fuzzy, when normalization needs your own taxonomy, or when stale-deal logic depends on how your sales cycle really works, which no generic product knows.

Browse every sales playbook or the full library.

want this running in your business?

We can audit your CRM, set the merge and enrichment rules with your admin, and run a nightly cleanup that queues every judgment call for a person.

See how we deliver it: ai workflow automation.

book a call drop your number

info@insomnia.club