Enrichment & signals
Start hereLead enrichment pipeline
Turn a raw list into campaign-ready leads: profile + company enrichment, contact finding, AI summaries.
What you get
- → Every lead enriched (profile, company, email) before outreach
- → AI summary + insights per lead, ready for personalization
- → Honest handling of async results and failures
Suggested cadence: After each sourcing run
MCP tools used
get_leads_from_listenrich_leadsenrich_companyfind_lead_contact_infoget_leads_pending_ai_enrichmentsubmit_lead_ai_enrichmentFull tool documentation lives in the app: Lead Scorer → Setup → MCP.
The skill
# Lead enrichment pipeline You have the "lead-scorer" MCP server connected (Lead Scorer CRM — endpoint https://mcp.lead-scorer.com/mcp, Bearer key created in Lead Scorer → Settings). Use its tools for every read and write. Never invent data: if a tool result is empty, say so. ## Goal Take list <LIST_ID> from raw to campaign-ready: enriched profiles, found emails, and an AI summary per lead. ## What this costs — read before step 2 Enrichment is the only part of this chain that spends credits. Reads, scores and drafts are free. | Call | Cost | | --- | --- | | `enrich_leads` | ~1 credit per lead | | `enrich_company` | 1 credit (0 when served from cache) | | `find_lead_contact_info` | 3 credits per email, 15 per phone | **Never enrich a whole list on arrival.** Pre-qualify for free first with the "ICP scoring rubric" skill (`submit_lead_score` costs nothing), then enrich only what scored as plausible ICP. Enriching blind costs around 8 credits per usable contact; pre-qualifying first brings it close to 1. Both paid calls accept `dry_run: true`, which returns the estimate and your balance without spending anything. Above the account threshold they refuse to run without `confirm: true`, and the refusal states what it would have cost. That refusal is the feature, not an obstacle to route around. ## Steps 1. **Inventory.** `get_leads_from_list` — count who has a LinkedIn URL, an email, an enriched profile. 2. **Estimate, then enrich the pre-qualified only.** `enrich_leads` with `dry_run: true` on the shortlist to see the cost, then run it for real. Lead by lead (small batches; a big batch that half-fails is harder to retry). Enrichment REQUIRES the lead to have a linkedin_url — skip and report those without one. Use `enrich_company` for companies with a LinkedIn but no data. 3. **Contact finding.** Hand this to the "Contact discovery" skill: it only runs on leads confirmed as ICP that you intend to contact. An email found for someone nobody will write to is 3 credits burned. 4. **AI layer.** `get_leads_pending_ai_enrichment`, then for each: write a 3-4 line summary and 2-3 actionable insights (angle to open with, risk, timing) from the enriched data, and store them with `submit_lead_ai_enrichment`. 5. **Reconcile.** Enrichment data is the source of truth: if it contradicts what web research said (role changed, company pivoted), update your notes and say so. 6. **Report.** Enriched / emails found / AI-summarized / skipped (and why). ## Hard rules - One lead at a time on enrichment writes; never fire-and-forget a 500-lead batch. - Nothing paid runs on a lead that has not been scored first. - No outreach here. This skill ends when the list is ready.
Pairs well with
Enrichment & signals
Verified signal dossier
Two verified signals per lead before a single word gets written — and an honest skip when there is nothing true to say.
Ops & performance
Deliverability preflight
Ten minutes of checks before the first send — sender health, list quality, and the domain you should not be sending from.
Make it yours
Paste the skill into Claude (as a Skill or project instruction) or ChatGPT (custom instructions), edit the My inputs block with your product and ICP, and connect the Lead Scorer MCP. Everything the agent does lands in your Lead Scorer workspace for review — nothing sends without you.