← Back to the catalog
B2SALES & REVENUE

CRM hygiene and auto-enrichment

Continuously cleans and enriches the records inside the CRM: standardizes formats, deduplicates contacts and companies, fills missing fields from public sources, flags stale records, and maintains relationship links (who works where, who reports to whom) as people move. The pattern's job is to keep the CRM trustworthy without burdening reps with data entry. SMBs with neglected CRMs typically see the system flip from a frustration to a useful tool within 60 days of this pattern going live.

WHERE THIS FITS
BUSINESS SHAPES
B2B servicesProfessional servicesProduct company
VOLUME THRESHOLD
Below 2,000 active crm records a month, the payback rarely earns the build. Patterns this shape reliably pay back at 20,000+.
REQUIREMENTS · 5 REQUIRED

Requirements describe capabilities the pattern needs in your environment, not the vendors you must buy. Any system that fills a requirement satisfies it — that’s what makes the catalog portable across the long tail of SMB tooling.

  1. crm_record_store
    REQUIREDREAD + WRITErequest

    The CRM whose records are being cleaned. The pattern reads and writes here with care: it never deletes, only flags or merges with audit trail.

    DATA SHAPE
    Contact, company, and deal records with standard fields plus custom fields. Pattern needs write access for updates and a way to log the change source.
    COMMONLY FILLED BY
    • CRM system with API write access
    • internal sales database the team uses as a CRM
    • spreadsheet acting as a CRM (degrades pattern value significantly; consider this a precursor)
  2. enrichment_data_source
    REQUIREDREADrequest

    Where missing fields get filled from. Could be one provider or several stacked.

    DATA SHAPE
    Per-contact and per-company data: job titles, company size, industry, funding, recent news. Source attribution and confidence per field.
    COMMONLY FILLED BY
    • subscription data enrichment service
    • free LinkedIn or company-data lookup APIs
    • internal historical activity logs
    • import of an enrichment file from a list provider
  3. change_audit_log
    REQUIREDWRITEevent

    Every change the pattern makes is logged here. Critical for trust: a CRM that quietly changes data is worse than one that doesn't try.

    DATA SHAPE
    Per-change entries: record affected, field changed, old value, new value, source of new value, confidence, timestamp.
    COMMONLY FILLED BY
    • audit log inside the CRM
    • separate log table the pattern writes to
    • structured change feed posted to a team channel
  4. low_confidence_review_queue
    REQUIREDWRITEbatch

    Changes the pattern isn't confident enough to make automatically go here for a human to approve or reject.

    DATA SHAPE
    Proposed changes with confidence scores, evidence, and approve/reject/edit-and-approve actions for a human.
    COMMONLY FILLED BY
    • review queue inside the CRM
    • dedicated review UI built for the pattern
    • weekly digest emailed to RevOps with batched changes
  5. merge_authority
    REQUIREDREAD + WRITEbatch

    Who or what authorizes record merges when duplicates are found. Merges are destructive in effect even if the audit trail exists.

    DATA SHAPE
    Merge proposal with duplicate records, similarity score, suggested primary record, and human or rule-based decision.
    COMMONLY FILLED BY
    • RevOps reviewer with a merge queue
    • rule-based auto-merge above a confidence threshold (only for high-confidence cases)
    • team lead reviewing weekly batches
RUNTIME FLOW · 7 STEPS
  1. 01
    Periodically scan CRM records for hygiene issues: missing fields, malformed values, suspected duplicates, stale data
    crm_record_store
  2. 02
    For each record needing enrichment, query the enrichment source
    enrichment_data_source
  3. 03
    Score each proposed change for confidence based on source quality and evidence
  4. 04
    Apply high-confidence changes directly; log every change to the audit log
    crm_record_storechange_audit_log
    DECISION Direct apply only above the configured confidence threshold. Below threshold goes to review queue.
  5. 05
    Queue low-confidence changes for human review
    low_confidence_review_queue
  6. 06
    For suspected duplicates, generate merge proposals routed to the merge authority
    merge_authority
  7. 07
    Apply approved changes from review queue, log them, retain rejected changes for prompt tuning
    crm_record_storechange_audit_log
EMISSIONS · 3

Structured outputs this pattern produces. Other patterns and client systems can subscribe to them, which is how the catalog composes over time.

  • hygiene_health_score

    Per-record and aggregate health: completeness, freshness, duplication rate, trust score.

    CONSUMED BY
    • CRM admin dashboard
    • RevOps weekly review
    • sales leadership monthly report
  • relationship_graph_signal

    Updates to who-works-where as people move, available to other patterns and to sales reps.

    CONSUMED BY
    • B3 lead scoring (new role at known account is a signal)
    • B5 churn-risk (champion left the building)
    • sales rep alerts
  • data_provider_quality_signal

    Which enrichment sources prove most accurate over time, useful for provider selection.

    CONSUMED BY
    • procurement decisions
    • RevOps tooling review