RevOps data cleanup with LLMs (L3)

Use LLMs to deduplicate accounts, normalize titles/industries, and reconcile CRM ↔ billing. Unsexy, highest-ROI play in most orgs.

WORKFLOW1Select and export account…dataManual2Normalize industry and fi…mographicsManual3Execute LLM-powered dedup…icationManual4Reconcile CRM with billin… dataManual5Write back data with audi… trailManual6Establish a standing week…y jobManual
6 steps, in order, with the tool that owns each one.
Adoption ladderSix levels from Starter to Rebuilt. This item sits at level 3.L1 StarterOne tool, no workflow changeL2 AssistedAI drafts, humans approveL3 IntegratedWired into CRM and SlackL4 OrchestratedMulti-step, owned, measuredL5 AutonomousAgent runs, human auditsL6 RebuiltThe process itself changes
This playbook belongs at L3 Integrated. Running it above your level is how pilots stall.
Measures of successDuplicate rate; Field completeness %; Hours savedPROVE IT WORKEDDuplicate rateField completeness %Hours saved

The steps

  1. 01

    Select and export account data

    To avoid data chaos, pick exactly one entity to clean: either Accounts or Contacts. For this playbook, we will focus on Accounts (Companies) as they are the foundation of RevOps. Start by exporting your data from your CRM (Salesforce or HubSpot) into a CSV or connecting it directly to a data workbench tool like Clay or a Google Sheets with the GPT for Sheets extension. • Export the following fields: Record ID, Account Name, Website/Domain, Billing City, Billing Country, and Industry. • Filter your export to only include 'Active' records or those with a 'Closed Won' opportunity to keep the initial scope manageable. • Ownership: RevOps Manager or Sales Ops Coordinator. • Time Estimate: 45 minutes. • Pitfall: Trying to clean Contacts at the same time; this leads to mapping errors because Contact metadata often depends on parent Account data that isn't clean yet. • Definition of Done: A clean spreadsheet or Clay table containing your 'Master List' of accounts with unique IDs and no more than 5,000 rows for this first batch.

  2. 02

    Normalize industry and firmographics

    Standardizing Industry and Title fields is the highest-ROI activity for segmentation. Use an LLM (GPT-4o or Claude 3.5 Sonnet) to map your messy 'Source Industry' field to a standard list of 10-15 categories (e.g., SaaS, Manufacturing, FinTech). • In Clay or your LLM prompt, use this logic: 'I am providing a company name and their current industry description. Based on this, map them to one of these specific categories: [List your categories]. If unsure, return "Unknown".' • Example Prompt: 'Company: {{Company Name}}, Description: {{Industry}}. Map to: [SaaS, Healthcare, Finance, Retail]. Return only the category name.' • Run this in batches of 100 to monitor accuracy. • Ownership: RevOps Analyst. • Time Estimate: 2 hours. • Pitfall: Providing too many categories (30+) which confuses the LLM and leads to inconsistent mapping. • Definition of Done: A column labeled 'Normalized Industry' where 100% of rows have a value from your approved set.

  3. 03

    Execute LLM-powered deduplication

    Traditional CRM deduplication relies on exact matching, which fails for 'IBM' vs 'International Business Machines'. Use an LLM to compare pairs of potential duplicates. • Use a tool like Clay to find 'fuzzy matches' by Website or Name, then pass the pairs to the LLM. • Logic: 'Evaluate these two Account records: Record A [Name, Website, City] and Record B [Name, Website, City]. Are these the same legal entity? Output "Match" or "Non-Match" and a confidence score 1-10.' • Set a threshold: If confidence is >9 or 'Match', mark for automated merge. If 6-8, mark for 'Human Review'. • Ownership: RevOps/Data Specialist. • Time Estimate: 3-4 hours. • Pitfall: Automatically merging without a confidence score, which can accidentally merge parent companies and subsidiaries. • Definition of Done: A deduplication log showing proposed merges and a 'Confidence Score' for every suspected duplicate pair.

  4. 04

    Reconcile CRM with billing data

    Before updating your CRM, ensure your billing system (Stripe, NetSuite, or QuickBooks) matches your CRM. This 'Reconciliation' ensures Sales and Finance see the same truth. • Export your customer list from the billing system (Name, Email Domain, Total Spend). • Use an LLM or VLOOKUP to match the Billing 'Customer Name' to your CRM 'Account Name'. • Flag discrepancies where a customer exists in Billing but not in CRM, or where names differ significantly. • Ownership: RevOps + Finance. • Time Estimate: 3 hours. • Pitfall: Overlooking different email domains used for billing versus sales outreach (e.g., @corphq.com vs @product.com). • Definition of Done: A reconciled sheet where every paying customer in your billing platform is mapped to a unique Salesforce/HubSpot Account ID.

  5. 05

    Write back data with audit trail

    Now you must push the clean data back to the CRM using an 'Audit First' approach. Do not simply overwrite existing records via an import. • Create a custom field in your CRM called 'LLM_Normalized_Industry' and 'Data_Cleanup_Date'. • Use an integration tool (Zapier, Make, or the CRM's native Import tool) to map your unique Record ID to these new fields. • If you are merging duplicates, use the CRM's native Merge API or tool to ensure Activity History (Emails, Tasks) is preserved and attached to the surviving 'Master' record. • Ownership: CRM Administrator. • Time Estimate: 2 hours. • Pitfall: Overwriting original source data. Always write to a new field first so you can revert if the mapping is wrong. • Definition of Done: CRM records updated with normalized values and a clear audit trail of when the change occurred.

  6. 06

    Establish a standing weekly job

    Data cleanup is a lifestyle, not an event. Set up a recurring job to handle new leads and accounts created each week. • Create a 'Trigger' in your CRM: When a new Account is created, send the data to a Google Sheet or Clay table. • Schedule a weekly LLM run (every Friday at 5 PM) to process these new records for Industry normalization and Duplicate checking. • Set an alert in Slack to notify the RevOps team of any 'Human Review Needed' flags that the LLM generated during the weekly run. • Ownership: RevOps Manager. • Time Estimate: 1 hour/week set up. • Pitfall: Forgetting to pause the job during large data migrations, which can blow through LLM API tokens. • Definition of Done: A live, automated workflow that processes newly created records weekly without manual export/import.

Next playbooks

Unfamiliar terms are defined in the AI and Revenue Dictionary. Related frameworks live in the framework library.

Share this playbook

Posting to Instagram or TikTok? Copy the link, it carries the title, summary and share image.

Arrives weekly by email. Free. Unsubscribe anytime. By subscribing you agree to our Privacy policy and Terms. We never sell or share the list.