toflow.ai Logo

Build Targeted Lead List

Describe your ICP in plain English. The AI searches LinkedIn, previews results, lets you refine, and builds a verified enriched list in toflow without any manual exports.

Connect toflow

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."

  1. Calls linkedin_search_parameters to check available filters.
  2. Calls search_linkedin with title filters, industry, location (India), and company size.
  3. Shows preview table with 20 results, reports total count.
  4. User approves. Calls create_list named "Head + VP Sales - SaaS - India - Jun 2026".
  5. Calls add_people_to_list with all LinkedIn URLs.
  6. Calls estimate_bulk_enrich_list, shows credit cost.
  7. User approves enrichment. Calls bulk_enrich_list.
  8. 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."

  1. Re-runs search_linkedin with added funding stage filter.
  2. Shows updated preview (fewer results).
  3. User approves. Creates list and enriches.

Troubleshooting

ProblemSolution
Search returns too many irrelevant resultsAdd seniority filter or narrow the industry. Show a preview after each refinement.
Search returns zero resultsBroaden filters one at a time. Remove location constraint first, then relax company size.
Enrichment cost is too highSuggest enriching emails only (skip phone) or enriching a filtered subset of the list first.
User wants to add to an existing listCall get_all_lists to find the list, then use add_people_to_list with the existing list ID.