Build Targeted Lead List
End-to-end workflow to search for prospects, preview results, refine criteria, and create a confirmed lead list in Amplemarket.
Instructions
Guide the user through building a lead list from scratch. This is a multi-step, interactive workflow.
Steps
Gather search criteria from the user. Ask for any of:
- Target titles and seniority levels
- Target departments or job functions
- Person locations
- Company names, domains, industries, sizes, or types
- Any other qualifying criteria
If the user gives a broad description, parse it into structured filters (see the prospect-icp-search skill for mapping guidance).
Resolve enum values by calling:
mcp__claude_ai_Amplemarket__get_industries to match industry terms to valid API values.
mcp__claude_ai_Amplemarket__get_job_functions to match job function terms to valid API values.
Execute the search by calling mcp__claude_ai_Amplemarket__search_people with the mapped parameters. Set full_output to true and page_size to 20 for the preview.
Present a preview of the results to the user:
- Show the first 10-20 results in a table (Name, Title, Company, Location).
- Report the total number of matching prospects.
- Ask: "Does this look right? Would you like to refine the search or proceed with creating the list?"
Refine if needed. If the user wants changes:
- Adjust filters based on feedback.
- Re-run
mcp__claude_ai_Amplemarket__search_people with updated parameters.
- Show the updated preview.
- Repeat until the user approves.
Collect all results once approved. If total results exceed one page, paginate through all pages using the page parameter to gather all LinkedIn URLs (up to the 10,000 lead limit).
Ask for list configuration:
- List name (suggest a descriptive default like "VP Sales - Fintech - NYC - Mar 2026")
- List type - determine based on available data:
"linkedin" if leads have LinkedIn URLs
"email" if leads have email addresses
"titles_and_company" if leads have title + company domain
- Enrichment options: Ask if they want to enable (note: each option consumes additional Amplemarket credits per lead):
- Email enrichment (
enrich: true)
- Email validation (
validate_email: true)
- Phone number reveal (
reveal_phone_numbers: true)
- Inform the user of the credit implications before enabling enrichment: "Enabling enrichment will use credits for each lead. For a list of [N] leads, that's [N] enrichment credits. Want to proceed?"
Create the lead list by calling mcp__claude_ai_Amplemarket__create_lead_list with:
type: determined list type
name: chosen name
leads: array of lead objects (with linkedin_url, email, or title + company_domain depending on type)
options: enrichment settings
If total leads exceed the batch that fits in a single create call, use mcp__claude_ai_Amplemarket__add_leads_to_lead_list to add remaining leads to the created list using the returned lead_list_id.
Confirm creation with the user:
- Lead list ID
- Total leads added
- Enrichment settings enabled
- Estimated processing time
Important Notes
- The
leads array in create_lead_list supports a maximum of 10,000 entries.
- Always show a preview before creating the list. Never create without user confirmation.
- When using
add_leads_to_lead_list, include the lead_list_id from the create response.
- If the user provides a ready-made list of LinkedIn URLs or emails, skip the search step and go directly to list creation.
Examples
Example 1: Full Workflow from Search to List
User prompt: "Build me a lead list of engineering managers at healthcare companies in the US with 500-5000 employees"
What the skill does:
- Calls
mcp__claude_ai_Amplemarket__get_industries to resolve healthcare industry values.
- Calls
mcp__claude_ai_Amplemarket__search_people with:
person_titles: ["Engineering Manager"]
person_seniorities: ["Manager"]
person_departments: ["Engineering & Technical"]
person_locations: ["United States"]
company_industries: [matched healthcare values]
company_sizes: ["501-1000 employees", "1001-5000 employees"]
full_output: true, page_size: 20
- Presents preview table and total count.
- On user approval, collects all results across pages.
- Calls
mcp__claude_ai_Amplemarket__create_lead_list with:
type: "linkedin"
name: "Eng Managers - Healthcare US - 500-5K - Mar 2026"
leads: [{"linkedin_url": "..."}, ...]
options: {"enrich": true, "validate_email": true}
Example confirmation:
Lead list created successfully.
| Detail |
Value |
| List ID |
lst_abc123def456 |
| List Name |
Eng Managers - Healthcare US - 500-5K - Mar 2026 |
| Total Leads |
312 |
| Type |
LinkedIn |
| Enrichment |
Enabled |
| Email Validation |
Enabled |
| Status |
Processing |
Your list is now being enriched. You can check its status anytime.
Example 2: Quick List from Existing URLs
User prompt: "Create a lead list called 'Q1 Targets' from these LinkedIn URLs: linkedin.com/in/user1, linkedin.com/in/user2, linkedin.com/in/user3"
What the skill does:
- Skips search since the user has provided leads directly.
- Calls
mcp__claude_ai_Amplemarket__create_lead_list with:
Example 3: Refined Search Workflow
User prompt: "Put together a list of senior marketing people at Series B+ SaaS companies in Europe"
What the skill does:
- Resolves industries via
mcp__claude_ai_Amplemarket__get_industries.
- Runs initial search with
person_seniorities: ["Senior", "Manager", "Director", "VP", "Head"], person_departments: ["Marketing"], person_locations: ["United Kingdom", "Germany", "France", "Netherlands", "Sweden", ...], matched SaaS industries.
- Shows preview. User says "too many junior people, only Directors and above."
- Re-runs with
person_seniorities: ["Director", "VP", "Head", "C-Suite"].
- Shows updated preview. User approves.
- Creates list with all results.
Troubleshooting
| Problem |
Solution |
| Too many results to fit in one list |
Paginate through results and use mcp__claude_ai_Amplemarket__add_leads_to_lead_list for batches after the first create call. |
| List creation fails |
Verify that leads array format matches the list type. LinkedIn lists need linkedin_url, email lists need email, titles_and_company lists need title + company_domain. |
| Search returns irrelevant results |
Tighten filters progressively: 1) Add person_seniorities to exclude junior titles. 2) Add person_departments to restrict to relevant functions. 3) Add company_sizes if results include wrong-size companies. Show the user a preview after each refinement so they can confirm the direction. |
| User wants to add to existing list |
Use mcp__claude_ai_Amplemarket__list_lead_lists to find the existing list, then mcp__claude_ai_Amplemarket__add_leads_to_lead_list with its ID. |
| Enrichment not working |
Check that the options object is correctly structured with boolean values for enrich, validate_email, and reveal_phone_numbers. |
search_companies returns 0 results for a known company |
Fallback chain: 1) Try searching by company domain instead of name. 2) Try enrich_company with the domain directly, as some companies are enrichable but not searchable by name. 3) Try parent company domain or alternate domains. |
| Search returns results but list creation fails |
Verify that the leads array format matches the list type. LinkedIn lists need linkedin_url, email lists need email. |
1---2name: build-targeted-lead-list3description: End-to-end workflow to search for prospects, preview results, refine criteria, and create a confirmed lead list in Amplemarket.4---5
6# Build Targeted Lead List
7
8End-to-end workflow to search for prospects, preview results, refine criteria, and create a confirmed lead list in Amplemarket.
9
10## Instructions
11
12Guide the user through building a lead list from scratch. This is a multi-step, interactive workflow.
13
14### Steps
15
161. **Gather search criteria** from the user. Ask for any of:
17 - Target titles and seniority levels
18 - Target departments or job functions
19 - Person locations
20 - Company names, domains, industries, sizes, or types
21 - Any other qualifying criteria
22
23 If the user gives a broad description, parse it into structured filters (see the prospect-icp-search skill for mapping guidance).
24
252. **Resolve enum values** by calling:
26 - `mcp__claude_ai_Amplemarket__get_industries` to match industry terms to valid API values.
27 - `mcp__claude_ai_Amplemarket__get_job_functions` to match job function terms to valid API values.
283. **Execute the search** by calling `mcp__claude_ai_Amplemarket__search_people` with the mapped parameters. Set `full_output` to `true` and `page_size` to 20 for the preview.
294. **Present a preview** of the results to the user:
30 - Show the first 10-20 results in a table (Name, Title, Company, Location).
31 - Report the total number of matching prospects.
32 - Ask: "Does this look right? Would you like to refine the search or proceed with creating the list?"
335. **Refine if needed.** If the user wants changes:
34 - Adjust filters based on feedback.
35 - Re-run `mcp__claude_ai_Amplemarket__search_people` with updated parameters.
36 - Show the updated preview.
37 - Repeat until the user approves.
386. **Collect all results** once approved. If total results exceed one page, paginate through all pages using the `page` parameter to gather all LinkedIn URLs (up to the 10,000 lead limit).
397. **Ask for list configuration:**
40 - **List name** (suggest a descriptive default like "VP Sales - Fintech - NYC - Mar 2026")
41 - **List type** - determine based on available data:
42 - `"linkedin"` if leads have LinkedIn URLs
43 - `"email"` if leads have email addresses
44 - `"titles_and_company"` if leads have title + company domain
45 - **Enrichment options:** Ask if they want to enable (note: each option consumes additional Amplemarket credits per lead):
46 - Email enrichment (`enrich`: true)
47 - Email validation (`validate_email`: true)
48 - Phone number reveal (`reveal_phone_numbers`: true)
49 - Inform the user of the credit implications before enabling enrichment: "Enabling enrichment will use credits for each lead. For a list of [N] leads, that's [N] enrichment credits. Want to proceed?"
508. **Create the lead list** by calling `mcp__claude_ai_Amplemarket__create_lead_list` with:
51 - `type`: determined list type
52 - `name`: chosen name
53 - `leads`: array of lead objects (with `linkedin_url`, `email`, or `title` + `company_domain` depending on type)
54 - `options`: enrichment settings
55
56 If total leads exceed the batch that fits in a single create call, use `mcp__claude_ai_Amplemarket__add_leads_to_lead_list` to add remaining leads to the created list using the returned `lead_list_id`.
57
589. **Confirm creation** with the user:
59 - Lead list ID
60 - Total leads added
61 - Enrichment settings enabled
62 - Estimated processing time
63
64### Important Notes
65
66- The `leads` array in `create_lead_list` supports a maximum of 10,000 entries.
67- Always show a preview before creating the list. Never create without user confirmation.
68- When using `add_leads_to_lead_list`, include the `lead_list_id` from the create response.
69- If the user provides a ready-made list of LinkedIn URLs or emails, skip the search step and go directly to list creation.
70
71## Examples
72
73### Example 1: Full Workflow from Search to List
74
75**User prompt:** "Build me a lead list of engineering managers at healthcare companies in the US with 500-5000 employees"
76
77**What the skill does:**
781. Calls `mcp__claude_ai_Amplemarket__get_industries` to resolve healthcare industry values.
792. Calls `mcp__claude_ai_Amplemarket__search_people` with:
80- `person_titles`: ["Engineering Manager"]
81- `person_seniorities`: ["Manager"]
82- `person_departments`: ["Engineering & Technical"]
83- `person_locations`: ["United States"]
84- `company_industries`: [matched healthcare values]
85- `company_sizes`: ["501-1000 employees", "1001-5000 employees"]
86- `full_output`: true, `page_size`: 20
873. Presents preview table and total count.
884. On user approval, collects all results across pages.
895. Calls `mcp__claude_ai_Amplemarket__create_lead_list` with:
90- `type`: "linkedin"
91- `name`: "Eng Managers - Healthcare US - 500-5K - Mar 2026"
92- `leads`: [{"linkedin_url": "..."}, ...]
93- `options`: {"enrich": true, "validate_email": true}
94
95**Example confirmation:**
96
97Lead list created successfully.
98
99| Detail | Value |
100| --- | --- |
101| List ID | lst_abc123def456 |
102| List Name | Eng Managers - Healthcare US - 500-5K - Mar 2026 |
103| Total Leads | 312 |
104| Type | LinkedIn |
105| Enrichment | Enabled |
106| Email Validation | Enabled |
107| Status | Processing |
108
109Your list is now being enriched. You can check its status anytime.
110
111### Example 2: Quick List from Existing URLs
112
113**User prompt:** "Create a lead list called 'Q1 Targets' from these LinkedIn URLs: linkedin.com/in/user1, linkedin.com/in/user2, linkedin.com/in/user3"
114
115**What the skill does:**
1161. Skips search since the user has provided leads directly.
1172. Calls `mcp__claude_ai_Amplemarket__create_lead_list` with:
118- `type`: "linkedin"
119- `name`: "Q1 Targets"
120- `leads`: [{"linkedin_url": "https://linkedin.com/in/user1"}, {"linkedin_url": "https://linkedin.com/in/user2"}, {"linkedin_url": "https://linkedin.com/in/user3"}]
121- `options`: {"enrich": true, "validate_email": true, "reveal_phone_numbers": true}
122
123### Example 3: Refined Search Workflow
124
125**User prompt:** "Put together a list of senior marketing people at Series B+ SaaS companies in Europe"
126
127**What the skill does:**
1281. Resolves industries via `mcp__claude_ai_Amplemarket__get_industries`.
1292. Runs initial search with `person_seniorities`: ["Senior", "Manager", "Director", "VP", "Head"], `person_departments`: ["Marketing"], `person_locations`: ["United Kingdom", "Germany", "France", "Netherlands", "Sweden", ...], matched SaaS industries.
1303. Shows preview. User says "too many junior people, only Directors and above."
1314. Re-runs with `person_seniorities`: ["Director", "VP", "Head", "C-Suite"].
1325. Shows updated preview. User approves.
1336. Creates list with all results.
134
135## Troubleshooting
136
137| Problem | Solution |
138| --- | --- |
139| Too many results to fit in one list | Paginate through results and use `mcp__claude_ai_Amplemarket__add_leads_to_lead_list` for batches after the first create call. |
140| List creation fails | Verify that leads array format matches the list type. LinkedIn lists need `linkedin_url`, email lists need `email`, titles_and_company lists need `title` + `company_domain`. |
141| Search returns irrelevant results | Tighten filters progressively: 1) Add `person_seniorities` to exclude junior titles. 2) Add `person_departments` to restrict to relevant functions. 3) Add `company_sizes` if results include wrong-size companies. Show the user a preview after each refinement so they can confirm the direction. |
142| User wants to add to existing list | Use `mcp__claude_ai_Amplemarket__list_lead_lists` to find the existing list, then `mcp__claude_ai_Amplemarket__add_leads_to_lead_list` with its ID. |
143| Enrichment not working | Check that the `options` object is correctly structured with boolean values for `enrich`, `validate_email`, and `reveal_phone_numbers`. |
144| `search_companies` returns 0 results for a known company | Fallback chain: 1) Try searching by company domain instead of name. 2) Try `enrich_company` with the domain directly, as some companies are enrichable but not searchable by name. 3) Try parent company domain or alternate domains. |
145| Search returns results but list creation fails | Verify that the leads array format matches the list type. LinkedIn lists need `linkedin_url`, email lists need `email`. |