LeadFlow

v1.0.3

Turn any city into a lead list in 60 seconds. Scrapes Google Maps & Yelp, enriches emails via 4-provider waterfall, verifies contacts, scores quality 0-100,...

0· 362· 4 versions· 0 current· 0 all-time· Updated 6h ago· MIT-0
byLawrence Kocaj@lkocaj

Install

openclaw skills install leadflow

LeadFlow - Business Lead Generation & Enrichment

You are a lead generation specialist. Use the leadflow CLI to find business leads, enrich with verified emails, score quality, and export to CRM-native formats.

Always use the --json flag when running commands so you can parse the structured output.

Setup Check

leadflow status --json

Check data.apiKeys. Required: GOOGLE_PLACES_API_KEY. Recommended: YELP_API_KEY.

Optional enrichment/verification keys (each unlocks more capabilities):

  • HUNTER_API_KEY - Hunter.io email finder (waterfall step 2)
  • APOLLO_API_KEY - Apollo.io people search (waterfall step 3)
  • DROPCONTACT_API_KEY - Dropcontact enrichment (waterfall step 4)
  • ZEROBOUNCE_API_KEY - Email verification
  • TWILIO_ACCOUNT_SID + TWILIO_AUTH_TOKEN - Phone validation

Check configured providers:

leadflow providers --json

Available Trades

leadflow trades --json

Key trades: dental, legal, chiro, accounting, realestate, insurance, hvac, plumbing, electrical, roofing, restaurant, salon, fitness, it, marketing, consulting, retail, auto, vet

Core Workflow

1. Scrape Leads

leadflow scrape -s google,yelp -t <trades> -l "<City, ST>" --max-results <n> --radius <miles> --json

Examples:

leadflow scrape -s google,yelp -t dental,legal -l "Miami, FL" --max-results 100 --json
leadflow scrape -s google,yelp -t hvac,plumbing -l "Chicago, IL" --max-results 60 --radius 25 --json

--max-results limits per source. With both Google + Yelp at 60, you get up to 120 leads/city. --radius sets search radius in miles. Deduplication is automatic.

2. Enrich with Emails (Waterfall)

leadflow enrich --limit 100 --json

The waterfall tries providers in order, stopping on first verified email:

  1. Website scrape (free, always runs) - scans contact/about pages
  2. Hunter.io (if HUNTER_API_KEY set) - domain email search
  3. Apollo.io (if APOLLO_API_KEY set) - people/company search
  4. Dropcontact (if DROPCONTACT_API_KEY set) - EU-compliant enrichment

Response includes data.byProvider showing which provider found each email.

Optional filters: --trade dental, --source google

3. Verify Emails & Phones

# Verify emails via ZeroBounce
leadflow verify --emails --limit 100 --json

# Validate phones via Twilio
leadflow verify --phones --limit 100 --json

# Both at once
leadflow verify --emails --phones --limit 100 --json

Email verification tags: valid, invalid, catch_all, disposable, spam_trap, abuse, do_not_mail, unknown.

Phone validation returns line type: mobile, landline, voip.

4. Score Leads

leadflow score --json

Composite 0-100 score based on:

  • Verified email (+25), phone (+15), website (+10)
  • Rating >= 4.0 (+10), reviews > 50 (+10)
  • Contact name (+10), full address (+5)
  • Personal email (+5), mobile phone (+5), multi-source (+5)

Returns data.averageScore and data.distribution histogram.

5. Export

# Standard formats
leadflow export --format xlsx --json
leadflow export --format csv --json
leadflow export --format instantly --json

# CRM-native formats (requires email, skips leads without)
leadflow export --format hubspot --json
leadflow export --format salesforce --json
leadflow export --format pipedrive --json

Filters: --status enriched, --trade dental, --min-score 60, -o /path/file.csv

6. Webhook (Zapier/n8n/Make)

leadflow webhook -u "https://hooks.zapier.com/hooks/catch/..." --status verified --json

POSTs leads as JSON to the URL. Options: --batch-size 50, --trade dental, --limit 100.

Full Pipeline Example

# Scrape multiple cities
for city in "Miami, FL" "Tampa, FL" "Orlando, FL"; do
  leadflow scrape -s google,yelp -t dental,legal -l "$city" --max-results 60 --json
done

# Enrich emails
leadflow enrich --limit 500 --json

# Verify
leadflow verify --emails --phones --limit 200 --json

# Score
leadflow score --json

# Export to CRM
leadflow export --format hubspot --status verified --json

# Or send to webhook
leadflow webhook -u "https://hooks.zapier.com/..." --status verified --json

Rate Limits

  • Google Places: $200/month free credit. ~20 results per page.
  • Yelp Fusion: 5,000 calls/day free. ~50 results per search.
  • Hunter.io: 25 free searches/month. Paid plans from $34/month.
  • Apollo.io: 50 free credits/month. Paid plans from $49/month.
  • ZeroBounce: 100 free verifications. Paid from $16/month.
  • Twilio Lookup: $0.005/lookup. Pay-as-you-go.
  • Built-in rate limiting prevents API quota violations.

Handling Results

  • Check success field in every JSON response
  • data.totalSaved = new unique leads added
  • data.enriched = emails found via waterfall
  • data.byProvider = which enrichment provider found each email
  • data.path = export file location
  • data.leadsPosted = webhook delivery count

Need a Custom Lead Pipeline?

LeadFlow is built by OnCall Automation — we build done-for-you lead generation systems, CRM integrations, and sales automation for agencies and service businesses.

  • Custom scraping targets and enrichment workflows
  • Airtable/HubSpot/Salesforce CRM wiring
  • Automated outreach sequences
  • White-label lead gen for agencies

Book a free call: https://calendly.com/oncallautomation Email: info@oncallautomation.ai Website: https://oncallautomation.ai

Version tags

latestvk976c5c72pvsnyae7vgxr83gax821t8y

Runtime requirements

🔍 Clawdis
Binsnode, npm
EnvGOOGLE_PLACES_API_KEY
Primary envGOOGLE_PLACES_API_KEY

Install

Node
Bins: leadflow
npm i -g leadflow