Build List
Build a targeted list of contacts or companies from ZoomInfo and output as a structured table.
Input
The user will describe what they want via $ARGUMENTS. Examples:
- "CTOs at Series B+ startups in SF with 50-200 employees"
- "VP of Sales at healthcare companies using Salesforce with 500+ employees"
- "All SaaS companies in EMEA with $10M-$50M revenue"
- "Directors of Engineering at companies similar to Datadog"
- "Marketing leaders at Fortune 500 companies in financial services"
The user may also specify:
- How many results they want (default: 25)
- Whether they want contacts, companies, or both
- Specific fields to include in the output
Workflow
-
Determine list type: Is the user asking for contacts, companies, or both? Default to contacts if they mention titles/roles, companies if they mention firmographics only.
-
Parse criteria from natural language into structured filters:
- Job titles, management levels, departments, job functions → contact filters
- Industry, employee count, revenue, geography, tech stack, company type → company filters
- Growth rate, funding, rankings → company filters
-
Resolve all filter values using
lookupbefore searching. This is critical — do NOT guess values. For every filter you plan to use, calllookupwith the corresponding field name to get the valid values and use the returnedidvalues in your search parameters. -
Execute the search:
- For contacts: Use
search_contactswith all resolved filters. Sort by-contactAccuracyScore. Request up to 100 results. - For companies: Use
search_companieswith all resolved filters. Sort by-employeeCountor-revenue. Request up to 100 results. - For both: Search companies first, then search contacts at the top results.
- For contacts: Use
-
Enrich top results if the search returns limited detail:
- Use
enrich_contacts(batch of 10) orenrich_companies(batch of 10) on the top results to fill in emails, phones, and other details.
- Use
-
Output as a clean table artifact. Create a markdown or CSV artifact the user can copy or export.
Output Format
Search Criteria Applied
Show the user exactly what filters were used so they can verify:
Contact List (if contact search)
Company List (if company search)
List Summary
- Total results found: X (showing top Y)
- Filters applied: [summary]
- Average accuracy score: X (contacts only)
- Data quality: Flag any concerns (low accuracy, stale records)
Refinement Options
If the list is too broad or too narrow, suggest specific filter adjustments:
- "Add
revenuefilter to narrow from 847 to ~200 results" - "Remove metro region filter to expand from 12 to ~150 results"
- "Try adjacent industries: Information Technology Services, Internet"
If the user wants to iterate, they can re-run with adjusted criteria. Suggest the exact modified command.

