Deduplicate, normalize, and enrich CRM contacts and companies. Use when a user needs to clean CRM data, find duplicate contacts, standardize phone numbers or emails, merge duplicate records, audit data quality, or enrich contacts with external sources like Clearbit or Apollo. Works with HubSpot, Salesforce, Pipedrive, or any CRM with CSV export. Instruction-only skill — no scripts or code execution. All operations are performed via CRM platform APIs or CSV export/import workflows.
Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
Deduplicate, normalize, and enrich CRM contacts and companies. Use when a user needs to clean CRM data, find duplicate contacts, standardize phone numbers or emails, merge duplicate records, audit data quality, or enrich contacts with external sources like Clearbit or Apollo. Works with HubSpot, Salesforce, Pipedrive, or any CRM with CSV export. Instruction-only skill — no scripts or code execution. All operations are performed via CRM platform APIs or CSV export/import workflows.
metadata
{"openclaw":{"requires":{"env":["HUBSPOT_ACCESS_TOKEN"]},"primaryCredential":"HUBSPOT_ACCESS_TOKEN","credentialNotes":"Required for HubSpot API access. For Clearbit/Apollo enrichment, set CLEARBIT_API_KEY or APOLLO_API_KEY as needed. For Salesforce, set SALESFORCE_ACCESS_TOKEN. Only the credentials for your specific CRM and enrichment provider are needed."}}
CRM Data Cleaner — Dedup, Normalize & Enrich Contacts
Overview
Clean, accurate CRM data is the foundation of effective sales and marketing operations. Poor data quality costs businesses an average of $3.1 million annually through wasted time, missed opportunities, and ineffective campaigns. This skill provides comprehensive frameworks, tools, and automation strategies to maintain pristine contact and company data across all major CRM platforms.
This guide covers the three pillars of CRM data hygiene: Deduplication (removing duplicate records), Normalization (standardizing data formats), and Enrichment (filling missing information with reliable external sources).
Phone numbers: (555) 123-4567 vs 555-123-4567 vs +1.555.123.4567
Company names: "IBM Corp" vs "International Business Machines Corporation"
Addresses: "St" vs "Street", "CA" vs "California"
Job titles: "VP Marketing" vs "Vice President of Marketing"
Missing Information
60% of B2B contacts missing phone numbers
40% missing company information
35% missing job titles
25% missing complete addresses
Outdated Information
Contact changes jobs (20% annually)
Email addresses become invalid (25% every 2 years)
Phone numbers change
Companies reorganize, merge, or rebrand
Impact on Business Operations
Sales Productivity Loss
27% of sales time spent on data entry and management
Missed follow-ups due to duplicate records
Confusion over primary contact information
Difficulty identifying decision makers
Marketing Campaign Inefficiency
Increased email bounce rates
Multiple messages to same recipient
Poor segmentation due to incomplete data
Inaccurate reporting and attribution
Customer Experience Issues
Multiple sales reps contacting same prospect
Conflicting information across touchpoints
Poor personalization due to incomplete profiles
Frustration from repeated information requests
Data Quality Assessment Framework
Completeness Score
Required fields populated: Target 95%
Optional fields populated: Target 70%
Critical fields (email, company): Target 98%
Accuracy Score
Valid email format: Target 99%
Valid phone format: Target 95%
Verified addresses: Target 90%
Consistency Score
Standardized formatting: Target 95%
Consistent naming conventions: Target 90%
Aligned data across systems: Target 95%
Uniqueness Score
Duplicate contact rate: Target <2%
Duplicate company rate: Target <1%
Clean merge history: Target 100%
Deduplication Strategy
Types of Duplicates
Exact Duplicates
Identical records with same key fields
Usually caused by import errors
Easy to identify and merge automatically
Near Duplicates
Similar but not identical records
Name variations: "Bob Smith" vs "Robert Smith"
Email variations: personal vs business emails
Require fuzzy matching algorithms
Company Duplicates
Same company with different names
"Apple Inc" vs "Apple Computer" vs "Apple"
Subsidiary vs parent company confusion
Domain-based matching challenges
Household/Account Duplicates
Multiple contacts at same company
Family members at same address
Different roles but same organization
Duplicate Detection Methods
Primary Key Matching
Email-Based Matching (Most Reliable)
Match Criteria:
- Exact email match = 100% duplicate probability
- Domain + similar names = 85% probability
- Multiple emails for same person = merge candidates
Phone-Based Matching (Secondary)
Match Criteria:
- Exact phone match + similar name = 90% probability
- Same phone, different names = investigate
- Multiple formats of same number = normalize first
Name + Company Matching (Fuzzy)
Match Criteria:
- Exact name + exact company = 95% probability
- Similar name + exact company = 80% probability
- Exact name + similar company = 70% probability
Advanced Matching Algorithms
Levenshtein Distance
Measures character differences between strings
Useful for typos and variations
Example: "Smith" vs "Smyth" = distance of 1
Soundex Matching
Phonetic matching algorithm
Groups similar-sounding names
Example: "Smith", "Smyth", "Smithe" = same soundex
Token Matching
Breaks names into components
Matches individual parts
Example: "John Michael Smith" matches "J.M. Smith"
Deduplication Workflow
Phase 1: Automated Detection
High-Confidence Matches (90%+ probability)
Exact email matches
Identical phone + similar names
Same LinkedIn profile URLs
Automatic flagging for review
Medium-Confidence Matches (60-89% probability)
Similar names + same company
Name variations + same domain
Fuzzy phone number matches
Queue for manual review
Low-Confidence Matches (40-59% probability)
Loose name similarities
Possible company matches
Require detailed investigation
Phase 2: Manual Review Process
Review Queue Prioritization
High-value accounts (enterprise clients)
Active opportunities
Recent activity (last 30 days)
Marketing qualified leads
Bulk import suspects
Review Criteria Checklist
Same person confirmation
Most complete record identification
Activity history preservation
Integration considerations
Sales team notifications needed
Phase 3: Merge Execution
Pre-Merge Validation
Backup critical data
Identify master record
Map fields to preserve
Note dependencies (campaigns, workflows)
Field Merge Rules
Primary email: Business > Personal > Most recent
Phone: Mobile > Direct line > Main number
Address: Most complete > Most recent
Job title: Most senior > Most recent
Company: Most complete > Most recent
Post-Merge Cleanup
Update related records
Refresh reports and lists
Notify affected team members
Document merge decisions
Platform-Specific Deduplication
HubSpot Deduplication
Native Duplicate Management
Automatic duplicate detection
Merge suggestions in contacts view
Bulk merge capabilities
Activity history preservation
Custom Duplicate Rules
Email + Company Domain matching
Name similarity + Phone matching
LinkedIn URL exact matching
Custom property combinations
Common Variations:
- gmail.com vs googlemail.com → gmail.com
- hotmail.com vs live.com vs outlook.com → outlook.com
- yahoo.com vs ymail.com → yahoo.com
-- Example missing data analysisSELECTCOUNT(*) as total_contacts,
COUNT(phone) as has_phone,
COUNT(company) as has_company,
COUNT(job_title) as has_title,
(COUNT(*) -COUNT(phone)) as missing_phone,
(COUNT(*) -COUNT(company)) as missing_company
FROM contacts;
Enrichment Priority Matrix
High Value + High Confidence = Immediate enrichment
Update existing records without overwriting good data
Track enrichment timestamps
Log enrichment sources
Real-Time Enrichment
Form Submission Enrichment
// Example real-time enrichment on form submitdocument.getElementById('leadForm').addEventListener('submit', asyncfunction(e) {
const email = document.getElementById('email').value;
const company = document.getElementById('company').value;
// Enrich contact dataconst enrichedData = awaitenrichContact(email, company);
// Update hidden form fieldsupdateFormFields(enrichedData);
});
CRM Integration Triggers
New contact creation
Email address updates
Company field changes
Lead scoring threshold crossing
Progressive Profiling
Gradual data collection over multiple interactions
Smart form field suggestions
Prefilling forms with known data
A/B testing optimal field combinations
Data Quality Monitoring
Enrichment Accuracy Tracking
Verification Metrics
Email deliverability rates
Phone connection success rates
LinkedIn profile match accuracy
Company information consistency
Data Decay Monitoring
Email bounce rates over time
Phone number disconnect rates
Job title change frequency
Company merger/acquisition impact
Source Performance Comparison
Accuracy by data provider
Cost per successful enrichment
Update frequency
Coverage by industry/region
Platform-Specific Implementation
HubSpot Data Cleaning
Native HubSpot Tools
Data Quality Command Center
Duplicate detection and management
Property formatting rules
Workflow-based data validation
Automated data hygiene tasks
Property Settings for Data Quality
Field validation rules
Required field enforcement
Format standardization
Default value management
Workflow Automation
Trigger: Contact is created or updated
Condition: Email domain contains common typos
Action: Flag for manual review + normalize email
HubSpot Integrations
Third-Party Apps
Insycle: Advanced deduplication and data management
PieSync: Data synchronization across platforms
Zapier: Custom data cleaning automations
Custom Development
// HubSpot API example for bulk data cleaningconst hubspot = require('@hubspot/api-client');
asyncfunctioncleanContactData(contacts) {
const hubspotClient = new hubspot.Client({ apiKey: API_KEY });
const cleanedContacts = contacts.map(contact => ({
id: contact.id,
properties: {
phone: normalizePhone(contact.properties.phone),
email: normalizeEmail(contact.properties.email),
company: normalizeCompanyName(contact.properties.company)
}
}));
returnawait hubspotClient.crm.contacts.batchApi.update({
inputs: cleanedContacts
});
}
Salesforce Data Cleaning
Native Salesforce Features
Duplicate Management
Standard duplicate rules
Custom matching rules
Duplicate alerts and blocking
Merge wizard functionality
Data Validation Rules
// Example validation rule for phone format
REGEX(Phone, "^\\+?1?[2-9]\\d{2}[2-9]\\d{2}\\d{4}$")
Flow-Based Automation
Screen flows for data entry validation
Record-triggered flows for cleaning
Scheduled flows for batch processing
Salesforce Apps and Tools
Paid Solutions
Cloudingo: Comprehensive data management
DemandTools: Advanced deduplication
RingLead: Data cleaning and enrichment
Custom Apex Solutions
// Custom Apex for email normalization
public class EmailNormalizer {
public static String normalizeEmail(String email) {
if (String.isBlank(email)) return email;
return email.toLowerCase().trim();
}
}
# Example API endpoint for data cleaning@app.route('/api/v1/contacts/clean', methods=['POST'])defclean_contact_data():
data = request.get_json()
# Validate inputifnot validate_input(data):
return {'error': 'Invalid input'}, 400# Process cleaning
cleaned_data = {
'email': normalize_email(data.get('email')),
'phone': normalize_phone(data.get('phone')),
'company': normalize_company(data.get('company'))
}
return {'cleaned_data': cleaned_data}, 200
This comprehensive CRM data cleaning skill provides the foundation for maintaining high-quality customer and prospect data across all major platforms. Implementation of these strategies will dramatically improve sales productivity, marketing effectiveness, and overall customer experience while reducing operational overhead and compliance risk.