YutoAIYutoAIPrompts
PromptsSkillsWorkflowsCategoriesTagsPromptmasters
Developers
Login
Prompts Awesome by YutoAI © 2021-2026
R

RazzleDazzleI

@clawhub-razzledazzlei-0b345cabce

2prompts
0upvotes received
0contributions
Joined 4 months ago
2 contributions in the last year
Sep
Oct
Nov
Dec
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
M
W
F
Less
More
Lead Gen Website Pipeline
Skill

Automated lead generation pipeline that finds local businesses with weak/no websites, AI-generates custom demo sites, deploys to Vercel, and runs a 5-email c...

---
name: lead-gen-website-pipeline
description: Automated lead generation pipeline that finds local businesses with weak/no websites, AI-generates custom demo sites, deploys to Vercel, and runs a 5-email cold outreach drip sequence via AgentMail. Full pipeline from Google Places discovery to closed deal.
version: 1.0.0
homepage: https://github.com/RazzleDazzleI/lead-gen-pipeline
metadata:
  openclaw:
    emoji: "\U0001F680"
    requires:
      env:
        - GOOGLE_PLACES_API_KEY
        - GOOGLE_API_KEY
        - VERCEL_TOKEN
        - AGENTMAIL_API_KEY
      bins:
        - node
---

# Lead Gen Website Pipeline

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.

## What It Does

1. **Discovers leads** via Google Places API for configurable niches and cities
2. **Scores leads** 0-100 based on website quality, reviews, phone availability
3. **Queues leads** in a Google Sheet for human review/approval
4. **Generates demo websites** via a 5-stage AI pipeline (research → spec → build → QA → validate)
5. **Deploys to Vercel** automatically with daily rate limiting
6. **Sends cold outreach** via AgentMail with a 5-email drip sequence (Day 0, 3, 7, 14, 30)
7. **Notifies you** on Discord with pitch angles, demo URL, and visual QA scores

## Pipeline Architecture

```
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
```

## Requirements

### API Keys (set in your .env)

| 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 |

### Google Sheet Setup

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.

### Infrastructure

- **Node.js 22+** on the host machine
- **Google Cloud service account** JSON key for Sheets API
- **Vercel account** (free Hobby tier works)
- **AgentMail account** with at least one inbox
- **Discord channel** for notifications (optional but recommended)

## Setup Instructions

### 1. Clone and install

```bash
git clone https://github.com/RazzleDazzleI/lead-gen-pipeline.git
cd lead-gen-pipeline
npm install
```

### 2. Configure environment

Copy `.env.example` to `.env` and fill in your API keys.

### 3. Configure your niches and city

Edit `scripts/niche-defaults.json` to customize:
- Target niches (landscaping, cleaning, roofing, etc.)
- Color palettes per niche
- Common services per niche
- Trust items per niche

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

### 4. Set up the poller

The poller watches your Google Sheet for approved leads and triggers the pipeline:

```bash
# 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.

### 5. Set up outreach emails

```bash
# 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:
```bash
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"
```

## Customization

### Target City

Change the Google Places API search query in the n8n workflow or lead discovery script to target your city instead of Omaha.

### Pricing Tiers

The business plan template includes 3 tiers:
- **Starter** ($997 + $49/mo) — Single-page landing site
- **Professional** ($1,997 + $99/mo) — Multi-page with gallery, analytics
- **Premium** ($2,997 + $149/mo) — Blog, booking, live chat, priority support

### Email Templates

The drip sequence (in `send-outreach.js`) follows the proven pattern:
- **Day 0:** "I built you a website — take a look" (demo link)
- **Day 3:** Social proof — "businesses like yours saw 30-40% more calls"
- **Day 7:** Urgency — "your preview expires soon"
- **Day 14:** Last chance — "taking it down today"
- **Day 30:** Breakup — "closing the loop, door is always open"

Edit the templates in `send-outreach.js` → `getDripEmail()` function.

### Design Blueprints

Add niche-specific design guidance in `templates/designs/<niche>.md`. The build stage loads these automatically to produce better-looking sites per vertical.

## Pipeline Stages Deep Dive

### Stage 1: Research
Consolidates lead data (name, phone, address, website, reviews) into a structured JSON summary. Uses scraped website data + Google Places API reviews.

### Stage 2: Spec
Generates all website copy — hero section, services, about, reviews, service area, footer. No HTML yet, just structured content.

### Stage 3: Build
Converts the spec JSON into a single-file responsive HTML page. Injects real photos (scraped or Google Places fallback), logo, niche-specific color palette.

### Stage 4: QA
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.

### Stage 5: Validate
Programmatic validation confirms all critical elements are present. Non-blocking — logs warnings but doesn't block deployment.

### Stage 6: Deploy
POSTs the final HTML to Vercel API. Tracks daily deploy count (max 90/day to stay under free tier limit). Returns live URL.

### Stage 7: Outreach
Generates a personalized cold email with pitch angles extracted from the lead data (no website, Gmail address, strong reviews, years in business).

## Output Per Lead

Each processed lead produces a run folder with ~19 artifacts:
- `intake.json` — Enriched lead data
- `research.json` — Structured summary
- `spec.json` — All website copy
- `final.html` — Production-ready HTML
- `evaluation.json` — Deploy URL + metadata
- `outreach-email.json` — Cold email + follow-up
- `screenshot-*.png` — Mobile/tablet/desktop captures
- `visual-qa.json` — Gemini Vision quality scores
- `status.json` — Run tracking

## Costs

### Per-Lead Cost
- Google Places API: ~$0.03-0.05/lead
- AI generation (Gemini + Claude): ~$0.10-0.50/lead
- Vercel hosting: $0 (free tier)
- AgentMail: $0 (free tier)
- **Total: ~$0.15-0.55 per lead**

### Monthly Operating Cost (at 10-20 leads/day)
- Google APIs: $5-20/mo
- AI models: $30-150/mo (less with Claude Max plan)
- Everything else: $0
- **Total: $35-170/mo**

### Revenue Potential (at 2% response rate)
- 50 emails/week → 1 conversation/week → 1 client/month
- 1 client = $997+ one-time + $49+/mo recurring
- Year 1 from one client/month: ~$12,000+ one-time + $3,500+ recurring

## Selling This System

This 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.

## Credits

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.

FILE:_meta.json
{
  "slug": "lead-gen-website-pipeline",
  "name": "Lead Gen Website Pipeline",
  "version": "1.0.0",
  "description": "Find local businesses with bad websites, AI-generate custom demos, deploy to Vercel, and run a 5-email cold outreach drip via AgentMail. Full pipeline from Google Places discovery to closed deal.",
  "author": "RazzleDazzleI",
  "license": "MIT",
  "tags": [
    "lead-generation",
    "website-builder",
    "cold-outreach",
    "email-drip",
    "vercel",
    "agentmail",
    "google-places",
    "local-business",
    "automation",
    "sales"
  ],
  "repository": "https://github.com/RazzleDazzleI/lead-gen-pipeline",
  "requires": {
    "env": [
      "GOOGLE_PLACES_API_KEY",
      "GOOGLE_API_KEY",
      "VERCEL_TOKEN",
      "AGENTMAIL_API_KEY"
    ],
    "bins": ["node"]
  }
}

FILE:references/drip-sequence.md
# 5-Email Drip Sequence

## Email 1: The Intro (Day 0 — immediately after deploy)

**Subject:** I built [Business Name] a website — take a look

> Hi [First Name],
>
> I noticed [Business Name] doesn't have a website (or could use an upgrade), so I went ahead and built one for you.
>
> **Here's your preview:** [live demo link]
>
> It's mobile-friendly, shows up on Google, and has your phone number front and center so customers can call you directly.
>
> This is yours to keep if you want it — no obligation.
>
> — Ryan Romero
> Romero Automation

## Email 2: Social Proof (Day 3)

**Subject:** Quick question about your website preview

> Hi [First Name],
>
> Just checking in — did you get a chance to look at the website I built for [Business Name]?
>
> I've helped several businesses in the [City] area get online, and the ones who did saw an average of 30-40% more calls within the first month.
>
> Happy to walk you through it if you have questions. No pressure either way.

## Email 3: Urgency (Day 7)

**Subject:** Your [Business Name] website preview expires soon

> Hi [First Name],
>
> Heads up — the website preview I created for [Business Name] will be taken down in about a week.
>
> If you'd like to keep it, I can transfer it to your own domain. Pricing starts at $997 with everything included — hosting, SSL, updates, the works.

## Email 4: Last Chance (Day 14)

**Subject:** Last day for your [Business Name] website

> Hi [First Name],
>
> This is the last day your preview website will be live. After today, it'll be taken down.
>
> If you change your mind later, I can always rebuild it — but I wanted to give you a heads up.

## Email 5: Breakup (Day 30)

**Subject:** Closing the loop on [Business Name]

> Hi [First Name],
>
> Just a final note — the website preview I built for [Business Name] was taken down a couple weeks ago.
>
> If you ever decide you want a professional website, my door is always open.

## Psychology Behind the Sequence

- **Day 0:** No-pressure gift. They see their business on a real website before paying.
- **Day 3:** Social proof. Others like them got results.
- **Day 7:** Scarcity. The preview is temporary.
- **Day 14:** Loss aversion. Last chance to keep what they've already seen.
- **Day 30:** Clean break. Leaves the door open without being pushy.

FILE:references/env-example.md
# Environment Variables Reference

Copy this to your project's `.env` file and fill in your keys.

```bash
# Google (required)
GOOGLE_PLACES_API_KEY=your_places_api_key
GOOGLE_API_KEY=your_gemini_api_key
GOOGLE_SHEET_ID=your_google_sheet_id

# AI Models (at least one required)
ANTHROPIC_API_KEY=your_anthropic_key        # Claude for spec generation
OPENAI_API_KEY=your_openai_key              # GPT for HTML building
CLAUDE_BIN=/path/to/claude                  # Claude Code CLI (Max plan, optional)

# Deployment (required)
VERCEL_TOKEN=your_vercel_token
VERCEL_PROJECT_NAME=ai-website-specs        # Optional, defaults to ai-website-specs

# Outreach (required for email automation)
AGENTMAIL_API_KEY=your_agentmail_key
[email protected]

# Branding
[email protected]              # Contact form submissions go here
BRAND_DOMAIN=YourDomain.com                 # Footer attribution

# Optional
OLLAMA_BASE_URL=http://127.0.0.1:11434     # Local model fallback
OLLAMA_MODEL=qwen2.5-coder:3b
TZ=America/Chicago
```

FILE:references/google-sheet-setup.md
# Google Sheet Setup

## Create the Sheet

1. Go to Google Sheets and create a new spreadsheet
2. Name it something like "OpenClaw_Leads"
3. Name the first tab "leads"

## Add Column Headers (Row 1, Columns A-O)

| Column | Header | Description |
|--------|--------|-------------|
| A | created_at | ISO timestamp when lead was discovered |
| B | niche | Business category (landscaping, cleaning, etc.) |
| C | business_name | Full business name |
| D | address | Street address |
| E | phone | Phone number |
| F | email | Contact email |
| G | website | Current website URL (if any) |
| H | google_maps_url | Google Maps link |
| I | rating | Google rating (1-5) |
| J | reviews_count | Number of Google reviews |
| K | has_website | true/false |
| L | website_quality_score | 0-40 quality score |
| M | lead_score | 0-100 overall score |
| N | status | review / filtered / approved / demo_ready / failed |
| O | notes | Free text, demo URLs added here by pipeline |

## Service Account Access

1. Create a GCP project and enable the Sheets API
2. Create a service account and download the JSON key
3. Share your sheet with the service account email (Editor access)
4. Save the JSON key to `~/.openclaw/workspace/gcp-service-account.json`

## Lead Scoring

- No website: +40 points
- Weak website (quality < 20): +25 points
- Rating >= 4.0: +10 points
- 10+ reviews: +10 points
- Has phone: +10 points
- Base: +5 points
- **Minimum for review:** 60 points

## Status Flow

```
review → approved (manual) → processing (auto) → demo_ready (auto)
  ↓                                                    ↓
filtered (auto, score < 60)                     failed (auto, on error)
```
ClawHubDevOpsWriting+2
R@clawhub-razzledazzlei-0b345cabce
0
Skill Package
Skill

Automated lead generation pipeline that finds local businesses with weak/no websites, AI-generates custom demo sites, deploys to Vercel, and runs a 5-email c...

---
name: lead-gen-website-pipeline
description: Automated lead generation pipeline that finds local businesses with weak/no websites, AI-generates custom demo sites, deploys to Vercel, and runs a 5-email cold outreach drip sequence via AgentMail. Full pipeline from Google Places discovery to closed deal.
version: 1.0.0
homepage: https://github.com/RazzleDazzleI/lead-gen-pipeline
metadata:
  openclaw:
    emoji: "\U0001F680"
    requires:
      env:
        - GOOGLE_PLACES_API_KEY
        - GOOGLE_API_KEY
        - VERCEL_TOKEN
        - AGENTMAIL_API_KEY
      bins:
        - node
---

# Lead Gen Website Pipeline

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.

## What It Does

1. **Discovers leads** via Google Places API for configurable niches and cities
2. **Scores leads** 0-100 based on website quality, reviews, phone availability
3. **Queues leads** in a Google Sheet for human review/approval
4. **Generates demo websites** via a 5-stage AI pipeline (research → spec → build → QA → validate)
5. **Deploys to Vercel** automatically with daily rate limiting
6. **Sends cold outreach** via AgentMail with a 5-email drip sequence (Day 0, 3, 7, 14, 30)
7. **Notifies you** on Discord with pitch angles, demo URL, and visual QA scores

## Pipeline Architecture

```
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
```

## Requirements

### API Keys (set in your .env)

| 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 |

### Google Sheet Setup

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.

### Infrastructure

- **Node.js 22+** on the host machine
- **Google Cloud service account** JSON key for Sheets API
- **Vercel account** (free Hobby tier works)
- **AgentMail account** with at least one inbox
- **Discord channel** for notifications (optional but recommended)

## Setup Instructions

### 1. Clone and install

```bash
git clone https://github.com/RazzleDazzleI/lead-gen-pipeline.git
cd lead-gen-pipeline
npm install
```

### 2. Configure environment

Copy `.env.example` to `.env` and fill in your API keys.

### 3. Configure your niches and city

Edit `scripts/niche-defaults.json` to customize:
- Target niches (landscaping, cleaning, roofing, etc.)
- Color palettes per niche
- Common services per niche
- Trust items per niche

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

### 4. Set up the poller

The poller watches your Google Sheet for approved leads and triggers the pipeline:

```bash
# 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.

### 5. Set up outreach emails

```bash
# 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:
```bash
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"
```

## Customization

### Target City

Change the Google Places API search query in the n8n workflow or lead discovery script to target your city instead of Omaha.

### Pricing Tiers

The business plan template includes 3 tiers:
- **Starter** ($997 + $49/mo) — Single-page landing site
- **Professional** ($1,997 + $99/mo) — Multi-page with gallery, analytics
- **Premium** ($2,997 + $149/mo) — Blog, booking, live chat, priority support

### Email Templates

The drip sequence (in `send-outreach.js`) follows the proven pattern:
- **Day 0:** "I built you a website — take a look" (demo link)
- **Day 3:** Social proof — "businesses like yours saw 30-40% more calls"
- **Day 7:** Urgency — "your preview expires soon"
- **Day 14:** Last chance — "taking it down today"
- **Day 30:** Breakup — "closing the loop, door is always open"

Edit the templates in `send-outreach.js` → `getDripEmail()` function.

### Design Blueprints

Add niche-specific design guidance in `templates/designs/<niche>.md`. The build stage loads these automatically to produce better-looking sites per vertical.

## Pipeline Stages Deep Dive

### Stage 1: Research
Consolidates lead data (name, phone, address, website, reviews) into a structured JSON summary. Uses scraped website data + Google Places API reviews.

### Stage 2: Spec
Generates all website copy — hero section, services, about, reviews, service area, footer. No HTML yet, just structured content.

### Stage 3: Build
Converts the spec JSON into a single-file responsive HTML page. Injects real photos (scraped or Google Places fallback), logo, niche-specific color palette.

### Stage 4: QA
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.

### Stage 5: Validate
Programmatic validation confirms all critical elements are present. Non-blocking — logs warnings but doesn't block deployment.

### Stage 6: Deploy
POSTs the final HTML to Vercel API. Tracks daily deploy count (max 90/day to stay under free tier limit). Returns live URL.

### Stage 7: Outreach
Generates a personalized cold email with pitch angles extracted from the lead data (no website, Gmail address, strong reviews, years in business).

## Output Per Lead

Each processed lead produces a run folder with ~19 artifacts:
- `intake.json` — Enriched lead data
- `research.json` — Structured summary
- `spec.json` — All website copy
- `final.html` — Production-ready HTML
- `evaluation.json` — Deploy URL + metadata
- `outreach-email.json` — Cold email + follow-up
- `screenshot-*.png` — Mobile/tablet/desktop captures
- `visual-qa.json` — Gemini Vision quality scores
- `status.json` — Run tracking

## Costs

### Per-Lead Cost
- Google Places API: ~$0.03-0.05/lead
- AI generation (Gemini + Claude): ~$0.10-0.50/lead
- Vercel hosting: $0 (free tier)
- AgentMail: $0 (free tier)
- **Total: ~$0.15-0.55 per lead**

### Monthly Operating Cost (at 10-20 leads/day)
- Google APIs: $5-20/mo
- AI models: $30-150/mo (less with Claude Max plan)
- Everything else: $0
- **Total: $35-170/mo**

### Revenue Potential (at 2% response rate)
- 50 emails/week → 1 conversation/week → 1 client/month
- 1 client = $997+ one-time + $49+/mo recurring
- Year 1 from one client/month: ~$12,000+ one-time + $3,500+ recurring

## Selling This System

This 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.

## Credits

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.

FILE:_meta.json
{
  "slug": "lead-gen-website-pipeline",
  "name": "Lead Gen Website Pipeline",
  "version": "1.0.0",
  "description": "Find local businesses with bad websites, AI-generate custom demos, deploy to Vercel, and run a 5-email cold outreach drip via AgentMail. Full pipeline from Google Places discovery to closed deal.",
  "author": "RazzleDazzleI",
  "license": "MIT",
  "tags": [
    "lead-generation",
    "website-builder",
    "cold-outreach",
    "email-drip",
    "vercel",
    "agentmail",
    "google-places",
    "local-business",
    "automation",
    "sales"
  ],
  "repository": "https://github.com/RazzleDazzleI/lead-gen-pipeline",
  "requires": {
    "env": [
      "GOOGLE_PLACES_API_KEY",
      "GOOGLE_API_KEY",
      "VERCEL_TOKEN",
      "AGENTMAIL_API_KEY"
    ],
    "bins": ["node"]
  }
}

FILE:references/drip-sequence.md
# 5-Email Drip Sequence

## Email 1: The Intro (Day 0 — immediately after deploy)

**Subject:** I built [Business Name] a website — take a look

> Hi [First Name],
>
> I noticed [Business Name] doesn't have a website (or could use an upgrade), so I went ahead and built one for you.
>
> **Here's your preview:** [live demo link]
>
> It's mobile-friendly, shows up on Google, and has your phone number front and center so customers can call you directly.
>
> This is yours to keep if you want it — no obligation.
>
> — Ryan Romero
> Romero Automation

## Email 2: Social Proof (Day 3)

**Subject:** Quick question about your website preview

> Hi [First Name],
>
> Just checking in — did you get a chance to look at the website I built for [Business Name]?
>
> I've helped several businesses in the [City] area get online, and the ones who did saw an average of 30-40% more calls within the first month.
>
> Happy to walk you through it if you have questions. No pressure either way.

## Email 3: Urgency (Day 7)

**Subject:** Your [Business Name] website preview expires soon

> Hi [First Name],
>
> Heads up — the website preview I created for [Business Name] will be taken down in about a week.
>
> If you'd like to keep it, I can transfer it to your own domain. Pricing starts at $997 with everything included — hosting, SSL, updates, the works.

## Email 4: Last Chance (Day 14)

**Subject:** Last day for your [Business Name] website

> Hi [First Name],
>
> This is the last day your preview website will be live. After today, it'll be taken down.
>
> If you change your mind later, I can always rebuild it — but I wanted to give you a heads up.

## Email 5: Breakup (Day 30)

**Subject:** Closing the loop on [Business Name]

> Hi [First Name],
>
> Just a final note — the website preview I built for [Business Name] was taken down a couple weeks ago.
>
> If you ever decide you want a professional website, my door is always open.

## Psychology Behind the Sequence

- **Day 0:** No-pressure gift. They see their business on a real website before paying.
- **Day 3:** Social proof. Others like them got results.
- **Day 7:** Scarcity. The preview is temporary.
- **Day 14:** Loss aversion. Last chance to keep what they've already seen.
- **Day 30:** Clean break. Leaves the door open without being pushy.

FILE:references/env-example.md
# Environment Variables Reference

Copy this to your project's `.env` file and fill in your keys.

```bash
# Google (required)
GOOGLE_PLACES_API_KEY=your_places_api_key
GOOGLE_API_KEY=your_gemini_api_key
GOOGLE_SHEET_ID=your_google_sheet_id

# AI Models (at least one required)
ANTHROPIC_API_KEY=your_anthropic_key        # Claude for spec generation
OPENAI_API_KEY=your_openai_key              # GPT for HTML building
CLAUDE_BIN=/path/to/claude                  # Claude Code CLI (Max plan, optional)

# Deployment (required)
VERCEL_TOKEN=your_vercel_token
VERCEL_PROJECT_NAME=ai-website-specs        # Optional, defaults to ai-website-specs

# Outreach (required for email automation)
AGENTMAIL_API_KEY=your_agentmail_key
[email protected]

# Branding
[email protected]              # Contact form submissions go here
BRAND_DOMAIN=YourDomain.com                 # Footer attribution

# Optional
OLLAMA_BASE_URL=http://127.0.0.1:11434     # Local model fallback
OLLAMA_MODEL=qwen2.5-coder:3b
TZ=America/Chicago
```

FILE:references/google-sheet-setup.md
# Google Sheet Setup

## Create the Sheet

1. Go to Google Sheets and create a new spreadsheet
2. Name it something like "OpenClaw_Leads"
3. Name the first tab "leads"

## Add Column Headers (Row 1, Columns A-O)

| Column | Header | Description |
|--------|--------|-------------|
| A | created_at | ISO timestamp when lead was discovered |
| B | niche | Business category (landscaping, cleaning, etc.) |
| C | business_name | Full business name |
| D | address | Street address |
| E | phone | Phone number |
| F | email | Contact email |
| G | website | Current website URL (if any) |
| H | google_maps_url | Google Maps link |
| I | rating | Google rating (1-5) |
| J | reviews_count | Number of Google reviews |
| K | has_website | true/false |
| L | website_quality_score | 0-40 quality score |
| M | lead_score | 0-100 overall score |
| N | status | review / filtered / approved / demo_ready / failed |
| O | notes | Free text, demo URLs added here by pipeline |

## Service Account Access

1. Create a GCP project and enable the Sheets API
2. Create a service account and download the JSON key
3. Share your sheet with the service account email (Editor access)
4. Save the JSON key to `~/.openclaw/workspace/gcp-service-account.json`

## Lead Scoring

- No website: +40 points
- Weak website (quality < 20): +25 points
- Rating >= 4.0: +10 points
- 10+ reviews: +10 points
- Has phone: +10 points
- Base: +5 points
- **Minimum for review:** 60 points

## Status Flow

```
review → approved (manual) → processing (auto) → demo_ready (auto)
  ↓                                                    ↓
filtered (auto, score < 60)                     failed (auto, on error)
```
ClawHubDevOpsWriting+2
R@clawhub-razzledazzlei-0b345cabce
0