← blog
workflow
2026-03-30 6 min read

How We Built a Lead Qualification Bot in a Weekend

A Typeform webhook, 90 minutes of n8n work, and a scoring formula. By Monday morning, every new lead was automatically graded, routed, and sitting in the CRM — without a human touching it.

The Problem With Manual Lead Triage

A SaaS founder was spending two hours every morning reviewing intake form submissions. The form data was all there — company size, budget range, use case — but someone had to read it, make a judgement, and route it. The information for a decision already existed. The decision itself didn't need a human.

The Scoring Model

Before touching n8n, we spent an hour defining what a "good" lead looked like. Five signals, each worth a different number of points:

signalcriteriapts
company size50+ employees+30
budget stated$1k+/month+25
use case fitcore product use case+20
timelineready within 30 days+15
decision makerself-identified as buyer+10

Score ≥ 70 = Hot. 40–69 = Warm. Below 40 = Nurture. Weights stored in a Sheets config tab — no developer needed to adjust them.

The Workflow

n8n workflow —
n8n workflow — lead qualification bot
Typeform / Tallywebhook trigger
n8n JS Node
n8n JS Nodescore formula
Switch Nodehot / warm / nurture
SlackDM or channel notify
HubSpotcreate / update contact
Google Sheetslog score + timestamp
trigger: form submit → lead scored, routed, and in CRM in < 60 seconds

Plugging In the Webhook

Typeform and Tally both support native webhooks. Payload structures differ slightly — a Set node normalises the shape before the scoring logic, so the formula works identically regardless of which form tool fires it.

The scoring JavaScript is ~25 lines. Weights are read from a Google Sheets config tab. This single decision saved the most back-and-forth later — the founder tweaks weights without opening n8n.

The CRM Step

HubSpot's n8n node creates or updates a contact, sets lead score as a custom property, and applies a tag. Deduplication by email — check if contact exists, branch on new vs. update. Two lines. Most people skip this and end up with duplicate contacts.

Weekend Build Log

The Result

outcome
Lead triage time: 2 hours/day → zero
Hot leads reach founder within 60 seconds of form submission
Warm and nurture leads auto-enrolled in the right sequences
Scoring weights adjustable via Sheets — no developer needed
~44 hours/month returned to the founder

Build It Yourself?

The hardest part isn't the code — it's the scoring model. Spend an hour with whoever handles sales and nail down what signals actually predict a closed deal. Once you have that, the n8n build is straightforward.

. Lead qualification bots are one of our most requested projects.we can build it for you. Lead qualification bots are one of our most requested projects.


📖 Further Reading