| name | apollo-lead-gen |
| description | Generate a targeted lead list with Apollo — filter by title, company size, industry, tech stack — and export to CSV/HubSpot/Sheets. Use when the user says "build me a prospect list", "find 100 VPs of X", or "source leads for the campaign". |
| allowed-tools | ["Bash","Read","Write","AskUserQuestion"] |
Apollo Lead Generation
Source a targeted prospect list via Apollo through Composio.
Workflow
- Lock the ICP. Ask for: titles, seniority, departments, employee range, industries, geography, tech stack (if known). Refuse to proceed with "anyone in SaaS" — force specificity.
- Link Apollo:
composio link apollo
- Discover the search slug:
composio search "search people with filters" --toolkits apollo
- Run the search with the ICP filters:
composio execute APOLLO_PEOPLE_SEARCH -d '{
"person_titles": ["VP Engineering", "Head of Platform"],
"organization_num_employees_ranges": ["51,200"],
"person_seniorities": ["vp", "head"],
"page": 1,
"per_page": 25
}'
- Enrich contacts that lack email:
composio execute APOLLO_MATCH_PERSON -d '{ "first_name": "...", "last_name": "...", "organization_name": "..." }'
- Export results to
./leads-<campaign>.csv. Columns: name, title, company, email, linkedin_url, hook_notes.
- (Optional) Push to HubSpot via the
hubspot-lead-enrichment skill or direct HUBSPOT_CREATE_A_CONTACT.
ICP forcing questions (ask if missing)
- Top 3 titles you want? (not categories — actual strings)
- Employee range — tight (e.g., 51–200), not "SMB"
- Must-have signals: funding, tech stack, hiring, recent exec change?
- Exclusion list (existing customers, dead deals)?
Guardrails
- Cap at 500 leads/run unless the user explicitly raises it — Apollo credits burn fast.
- Deduplicate against existing CRM before export (emails + company+name).
- Never include leads from the user's do-not-contact list if provided.