AI Lead Scoring Engine — Automatically Score and Prioritise Every Inbound Lead So Sales Teams Focus Only on the Ones That Will Actually Clos
Built by HorizonForge ·
About this build
A Claude and n8n powered workflow that takes every new inbound lead, researches them in real time, scores them across 8 dimensions using company data, behaviour signals and fit criteria, assigns a priority tier and routes high priority leads to sales within 90 seconds — so no good lead ever sits cold in a CRM waiting t
What was built
Built this after watching a 4 person sales team spend their entire morning manually reviewing overnight leads before making a single outreach call. By 11am they had triaged the queue but half the people they prioritised turned out to be early stage researchers with no buying intent. Half the ones they skipped had already talked to a competitor. The workflow fires the moment a new lead submits a form anywhere in the marketing stack. Step 1 — Lead ingestion and enrichment A HubSpot form submission triggers an n8n webhook. The lead's email domain gets passed to Clearbit for enrichment — employee count, industry, funding stage, technology stack and annual revenue all come back within 2 seconds. This enriched data combined with the form submission forms the scoring input. Step 2 — 8 dimension scoring via Claude Claude scores the lead across 8 weighted dimensions based on historical conversion data. Company fit — does the company size, industry and geography match the ideal customer profile. Scored 1 to 10. Budget signal — does the company's revenue estimate and funding stage suggest they have budget for this solution. Scored 1 to 10. Technology fit — does their current tech stack suggest compatibility or need for this product. Scored 1 to 10. Role fit — is the person who submitted the form someone who typically drives purchase decisions for this category. Scored 1 to 10. Intent signal — what did the person actually ask for. A demo request scores higher than a content download. A specific pricing question scores highest. Scored 1 to 10. Timing signal — any signals suggesting active evaluation right now — recent funding, headcount growth, relevant job postings. Scored 1 to 10. Competitive risk — any signal the prospect is already evaluating a direct competitor. Scored 1 to 10. Engagement history — has this person visited the pricing page, attended a webinar, opened previous emails. Pulled from HubSpot. Scored 1 to 10. Claude outputs a composite score out of 100, a tier of Hot, Warm or Cold, a one paragraph rationale and 2 to 3 specific talking points for the sales rep based on what the scoring found. Step 3 — CRM update Score, tier and rationale get written back to the lead record in HubSpot automatically. Lead owner gets assigned based on tier — senior reps handle Hot, junior reps handle Warm, Cold leads go into a nurture sequence automatically. Step 4 — Slack notification for Hot leads Hot tier leads trigger an immediate Slack notification to the assigned rep within 90 seconds of form submission. The card contains the lead name and company, composite score, tier, one paragraph rationale and specific talking points. Short enough to read in 10 seconds, specific enough to act on immediately. Step 5 — Airtable calibration Every scored lead and their eventual outcome — closed won, closed lost, disqualified — gets logged to Airtable. After 60 days this creates a calibration dataset. Scoring weights get reviewed monthly against actual conversion rates and adjusted where specific dimensions are underperforming. What broke during development: Role fit scoring was too binary early on — it could only identify exact job title matches to the ideal buyer persona. Fixed by expanding the Claude prompt to reason about organisational influence rather than just title matching. A Head of Operations at a 15 person startup often has more purchase authority than a Procurement Manager at a 2,000 person enterprise even though the title sounds less senior. Timing signals were generating too many false positives — companies that raised funding but were in completely unrelated industries. Fixed by requiring timing signals to combine with strong company fit scores before being counted as positive. Slack notifications were too long in early versions. Cut the rationale to one paragraph maximum and limited talking points to exactly 3. Shorter notifications get read and acted on. Results after 12 weeks: Hot tier conversion to qualified opportunity — 67 percent. Warm tier — 23 percent. Cold tier — 4 percent. Average response time to Hot leads dropped from 4.2 hours to 11 minutes. Pipeline generated from Hot leads in the first 60 days was 3.4 times higher than the same period the previous quarter. The most valuable unexpected output was the calibration data. After 8 weeks Airtable showed technology fit was being underweighted relative to its actual predictive value for closed-won deals. Adjusted the weight and saw an immediate improvement in Hot tier precision. Will share the full n8n workflow JSON, Claude scoring prompt and HubSpot webhook configuration in comments for anyone who wants to deploy this
