Skip to main content

Find CRM Contacts Who Switched Jobs

Detect which contacts in your CRM changed companies, find their new work emails, and add them to re-engagement campaigns. Past champions win at 37% vs 19% for cold outbound — nearly 2x the win rate (Champify, 230K champions analyzed).

When to use

  • Quarterly CRM hygiene — catch contacts who left their companies
  • Win-back campaigns — re-engage churned contacts at their new companies
  • Pipeline reactivation — find champions who moved to new accounts

How to run it

Uses the job-change-detector skill. Connect your CRM via MCP (HubSpot, Salesforce), then tell Claude Code:
“Pull my HubSpot contacts, check which ones changed companies, find their new work emails, update HubSpot with the changes, and add job changers to my Instantly re-engagement campaign”
# 1. Enrich current company info (pilot on 2 rows)
deepline enrich --input crm_contacts.csv --output job_changes.csv --rows 0:1 \
  --with '{"alias":"current_info","tool":"person_enrichment_from_email_waterfall","payload":{"email":"{{email}}"}}'

# 2. Flag changers (compare enriched vs stored company)
deepline enrich --csv job_changes.csv --in-place \
  --with '{"alias":"job_changed","tool":"run_javascript","payload":{"code":"const current = (row.current_info_company || \"\").toLowerCase(); const stored = (row.company || \"\").toLowerCase(); return current && stored && current !== stored ? \"YES\" : \"NO\""}}'

# 3. Find new emails for job changers
deepline enrich --csv job_changes.csv --in-place \
  --with '{"alias":"new_email","tool":"name_and_company_to_email_waterfall","payload":{"first_name":"{{first_name}}","last_name":"{{last_name}}","company_name":"{{current_info_company}}","domain":"{{current_info_domain}}"}}'

Key rules

  • Pilot first. Always test on 2 rows before running 1000+ contacts.
  • LinkedIn URLs improve accuracy. If your CRM has them, use crustdata_person_enrichment with LinkedIn URL for best results.
  • Data freshness. PDL/Crustdata data can be 1-3 months stale — cross-reference with LinkedIn for high-value contacts.
  • Batch size. For large lists (1000+), process in batches of 200-500.

Why this matters

  • 30% of B2B contacts switch jobs every year (Cognism)
  • At 2.1% monthly data decay, a 10K-contact CRM loses ~210 valid emails per month (SMARTe)
  • Past champions convert at 3x the rate of cold prospects (UserGems)
  • The first seller to contact after a trigger event is 5x more likely to win (Autobound)

Common pitfalls

PitfallFix
Company name mismatch due to casing (“Acme” vs “ACME”)Normalize to lowercase before comparing
False positives from acquisitions/rebrandsCheck if domain also changed, not just company name
Missing LinkedIn URLs reduces accuracyEnrich LinkedIn URLs first if not in CRM
View source on GitHub