Instructions
When a user wants to build a prospect list, run this end-to-end workflow: gather criteria, search LinkedIn, preview and refine results, then create a named list in toflow.
Steps
Step 1: Get available search filters
Call mcp__claude_ai_toflow__linkedin_search_parameters to retrieve all available filter options. Use this to understand what filters are supported before gathering criteria from the user.
Step 2: Gather ICP criteria from the user
Ask for:
- Target job titles or functions (e.g. "VP of Sales", "Head of RevOps")
- Seniority levels (e.g. "Director and above")
- Industry or company type
- Company size range
- Location (country, region, or city)
- Any exclusions (e.g. "exclude companies with fewer than 50 employees")
If the user gives a broad description like "SDRs at Series B SaaS companies in the US", parse it into structured filters.
Step 3: Run the search
Call mcp__claude_ai_toflow__search_linkedin with the mapped filters. Start with a preview of 20 results.
Step 4: Show preview and ask for confirmation
Present the first 10-20 results in a table showing Name, Title, Company, and Location. Report the total number of matching prospects. Ask: "Does this look right? Want to refine the filters or proceed with creating the list?"
Step 5: Refine if needed
If the user requests changes, adjust filters and re-run mcp__claude_ai_toflow__search_linkedin. Repeat until the user approves the results.
Step 6: Create the list
Call mcp__claude_ai_toflow__create_list with a descriptive name (e.g. "VP Sales - SaaS - USA - Jun 2026"). Then call mcp__claude_ai_toflow__add_people_to_list with the LinkedIn URLs from the search results.
Step 7: Enrich the list
Call mcp__claude_ai_toflow__estimate_bulk_enrich_list first to show the user the credit cost. Once approved, call mcp__claude_ai_toflow__bulk_enrich_list to find verified emails and phone numbers for all contacts in the list.
Step 8: Confirm
Report back the list name, total contacts added, and enrichment status.
Important Notes
- Always show a preview before creating the list. Never add contacts without user confirmation.
- If the total result count is very high (500+), suggest narrowing the filters rather than adding everyone.
- Use estimate_bulk_enrich_list before running enrichment so the user knows the credit cost upfront.
- If the user provides a ready-made list of LinkedIn URLs, skip the search step and go directly to create_list and add_people_to_list.
Examples
Example 1: Full workflow
User: "Build me a list of Head of Sales and VP of Sales at B2B SaaS companies in India with 50-500 employees."
- Calls linkedin_search_parameters to check available filters.
- Calls search_linkedin with title filters, industry, location (India), and company size.
- Shows preview table with 20 results, reports total count.
- User approves. Calls create_list named "Head + VP Sales - SaaS - India - Jun 2026".
- Calls add_people_to_list with all LinkedIn URLs.
- Calls estimate_bulk_enrich_list, shows credit cost.
- User approves enrichment. Calls bulk_enrich_list.
- Reports: "List created with 340 contacts. Enrichment running."
Example 2: Refine and rebuild
User: "Too many results. Only keep companies that raised Series B or later."
- Re-runs search_linkedin with added funding stage filter.
- Shows updated preview (fewer results).
- User approves. Creates list and enriches.
Troubleshooting
| Problem | Solution |
|---|---|
| Search returns too many irrelevant results | Add seniority filter or narrow the industry. Show a preview after each refinement. |
| Search returns zero results | Broaden filters one at a time. Remove location constraint first, then relax company size. |
| Enrichment cost is too high | Suggest enriching emails only (skip phone) or enriching a filtered subset of the list first. |
| User wants to add to an existing list | Call get_all_lists to find the list, then use add_people_to_list with the existing list ID. |