Apollo Lead Finder
Run a two-phase Apollo.io prospecting workflow that first uses free People Search to discover ICP-matching leads, then selectively enriches approved contacts to reveal email, phone, LinkedIn URL, and full contact details. The runbook must preserve the source skill's approval gate
10 steps · start to finish.
- 1Step 1
Environment Setup
▶- Create
/app/resultsand initialize empty output placeholders for every required file. - Verify
APOLLO_API_KEYis set. If it is missing, stop immediately and writevalidation_report.jsonwithoverall_passed=false. - Normalize the selected mode:
Mode Max search pages Max search results Max enrichments test1 100 10 standard50 5,000 500 full500 50,000 2,500 - Create
- 2Step 2
Intake and Config
▶Ask the operator for the ICP and campaign settings before any API call:
- 3Step 3
Free People Search
▶1. Build the Apollo People Search payload from the config using `person_titles`, `person_seniority`, `person_locations`, `organization_num_employees_ranges`, `q_organization_keyword_tags`, `person_not_titles`, `q_organization_name`, and `organization_locations` when supplied. 2.
- 4Step 4
Search Review Gate
▶Present total matches, a sample of preview leads, title distribution, and the planned enrichment count. Ask for explicit approval before continuing. If approval is denied, write final summary and validation files, write an empty `leads.csv` with headers, and skip paid enrichment.
- 5Step 5
Paid Enrichment
▶1. Load the approved Apollo person IDs from `/app/results/search_manifest.json`. 2. Load the optional existing contacts CSV and build a LinkedIn URL set for deduplication. If no existing contacts file is provided, record that deduplication was skipped. 3. Display the exact enrich
- 6Step 6
Deduplicate and Review
▶Filter enriched leads whose LinkedIn URLs already exist in the supplied contacts file. Present net-new count, email coverage, representative enriched leads, and company coverage. Ask for explicit approval before writing contacts, creating list membership, or exporting the final C
- 7Step 7
Apollo List and Contact Export
▶Only after approval:
- 8Step 8
Review and Refine
▶Summarize total matching profiles, new leads found after deduplication, Apollo list details, enriched count, email coverage, and the top approved leads. Recommend specific filter adjustments when the search is too broad, too narrow, low quality, or has low email coverage.
- 9Step 9
Iterate on Errors (max 3 rounds)
▶If any API call, validation check, or output write fails, inspect the failing stage, apply the smallest targeted fix, and retry that stage for max 3 rounds. Stop before paid API calls if the failure affects approval state, cost estimation, or filter correctness.
- 10Step 10
Write Reports
▶Write `/app/results/summary.md` with the final filters, counts, approvals, estimated credits, actual enrichment count, list/export state, and any follow-up recommendations. Write `/app/results/validation_report.json` with all setup, search, approval, enrichment, export, and repor