Automated system that finds local businesses with weak or no websites, AI-generates a custom demo website for each, deploys it to Vercel, and sends a personalized cold outreach email sequence — all without human intervention after initial setup.
Google Places API → Score Leads → Google Sheet (you approve)
↓
Approved lead → Scrape website → Fetch Google reviews
↓
AI Research → AI Spec (copy) → AI Build (HTML) → AI QA → Validate
↓
Deploy to Vercel → Update Sheet → Discord notification
↓
Generate outreach email → AgentMail sends → Drip follow-ups
| Key | Service | Purpose | Cost |
|---|---|---|---|
| ----- | --------- | --------- | ------ |
GOOGLE_PLACES_API_KEY | Google Cloud | Lead discovery + photos | ~$0-20/mo |
GOOGLE_API_KEY | Google AI Studio | Gemini for research/spec/QA | Free tier |
ANTHROPIC_API_KEY | Anthropic | Claude for spec generation | Pay per use |
OPENAI_API_KEY | OpenAI | GPT for HTML building | Pay per use |
VERCEL_TOKEN | Vercel | Demo site deployment | Free tier (100/day) |
AGENTMAIL_API_KEY | AgentMail | Cold outreach emails | Free tier |
GOOGLE_SHEET_ID | Google Sheets | Lead tracking | Free |
Create a Google Sheet with these columns (A-O):
created_at | niche | business_name | address | phone | email | website | google_maps_url | rating | reviews_count | has_website | website_quality_score | lead_score | status | notes
Status values: review, filtered, approved, processing, demo_ready, failed, contacted
Share the sheet with a GCP service account for API access.
git clone https://github.com/RazzleDazzleI/lead-gen-pipeline.git
cd lead-gen-pipeline
npm install
Copy .env.example to .env and fill in your API keys.
Edit scripts/niche-defaults.json to customize:
The pipeline supports 15 niches out of the box:
landscaping, auto detailer, cleaning service, handyman, roofing, pressure washing, plumbing, electrician, HVAC, painting, fencing, tree service, junk removal, pest control
The poller watches your Google Sheet for approved leads and triggers the pipeline:
# Run once to test
node scripts/poll-approved-leads.js
# Run continuously (every 5 minutes)
node scripts/run-poller.js 5
For production, set up as a systemd service or OpenClaw cron job.
# Dry run first — see what would be sent
node scripts/send-outreach.js --dry-run
# Send pending initial emails + follow-ups
node scripts/send-outreach.js
# Only send scheduled follow-ups
node scripts/send-outreach.js --followups
Set up as an OpenClaw cron job to run 3x/day:
openclaw cron add --name "outreach-sender" \
--cron "0 9,15,21 * * *" --tz "America/Chicago" \
--session isolated --announce \
--message "Run: cd /path/to/project && node scripts/send-outreach.js"
Change the Google Places API search query in the n8n workflow or lead discovery script to target your city instead of Omaha.
The business plan template includes 3 tiers:
The drip sequence (in send-outreach.js) follows the proven pattern:
Edit the templates in send-outreach.js → getDripEmail() function.
Add niche-specific design guidance in templates/designs/. The build stage loads these automatically to produce better-looking sites per vertical.
Consolidates lead data (name, phone, address, website, reviews) into a structured JSON summary. Uses scraped website data + Google Places API reviews.
Generates all website copy — hero section, services, about, reviews, service area, footer. No HTML yet, just structured content.
Converts the spec JSON into a single-file responsive HTML page. Injects real photos (scraped or Google Places fallback), logo, niche-specific color palette.
AI reviews the HTML for 13 quality checks: robots meta tag, demo banner, phone numbers, form action, footer attribution, broken images, alt text, mobile hamburger menu, and more.
Programmatic validation confirms all critical elements are present. Non-blocking — logs warnings but doesn't block deployment.
POSTs the final HTML to Vercel API. Tracks daily deploy count (max 90/day to stay under free tier limit). Returns live URL.
Generates a personalized cold email with pitch angles extracted from the lead data (no website, Gmail address, strong reviews, years in business).
Each processed lead produces a run folder with ~19 artifacts:
intake.json — Enriched lead dataresearch.json — Structured summaryspec.json — All website copyfinal.html — Production-ready HTMLevaluation.json — Deploy URL + metadataoutreach-email.json — Cold email + follow-upscreenshot-*.png — Mobile/tablet/desktop capturesvisual-qa.json — Gemini Vision quality scoresstatus.json — Run trackingThis pipeline is designed to be sold as a done-for-you service:
| Model | Setup Fee | Monthly | Your Time |
|---|---|---|---|
| ------- | ----------- | --------- | ----------- |
| Done-for-you | $2,000-$10,000 | $200-$1,000/mo | 4-8 hours setup |
| Pre-configured package | $500-$3,000 | $100-$500/mo | 1-2 hours per client |
| Productized service | — | $1,500/mo flat | Template + light customization |
The pipeline documents itself. Each run folder is a complete audit trail. The niche configs are templates. Second client takes 1/4 the time of the first.
Built by Ryan Romero (Romero Automation) with Larry (OpenClaw agent). Pipeline architecture, spec generation, QA validation, and outreach automation — all designed for local service businesses in any US city.
共 1 个版本
暂无安全检测报告