Home
cd ../playbooks
Sales & RevenueIntermediate

Firecrawl Lead Enrichment

Enrich one professional or a supplied lead list or CSV with role, employer, profile, and history, with per-field sources and per-row match status

10 minutes
By FirecrawlSource
#firecrawl#lead-enrichment#csv#sales-ops#contact-data#data-quality

A lead list with names and companies isn't useful until the roles, employers, and profiles are right, and the usual tools quietly guess when a name is ambiguous. This playbook has Claude resolve each person's identity first, enrich only confirmed matches, keep every row (including failures), and show where each field came from.

Who it's for: sales ops, recruiters, account executives, event organizers, partnership teams, researchers qualifying a supplied list of professionals

Example

"Enrich this CSV of 200 leads with current title, employer, and LinkedIn URL" → an enriched CSV with the same row order, supplied values preserved, field-level source attribution, freshness status where provided, and a per-row match, no-match, ambiguity, or error status, with ambiguous rows left unresolved instead of guessed

CLAUDE.md Template

New here? 3-minute setup guide → | Already set up? Copy the template below.

Or install from your terminal:
npx ccplaybooks add firecrawl-enrich-leads
# Enrich supplied leads

**When to use:** Enrich one professional or a supplied list/CSV with role, employer, profile, history, and requested business fields. Use for a named person, professional profile, or existing leads; not prospecting.

Source: https://github.com/firecrawl/firecrawl-claude-plugin/blob/main/skills/enrich-lead/SKILL.md (MIT, Firecrawl).

## Prerequisite: the Firecrawl MCP

This workflow runs on Firecrawl's hosted MCP server (tools such as `firecrawl_search` and `firecrawl_scrape`). If those tools are not available, tell the user to connect Firecrawl (in Claude Code, run `/mcp` and connect the account) instead of guessing at tools or arguments. Requests send search queries, page URLs, and any provider inputs to Firecrawl, so include only what the task needs.

Other Firecrawl workflows named below (`find-leads`) are separate playbooks. If one is not loaded here, continue with the instructions in this file.

Get new playbooks like this one

One email a week with new Claude Code workflows. Free, like everything here.

No spam. Unsubscribe anytime.

README.md

What This Does

Enriches people you already have: one named professional, or everyone in a list or CSV. It fills requested fields and never adds new prospects. To discover new people, use the Firecrawl lead-finding playbook.

How it works:

  1. Look up the professional through Firecrawl's people data providers, starting from your identifiers and requested fields. Claude chooses the cheapest read-only path that answers the question, reading each provider's input, output, and billing contract first.
  2. Resolve identity before enriching. It uses the strongest identifier a provider accepts (provider person ID, profile URL, or email). For a name, it includes the employer and location context, and resolves a company domain rather than guessing one. It checks match-confidence metadata against your context, because a successful response alone doesn't establish a match. For a single lead whose identity stays uncertain, it shows up to three candidates and asks you to choose. It never enriches a list of guesses or merges conflicting profiles.
  3. Execute the selected enrichment and inspect each result. Personal-email and phone-reveal options stay disabled. A work email is shown only if requested and returned as an actual address (masked values, unlock placeholders, and availability flags aren't addresses).
  4. Return a contact card (one lead) or an enriched table or CSV (many), with requested fields, relevant employment history, field-level source or provider attribution, profile links, and when checked. Supplied values are preserved unless you asked for corrections, conflicts are shown separately, and stale roles are flagged.

Before You Start

This workflow runs on Firecrawl's hosted MCP server, which gives Claude tools to search the live web and read pages. You need a Firecrawl account and a connected MCP server.

Easiest route: the Firecrawl plugin. In Claude Code:

/plugin marketplace add firecrawl/firecrawl-claude-plugin
/plugin install firecrawl@firecrawl

Then run /reload-plugins (or start a new session) and /mcp to connect your Firecrawl account. Installing the plugin and connecting the account are separate steps. The plugin bundles all thirteen Firecrawl skills, so this playbook is mainly for people who want just this one workflow as a standalone CLAUDE.md. Choose one installation of Firecrawl so the skills don't duplicate.

Cost and privacy. Web, developer, and paper searches are billed per request, page retrieval is billed per URL, and provider data uses each capability's listed price. Government search and provider discovery are free. Check your Firecrawl plan. Requests send search queries, page URLs, and any provider inputs to Firecrawl, so include only what the task needs.


Quick Start

Step 1: Create a Project Folder

mkdir -p ~/Documents/LeadEnrichment

Step 2: Download the Template

Click Download above, then:

mv ~/Downloads/CLAUDE.md ~/Documents/LeadEnrichment/

Step 3: Start Working

cd ~/Documents/LeadEnrichment
claude

Then ask in plain language:

"Enrich [Name], [Role] at [Company]: current title, employer, and profile link"
"Enrich leads.csv with current title and company size. Keep my columns and add a match status per row"
"Who is the VP of Marketing at [Company]? Give me a contact card with source"

Handling Lists and CSVs

  • Column mapping. Claude maps your columns to supported identifiers and requested fields, asking only if an ambiguous mapping blocks the work.
  • Nothing gets dropped. Row IDs, order, duplicates, and every unmatched or failed row are preserved. Duplicates aren't collapsed, and row-specific supplied values aren't overwritten.
  • Ambiguous rows stay unresolved. Claude continues with independent matches without pausing to ask about each ambiguous row, and doesn't replay successful lookups to recover failures.
  • Status per row. Match, no match, ambiguity, or error.
  • Safe batching. Batches are used only as the provider's contract supports and within your limits. Responses are mapped by identifier or documented correspondence, never assumed response order.
  • CSV done properly. Output uses a CSV writer so quoting and embedded newlines survive.

Tips & Best Practices

  • Include the strongest identifier you have. A profile URL or email resolves identity better than a bare name.
  • State your limits. Row counts, credit budgets, and fields needed. Claude stays within them.
  • Ask for freshness. Record-update dates are shown when the provider supplies them, and are kept distinct from lookup time. Unavailable freshness is "unknown."
  • Review conflicts. Where two sources disagree, both appear with their sources.

Limitations

  • Professional context only. Home addresses and sensitive personal information are excluded.
  • No CRM writes or outreach. Claude doesn't create CRM records, enroll contacts in sequences, or send messages.
  • No claims of verification. Provider verification labels are preserved, but Claude doesn't claim independent verification or guaranteed deliverability.
  • Provider access varies. If a provider is unavailable or incomplete, Claude falls back to public professional sources within your allowed scope, or reports the gaps.
  • Check privacy law. Handling personal data about people has legal requirements in many places. Make sure your use is allowed.

$Related Playbooks

Sales & Revenue

Firecrawl Lead Finder

Find professionals matching role, company, location, or expertise criteria, with evidence of fit, profile links, and partial matches kept separate from verified ones

10 minutes
Intermediate
Sales & Revenue

GEO Proposal Generator: Turn an Audit Into a Priced Client Offer

Converts GEO audit findings into a client-ready proposal with executive summary, three priced tiers, ROI projection, timeline, and terms

10 minutes
Intermediate
Sales & Revenue

GEO Prospect Manager: A CRM for Selling AI Search Services

Tracks GEO agency leads through lead, qualified, proposal, won, and lost stages in a local JSON file, with audit scores, notes, and MRR forecasting

10 minutes
Intermediate
Sales & Revenue

Lead Qualification Framework

Score and qualify leads based on criteria and fit

10 minutes
Beginner
Sales & Revenue

Lead Routing & Assignment

Intelligent lead assignment and routing - AI-powered scoring, territory mapping, round-robin distribution, and workload balancing

10 minutes
Advanced
Sales & Revenue

WooCommerce Store Automation

Automate WooCommerce e-commerce operations including orders, inventory, customers, and marketing

10 minutes
Advanced
Sales & Revenue

Stripe Payment Integration

Automate Stripe payment processing, subscription management, invoicing, and financial reporting

10 minutes
Advanced
Sales & Revenue

Subscription Management System

SaaS subscription lifecycle management - billing, upgrades, downgrades, churn prevention, and revenue optimization

10 minutes
Advanced
Sales & Revenue

Pipeline Update

Update CRM pipeline.

15 minutes
Intermediate
Sales & Revenue

Sales Asset Creator

Generate tailored sales assets including landing pages, slide decks, and one-pagers from deal context

10 minutes
Intermediate
Sales & Revenue

Sales Call Summarizer

Process call notes and transcripts into structured summaries, action items, and follow-up emails

5 minutes
Beginner
Sales & Revenue

Sales Daily Briefing

Prioritized daily sales briefing with meetings, pipeline alerts, tasks, and recommended actions

5 minutes
Beginner

Browse all Sales & Revenue playbooks →