Day 4 of 7
40 mins
Cost: $0

Lead Ingestion & Webform Integration

Turn inbound website visitors and bookings into instant CRM records automatically

Today's Deliverable:

Live webhook endpoint that creates contacts and deals when a prospect fills out your form

Day 4 Checklist & Progress

0% Complete

Stop Copy-Pasting Inbound Leads

The average business owner loses up to 30% of sales momentum simply because lead information sits in an email inbox for hours or days before someone manually types it into a spreadsheet.

In Day 4, we set up Instant Ingestion: When someone books a call on Calendly or submits a quote form on your website, a webhook fires, parses their details with Claude, and inserts them directly into your CRM database in < 1.5 seconds.


The Ingestion Architecture

┌─────────────────┐       ┌─────────────────┐       ┌─────────────────┐
│  Inbound Form / │       │ Webhook Handler │       │ CRM Database    │
│  Calendly Event │ ────► │ (Cloudflare /   │ ────► │ (Supabase /     │
│                 │       │  Make.com Free) │       │  Airtable)      │
└─────────────────┘       └─────────────────┘       └─────────────────┘


                          ┌─────────────────┐
                          │ AI Lead Scoring │
                          │ & Categorizer   │
                          └─────────────────┘

Option A: The Cloudflare Worker / Serverless Method (Zero Cost)

If your domain is hosted on Cloudflare, you can deploy a free Cloudflare Worker that receives lead webhooks and writes to Supabase.

Claude Ingestion Worker Prompt:

Generate a complete, lightweight Cloudflare Worker (TypeScript/JavaScript) that acts as an inbound lead webhook.

Requirements:
1. Listens for POST requests at `/api/webhook/lead`
2. Validates incoming JSON payload (name, email, phone, company, message, budget)
3. Connects to Supabase REST API using SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY
4. Deduplicates contacts by checking if the email already exists:
   - If contact exists: append a new note with the inquiry message.
   - If contact is new: insert into `contacts` and create an associated deal in the `new_inquiry` stage.
5. Returns a clean HTTP 200 JSON response `{ success: true, lead_id: uuid }`.

Option B: The No-Code Visual Method (Make.com Free Tier)

If you prefer zero code:

  1. Create a free account on Make.com (1,000 operations/month for $0).
  2. Create a scenario with a Custom Webhook trigger.
  3. Add a Supabase / Airtable: Create Record module.
  4. Map the Form Fields (Name -> First Name, Email -> Email, Message -> Next Action / Note).
  5. Turn the scenario ON.

Real-World Test: Firing a Test Payload

You can test your new ingestion endpoint in 5 seconds using curl or Postman:

curl -X POST https://your-domain.com/api/webhook/lead \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "Sarah",
    "last_name": "Jenkins",
    "email": "sarah@apexconsulting.com",
    "phone": "+1-555-0199",
    "company": "Apex Consulting",
    "estimated_budget": "$12,000",
    "message": "We need a custom onboarding workflow by next month."
  }'

Refresh your CRM dashboard—Sarah Jenkins and Apex Consulting will be sitting right in your New Inquiries column with a $12,000 deal card!


Day 4 Homework & Milestone

  1. Choose your webhook method (Cloudflare Worker or Make.com).
  2. Hook up at least one live inbound trigger (your website contact form or Calendly booking).
  3. Submit a real test submission and confirm it renders in your CRM.

Next up in Day 5: We will teach Claude to write personalized, context-aware email follow-ups and automatically extract action items from client calls!