// AI
Lead-scoring with AI (no code)
Most service businesses bleed time on bad-fit leads. The fix: an AI triage layer that scores leads before they hit your inbox.
Here’s how to build one in 1 hour with zero code.
The setup
Stack:
- Form: your contact form (Elementor / Typeform / Tally)
- Trigger: Zapier or n8n watching new submissions
- Brain: OpenAI GPT-4o-mini (cheap, $0.15 / 1M tokens)
- Storage: HubSpot CRM
- Notification: Slack or WhatsApp
The flow
- Visitor submits the form
- Webhook fires to Zapier
- Zapier sends form data to OpenAI with a scoring prompt
- OpenAI returns: score (0-100), category (hot/warm/cold), reason
- Zapier writes score to HubSpot contact
- If score > 70 → fires WhatsApp + Slack notification to you
- If score 30-70 → adds to nurture sequence (no urgent notification)
- If score < 30 → silent ignore, add to "low-priority" list
The prompt (paste this in Zapier OpenAI step)
You are a lead-scoring assistant for AuraMark, a startup launch agency.
A new lead submitted this form:
- Name: {{name}}
- Email: {{email}}
- Company: {{company}}
- Phone: {{phone}}
- Message: {{message}}
Score the lead 0-100 based on:
- BUDGET FIT (do they sound like they can afford $5k+ services?): 0-30 points
- TIMELINE (urgency to launch): 0-30 points
- CLARITY (do they know what they want?): 0-20 points
- BUSINESS LEGITIMACY (real company vs. random?): 0-20 points
Return ONLY valid JSON:
{
"score": [0-100],
"category": "hot" | "warm" | "cold",
"reason": "[one sentence why]"
}
Edge cases to handle
- Spam/junk: if message is gibberish or contains spam patterns, set score to 0
- Competitor: if email domain matches a known competitor, flag for review
- Repeat lead: if email already exists in HubSpot, add as “repeat inquiry” and don’t re-score
Cost at scale
Each scoring call uses ~500 tokens (input + output). At $0.15 / 1M tokens, that’s $0.000075 per lead. For 1,000 leads/month, you pay ~$0.08. Negligible.
Results we see
After implementing this on our own pipeline:
- Time saved per week: 4-6 hours of manual triage
- Response time to hot leads: dropped from 4h to 12 min
- Close rate on hot leads: 38% (vs 14% pre-scoring)
- Time wasted on cold leads: 0 (they go straight to nurture)
What this is NOT
This isn’t a replacement for a human reading the message. It’s a filter so you read the right messages first. A 95-scored lead still needs a human reply within an hour.
Want this shipped by us instead of figured out alone?