List Building Playbook
Build a fresh, enriched prospecting list across your entire ICP — from zero to CRM-ready in one workflow.Most “list building” workflows are painful because they require two passes: first build a company list (Company Search), then loop over each company to fetch employees (Employee Finder), then enrich each person. Find People collapses the first two steps into one call. This recipe shows how to go from a blank ICP definition to a fully-enriched prospecting list ready to push to your CRM or sequencer.
What You’ll Build
A repeatable pipeline that:- Takes a single ICP definition (industry + size + geography + persona).
- Calls Find People with cursor-based pagination to collect every matching decision-maker.
- Enriches each person with a verified work email (and optionally a US phone).
- Outputs a clean CSV / CRM payload.
Step 1 — Define the ICP
The ICP lives entirely in the Find People request body. Combine company filters (who you sell to) with people filters (who you talk to inside those companies).Step 2 — Paginate with the cursor
Find People uses cursor-based pagination. Loop until the API returnscursor: null. Each call returns up to max_results (max 50).
Step 3 — Enrich emails (and phones)
Find People returns LinkedIn profile URLs but no contact points. Pass eachlinkedin_url to the enrichment endpoints.
Work email
POST /v2/enrichment/email with person_linkedin_url. Returns a verified email or found: false.Emails returned by
/v2/enrichment/email are already verified at source — they’re re-tested against mail servers at least once every 30 days. You can push them straight to your sequencer without an additional validation step.Run enrichment in parallel but respect the
5 RPS rate limit (use the rate-limited client from Code Examples).Step 4 — Output for CRM / Sequencer
Map the Find People + enrichment payload to the columns your CRM expects:| CRM Field | Source |
|---|---|
first_name | person.first_name |
last_name | person.last_name |
title | person.experiences[0].job_title (current role) |
company | person.experiences[0].company_linkedin_url → enrich later |
linkedin_url | person.linkedin_url |
email | enrichment.email |
phone | enrichment.phone (US only) |
country | person.location.country_code |
seniority | derived from experiences[0].job_title |
When to Re-Run
Re-run the same ICP definition on a schedule (weekly or monthly) to capture net-new decision-makers as people change roles. Diff against your existing CRM bylinkedin_url to insert only new contacts.
For cleaning existing CRM contacts (vs. sourcing new ones), use the CRM Hygiene Playbook instead.
Find People (concept)
Full filter reference and response schema.
Account Breakthrough
Need to penetrate a named account list instead? Use the Waterfall recipe.
CRM Hygiene
Clean and re-enrich your existing contacts on a schedule.
Field Normalization
Case-sensitive enums for industry, job level, job function, sales region.

