Bulk-enrich a CSV of contacts from Claude

Bulk-enrich a CSV of contacts from Claude

Claude

the skill plays the role of a data operations specialist inside Claude. It handles the boring parts of CSV enrichment: parses your file, detects column names (LinkedIn URL, Full Name, Company, Domain, etc.), shows you a preview to confirm the mapping, estimates the credit cost, and only runs the bulk enrichment after you say go. The output is a merged CSV with your original rows plus verified emails and phones, with existing email cells in your file always preserved.

1. Connect the FullEnrich MCP to Claude

This skill needs only one MCP active in your Claude workspace:

  • FullEnrich MCP at https://mcp.fullenrich.com/mcp

New to MCPs? Follow the FullEnrich MCP setup guide.

2. Install the skill in Claude

Click Download Skill above to grab the skill .zip file, then install it in Claude:

  • Open Customize in Claude

  • Click Create new skill

  • Click the + button at the top

  • Choose Create Skill

  • Pick Upload a skill and select the .zip you just downloaded


3. Drop your CSV in chat

Upload a CSV with whichever columns you have. The skill recognizes any combination of these fields:

  • LinkedIn URL, the strongest single identifier when present

  • First Name + Last Name (or a single Full Name column)

  • Company name, and optionally Domain (website)

Any other column you have in the file (status, owner, notes, etc.) is kept untouched in the merged output but ignored during enrichment. The skill activates when you say things like "enrich this CSV", "bulk enrich my file", or just by uploading the file with a short instruction.

4. Confirm column mapping and the cost

Before any credit is spent, the skill does three things:

  • Parses your CSV and shows the first 5 rows with the detected columns mapped to FullEnrich fields, so you can spot a wrong guess (e.g. an "Email" column that is actually a previous-employer email)

  • Flags rows with not enough data to enrich (no LinkedIn URL and no name+company) and tells you how many will be skipped

  • Calls get_credits, computes the estimated cost based on what you want (work email, phone, or both), and asks for explicit confirmation

Typical confirmation looks like: "42 valid contacts. Enriching with work email + phone will cost ~462 credits. You have 1,500. Proceed?"

5. The skill normalizes and runs the bulk job

Once you confirm, the skill cleans the data before sending: trims whitespace on names, normalizes LinkedIn URLs (strips locale paths like /en or /fr and trailing slashes, forces https://), and batches large files into chunks of 100 contacts. It then calls enrich_bulk in the background and polls the status every 20 seconds, showing progress in chat (Enriching 67/100 completed).

6. Get the merged CSV back

When the job finishes, the skill exports the full result as a CSV download link. For small files (≤20 contacts) you also get an inline table in chat with Full Name, Company, LinkedIn, Email, Phone, and the verification status (DELIVERABLE, PROBABLY_VALID, CATCH_ALL, etc.).

      A quick summary follows: total contacts processed, emails found (count + %), phones found (count + %), and how many came back without a match. Every row also keeps its original columns from your input file. **Existing email cells in your file are never overwritten**, the skill only fills empty cells

Built-in safeguards: the skill always shows a column-mapping preview before enriching, asks for explicit confirmation on the credit cost, normalizes LinkedIn URLs to avoid wasted lookups, batches files larger than 100 rows automatically, and preserves any existing data in your CSV. It also explains the misleading CREDITS_INSUFFICIENT status when it appears (it means "no data found", not "out of credits").

What is next? After delivering the enriched CSV, the skill offers natural follow-ups: push the contacts to your CRM (using the FullEnrich + HubSpot, Attio, Monday, Notion, or Airtable skills), draft personalized outreach from the enriched data, or upload another file.

Troubleshooting

Claude says the FullEnrich MCP is not connected

Open Claude settings and connect https://mcp.fullenrich.com/mcp. Re-upload the file on the next message.

"X rows have not enough data"

Those rows have neither a LinkedIn URL, nor a name + company. The skill skips them to avoid wasting credits. You can re-upload with more columns or accept the skip.

Wrong column was detected as the email field

The skill confirms the mapping in step 4. Tell it which column is the actual work email, or just say "that column is a previous-employer email, ignore it".

Many contacts came back with CREDITS_INSUFFICIENT

Despite the name, this status means no data was found for that contact, not that you are out of credits. Common when LinkedIn URLs are stale or company names are very generic.

Export links expire after 24 hours. Ask Claude to "re-export the last enrichment" and the skill regenerates a fresh link from the same enrichment job.

Bulk job took longer than expected

For files of 500+ rows, total processing can take several minutes. The skill polls in the background and shows live progress, no need to refresh anything.

Clay