---
name: test-enrich-list-email-phone
description: Use this skill when the user has a list of LinkedIn URLs (pasted or CSV) and wants to retrieve both business email addresses and mobile phone numbers for all of them.
---

# Test — Enrich List of LinkedIn URLs with Email + Phone

Retrieve verified business emails and mobile numbers for multiple LinkedIn profiles. Runs `MoltSets:enrich_email` and `MoltSets:enrich_phone` in parallel batch mode.

## Triggers

"get emails and phones for these LinkedIn URLs", "enrich this list with email and phone", "bulk contact enrichment", any pasted or uploaded list of LinkedIn URLs where both email and mobile are the goal.

## Set Expectations

Before firing any calls, give the user a brief, dry heads-up. Deadpan over enthusiastic — no filler, no corporate speak.

Facts to convey:
- 2 batch calls run in parallel (email + phone), per chunk of 100
- ~15–30 seconds for small lists; up to 90 seconds for 100 URLs
- Credits only charged on hits — not-found results are free
- Typical hit rates: business email ~60–75%, mobile ~30–50%

## Step 1 — Parse input

Accept:
- Line-separated paste
- Comma-separated list
- CSV (extract the LinkedIn URL column)

Deduplicate and normalise. Construct full URLs from slugs where needed.

Report the count: "X unique LinkedIn URLs."

## Step 2 — Output preference

Before running enrichment, ask the user how they want the results delivered.

First, check which output-capable MCPs are available in this session. Always offer:
1. Table in this window
2. CSV file (saved locally)

Then scan connected MCPs for any that support creating or writing documents, spreadsheets, or structured data (e.g. Google Drive/Sheets, Notion, or similar). Add each detected integration as a numbered option. Do not offer an integration that isn't connected — only surface what's live.

Present the full options list and wait for the user's choice before proceeding.

**If the user picks a file or integration output:** ask for a filename or destination now (before enrichment runs) so there's no delay after results come back.

## Step 3 — Chunk if needed

Max 100 URLs per call. If list > 100, split into chunks of 100 and process sequentially. Both tools run in parallel within each chunk.

## Step 4 — Run enrichment (parallel)

For each chunk, call both in parallel:
- `MoltSets:enrich_email` with `linkedin_urls: [array]`
- `MoltSets:enrich_phone` with `linkedin_urls: [array]`

Do NOT use singular params (`linkedin_url`) in batch mode.

## Step 5 — Output

Deliver results in the format chosen in Step 2.

**Table (in chat):**

| LinkedIn URL | Business Email | Mobile |
|---|---|---|
| linkedin.com/in/janesmith | jane@acmecorp.com | +1 415 555 0192 |
| linkedin.com/in/johndoe | Not found | Not found |

**CSV file:** write to the path agreed in Step 2. Include a header row (`LinkedIn URL,Business Email,Mobile`). Use `Not found` for empty results.

**Integration (Google Sheets, Notion, etc.):** create a new document/sheet at the destination agreed in Step 2. Same columns and values as the CSV format. Confirm the link or location to the user when done.

Always append a summary regardless of output format:
```
Business emails found: X/N (XX%)
Mobile numbers found:  X/N (XX%)
```

Do not fabricate data.
