$ man enrichment
Enrichment
Adding data to a contact or company record. Find their email, pull their LinkedIn profile, grab their tech stack, scrape recent posts, detect trigger signals, generate personalization variables. Turns a name + domain into a full actionable record.
You can't personalize with incomplete data. You can't qualify without firmographics. You can't route without an email address. Enrichment turns "name + domain" into a full actionable record. It's the difference between "spray and pray" and "targeted and relevant." and enrichment isn't one step — it's a multi-layer process. email lookup is enrichment. signal detection is enrichment. icebreaker research is enrichment. persona identification is enrichment. each layer adds something the next step needs.
I have two enrichment paths depending on the data type. path 1 — Clay: single-provider email enrichment (Prospeo or LeadMagic, not a waterfall), LinkedIn profiles, job title validation, MX record checks, and research prompts for personalization variables. this handles contact-level enrichment. path 2 — Exa SDK: company-level enrichment at scale. Python scripts that crawl domains for case studies and thought leadership (icebreakers), sweep for 6 signal types with date filters (trigger signals), search LinkedIn for specific titles (persona widening), and discover lookalike companies (TAM expansion). Exa handles the research that Clay can't — it reads actual web pages and returns semantic matches, not just keyword hits. the two paths converge in Clay. Exa outputs go into CSV files that import into Clay tables, where they join contact-level enrichment data. the combined record — company research + contact data + signals + personalization variables — is what moves downstream to email sequences.