Skip to main content

Documentation Index

Fetch the complete documentation index at: https://deepline.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

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 type in Claude Code:
/deepline-gtm 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:2 \
  --with '{"alias":"current_info","tool":"crustdata_enrich_contact","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_domain_to_email_waterfall","payload":{"first_name":"{{first_name}}","last_name":"{{last_name}}","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 (“Ramp” vs “RAMP”)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