AI Cold Outreach System
by @joeytbuilds
Complete cold email outreach system for AI agents. Handles lead generation via Apollo API, email enrichment, Saleshandy sequence creation, prospect import, w...
clawhub install ai-cold-outreachπ About This Skill
name: ai-cold-outreach description: Complete cold email outreach system for AI agents. Handles lead generation via Apollo API, email enrichment, Saleshandy sequence creation, prospect import, warmup monitoring, and campaign management. Use when setting up cold outreach, finding decision-maker emails, building email sequences, or managing cold email campaigns. Includes proven email copy templates and deliverability best practices.
AI Cold Outreach System
End-to-end cold email outreach managed by your AI agent. From lead discovery to sending sequences β no human in the loop.
Prerequisites
Quick Start
1. Configure API Keys
Store keys in your workspace:
# Apollo
export APOLLO_API_KEY="your_key"Saleshandy
export SALESHANDY_API_KEY="your_key"
Or save to a JSON config (see references/config-template.json).
2. Find Leads
Use the Apollo lead generation script to search for decision-makers:
python3 scripts/apollo-search.py --titles "Owner,Founder,CEO" --keywords "aesthetic clinic" --location "United States" --max 100
This outputs a CSV with: name, email, title, organization, city, state, country.
3. Enrich Emails
Search results don't include emails. Enrich them:
python3 scripts/apollo-enrich.py --input leads-raw.csv --output leads-enriched.csv
Uses Apollo's people/match endpoint (1 credit per enrichment). Budget ~500 credits for 300 verified emails.
4. Import to Saleshandy
python3 scripts/saleshandy-import.py --csv leads-enriched.csv --step-id "YOUR_STEP_ID" --api-key "YOUR_KEY"
5. Monitor Warmup
Check email account health before sending:
python3 scripts/check-warmup.py --api-key "YOUR_KEY"
Do NOT activate sequences until all accounts score 85+.
Architecture
Apollo API (lead gen) β CSV β Saleshandy API (import) β Email Sequence β Prospects
β
Email Copy Templates (references/)
Key API Endpoints
Apollo
POST /api/v1/mixed_people/api_search β find people by title, keyword, locationPOST /api/v1/people/match β get email from person ID (1 credit each)POST /api/v1/people/bulk_match β batch enrichment (use name+company, not IDs)Saleshandy
https://open-api.saleshandy.comx-api-key: YOUR_KEYGET /v1/sequencesPOST /v1/sequences/prospects/import-with-field-namePOST /v1/email-accountsPOST /v1/sequences/{id}/email-accounts/addSee references/api-reference.md for full endpoint documentation.
Email Copy Best Practices
See references/email-templates.md for proven templates.
Key rules: 1. Short punchy lines. One thought per line. 2. Story-driven. Every email tells a specific story with real results. 3. Real numbers always. Never round. "$457,500" not "almost half a million." 4. P.S. lines are punchlines. The best hook lives in the P.S. 5. Never beg. Confident, almost amused tone. 6. 3-step sequences minimum: Opener β Proof β Close 7. 3-5 day gaps between steps
Deliverability Checklist
Before activating any sequence:
Troubleshooting
| Issue | Fix |
|-------|-----|
| Apollo search returns 0 emails | Emails require enrichment β search only returns IDs |
| Apollo people/search returns 403 | Use /mixed_people/api_search endpoint instead |
| Saleshandy API "Invalid token" | Header must be x-api-key not api-key or Authorization |
| Saleshandy import fails "conflictAction" | Valid values: overwrite, noUpdate, addMissingFields |
| Emails going to spam | Check warmup scores, verify DKIM, reduce daily volume |
| Merge tags not rendering | Use {{First Name}} format in Saleshandy content |
π‘ Examples
1. Configure API Keys
Store keys in your workspace:
# Apollo
export APOLLO_API_KEY="your_key"Saleshandy
export SALESHANDY_API_KEY="your_key"
Or save to a JSON config (see references/config-template.json).
2. Find Leads
Use the Apollo lead generation script to search for decision-makers:
python3 scripts/apollo-search.py --titles "Owner,Founder,CEO" --keywords "aesthetic clinic" --location "United States" --max 100
This outputs a CSV with: name, email, title, organization, city, state, country.
3. Enrich Emails
Search results don't include emails. Enrich them:
python3 scripts/apollo-enrich.py --input leads-raw.csv --output leads-enriched.csv
Uses Apollo's people/match endpoint (1 credit per enrichment). Budget ~500 credits for 300 verified emails.
4. Import to Saleshandy
python3 scripts/saleshandy-import.py --csv leads-enriched.csv --step-id "YOUR_STEP_ID" --api-key "YOUR_KEY"
5. Monitor Warmup
Check email account health before sending:
python3 scripts/check-warmup.py --api-key "YOUR_KEY"
Do NOT activate sequences until all accounts score 85+.
βοΈ Configuration
π Tips & Best Practices
| Issue | Fix |
|-------|-----|
| Apollo search returns 0 emails | Emails require enrichment β search only returns IDs |
| Apollo people/search returns 403 | Use /mixed_people/api_search endpoint instead |
| Saleshandy API "Invalid token" | Header must be x-api-key not api-key or Authorization |
| Saleshandy import fails "conflictAction" | Valid values: overwrite, noUpdate, addMissingFields |
| Emails going to spam | Check warmup scores, verify DKIM, reduce daily volume |
| Merge tags not rendering | Use {{First Name}} format in Saleshandy content |