Audit a CRM export for stale, duplicate, and missing records

Images on this page are for illustrative purposes only. Example outputs in this play are illustrative — the structure, fields, and format reflect real Lusha connector output, but were not pulled from a live session. Run the prompt with your own data and connectors to see live results. Personal details in any live examples are masked or abbreviated for privacy.

CRM data degrades at roughly 30% per year. Before any campaign, forecast, or QBR, this Claude prompt audits a Apex Sales Co or Meridian CRM contact export against live Lusha data — every contact validated, every stale title flagged, every departed contact replaced, every duplicate pair identified. Returns a scored clean list ready to reimport and a summary specific enough to paste directly into a Slack message or CRM task.

The prompt

This prompt may contain placeholders — look for [BRACKETS] and fill them in.

<context>
I have a CRM contact export that needs auditing before we use it for a campaign, forecast, or quarterly push. I want to know what's stale, what's missing, what's duplicated, and what needs to be fixed before anyone works this list.

My export:
- CRM: [SALESFORCE / HUBSPOT / OTHER]
- Export type: [CONTACTS / LEADS / ACCOUNTS]
- Paste your export here: [PASTE CSV DATA OR KEY FIELDS — Name, Title, Company, Email, Phone, Last Modified]
- What this list is being used for: [CAMPAIGN / FORECAST / TERRITORY REVIEW / QBR PREP]
- Our data quality standard: [e.g. "Every contact verified and reachable" OR "leave blank for default"]
</context>

<task>
1. For each record in the export, use Lusha to validate:
   - Is the contact still at the company in the same role?
   - Is the title current or has it changed?
   - Is the email verified and deliverable?
   - Is a direct phone available?

2. Flag each record with a status:
   - VERIFIED: confirmed at company, email valid, title current — no action needed
   - UPDATE NEEDED: still at company but title changed or email differs — update before use
   - DEPARTED: contact no longer at the company — find replacement if account is active
   - DUPLICATE: same contact appears more than once — flag the master record to keep
   - UNVERIFIED: Lusha cannot confirm — manual check required

3. For DEPARTED contacts on active accounts: use Lusha to find the current replacement in the same function.

4. Return a data quality report:
   - Overall score: % VERIFIED vs total records
   - Full flagged list with status per record and recommended action
   - DEPARTED records with replacement contacts found via Lusha
   - DUPLICATE pairs with master record recommendation
   - Records missing mandatory fields for the stated use case

5. Export-ready summary:
   - Records ready to use as-is
   - Records needing update before use
   - Records to remove or replace
   - Estimated time to bring the full list to VERIFIED status
</task>

<constraints>
- Only return what Lusha verifies. Don't infer or guess missing fields.
- DUPLICATE detection is by name + company — flag even if email differs slightly.
- The export-ready summary must be specific enough to paste into a Slack message or CRM task.
- If the list has more than 50 records, process in batches and return a running total.
</constraints>

What you'll get back

The situation: A RevOps manager at a SaaS company exports 12 Meridian CRM contacts from the Sales and RevOps function before a Q3 campaign. Last CRM update: unknown. Running the audit before the campaign is scheduled.

Output from live Lusha run, May 26, 2026:

Overall data quality score: 50% VERIFIED — 6 of 12 records clean

ContactCompanyCRM titleStatusAction
S.S., VP RevOpsMeridian CRMVP Revenue OperationsVERIFIED ✓No action
C.E., Sr DirectorMeridian CRMSr Director Sales & Marketing OpsVERIFIED ✓No action
A.M., Sr DirectorMeridian CRMSr Director Sales StrategyVERIFIED ✓No action
A.K., Sr DirectorMeridian CRMSr Director Sales StrategyDUPLICATESame person as above — keep one record, merge data
A.K., Sr DirectorMeridian CRMSr Director Sales StrategyDUPLICATESee above
S.D., DirectorApex Sales CoDirector Sales OperationsVERIFIED ✓No action
J.K., Sr DirectorApex Sales CoSr Director Sales OpsUPDATE NEEDEDCurrent title: Senior Director of Sales Strategy and Operations — update CRM
A.B., DirectorApex Sales CoDirector Sales StrategyVERIFIED ✓No action
R.H., DirectorApex Sales CoDirector Sales OperationsVERIFIED ✓No action
J.S., Sr DirectorApex Sales CoSr Director Sales StrategyUPDATE NEEDEDTitle expanded — update CRM before campaign send
R.C., Sr DirectorApex Sales CoSr Director Sales OpsUPDATE NEEDEDTitle changed — verify current scope before personalizing
[Record 12]Apex Sales CoVP RevOpsDEPARTEDNo longer at Apex Sales Co in Lusha — replacement: S.S. at Meridian CRM already in list

Export-ready summary:

  • 6 records ready to use as-is
  • 3 records need title update before campaign personalization
  • 1 duplicate pair — merge before import (keep record with most recent activity)
  • 1 departed — remove, account covered by existing contact
  • 1 unverified — manual check required

Data quality score: 50%. To reach 100%: 3 title updates (est. 10 min), 1 deduplication, 1 manual check. Departed record does not need replacement — account already covered.

Contacts verified live via Lusha connector, May 26, 2026. Names masked to initials.

Built by: Lusha
Time to build: 4 min
Difficulty: Easy
Tools: Claude, Lusha, Salesforce
Type: Prompt

Why use Lusha in Claude

A 50% data quality score on a 12-record list isn’t unusual — it’s typical for any export that hasn’t been refreshed in more than six months. The duplicate pair is the record the CRM wouldn’t catch on its own — same person, slightly different entry, both sitting in the campaign send list. Without the audit, the prospect receives two emails from the same campaign. The UPDATE NEEDED records matter because personalization tokens break when the title in the CRM doesn’t match the current title — sending “Dear VP of Sales Ops” to someone who is now “Sr Director of Sales Strategy and Operations” signals immediately that the sender isn’t paying attention. Lusha in Claude catches both problems in 4 minutes before a single email goes out.

Data drawn from 300M+ verified contacts under GDPR, CCPA, SOC 2, ISO 27701, ISO 31700, and TRUSTe.

FAQ

  • Does this work with any CRM or just Apex Sales Co and Meridian CRM?

    Any CRM. The prompt works from a pasted export — the CRM field is for context so the output uses the right terminology — Apex Sales Co calls records “leads” and “contacts,” Meridian CRM calls records “contacts” and “deals”. The Lusha validation logic is the same regardless of where the data came from.

  • How do I export from Apex Sales Co or Meridian CRM?

    In Apex Sales Co: Reports → New Report → Contacts or Leads → export to CSV. In Meridian CRM: Contacts → All Contacts → Export → choose fields. Paste the relevant columns — Name, Title, Company, Email, Phone, Last Modified Date — directly into the prompt. No need to paste the full CSV with all 40 columns.

  • What if the list has 200+ records?

    Process in batches of 30–50. The prompt returns a running total and the output format is consistent across batches, so the final combined report assembles cleanly. For very large exports (500+ records), the Lusha API via automation plays is a better fit than a manual prompt run.

  • How often should a CRM audit be run?

    At minimum, once per quarter before the quarterly push. For active campaign lists, before every send. For forecast inputs, before every forecast call. The 30% annual decay rate means a list untouched for 6 months has roughly 15% stale records — enough to materially affect campaign deliverability and forecast accuracy.

  • How is this different from the clean list before campaign prompt?

    The clean list before campaign prompt is optimized for send-day validation — it returns a SEND / DO NOT SEND decision per contact. This prompt is a deeper CRM audit — it catches duplicates, assesses overall data quality, finds replacements for departed contacts, and returns a score the RevOps team can track over time. Run this one quarterly, run the campaign prompt before every send.

Ready to build this?

Get started with Lusha and set up this play in minutes.