5 Ways to Automate Lead Scoring with n8n and Claude AI
You're spending 3 hours a day manually digging through LinkedIn and Apollo to find leads. This guide shows you how to wire Claude AI to score and research every lead in under 5 seconds — with a fully automated n8n pipeline. The setup takes one afternoon and the time savings start Monday.
Written By
SaaSNext CEO
You already know which leads are wasting your time. "Just exploring." "Not the right buyer." "No budget." Same unqualified conversations, every day, forever. You're spending two hours a day manually digging through LinkedIn profiles and Apollo databases to find out if a prospect is actually worth a 30-minute discovery call — and every minute you spend in research mode is a minute you're not closing deals.
The average SDR spends 8.4 hours per week on lead research. That's one full working day — every single week — reading company websites and parsing news articles. If your time is worth $100/hr, that's $43,000/year in research time alone. This guide shows you how to get that back by automating your lead research and scoring with Claude AI and n8n.
What AI Lead Research & Scoring Actually Does
Here's the full loop in plain language:
- A new lead enters your CRM or email inbox (trigger).
- The system scrapes their LinkedIn profile and company website.
- The data is passed to
claude-3-opus-20240229to analyze the context. - Claude assigns a score out of 100 based on your specific Ideal Customer Profile (ICP).
- High-scoring leads are automatically pushed to a personalized outreach sequence.
Total time from trigger to output: under 30 seconds. Your involvement: 0 minutes per lead.
Result: A fully qualified, scored lead list ready for immediate, highly-targeted engagement without any manual browsing.
Who This Is Built For
This workflow is for:
- B2B Sales Leaders who want their teams focusing exclusively on closing rather than prospecting and data entry.
- Agency Owners who handle high-volume inbound leads but struggle to prioritize which ones get attention first.
- Growth Marketers who need to validate and score campaign leads in real-time before passing them to the sales floor.
This is not for B2C e-commerce stores — if you sell low-ticket consumer products, you're better served by volume-based retargeting flows rather than deep individual account research.
What This Keeps Costing You
Without this workflow, here's what next week looks like:
- Spending 2-3 hours daily manually verifying if a lead fits your ICP.
- Losing $800+ weekly in valuable sales time spent on administrative data entry.
- The hidden cost of lead decay: hot leads go cold while you're busy researching them.
- Mental fatigue from performing repetitive, robotic tasks that drain your creative selling energy.
- Opportunity cost of missing out on high-value prospects because they were buried in a list of unqualified noise.
The real issue isn't the time itself — it's the structural inefficiency of having highly-paid human talent acting as basic data routers. Here's how to fix it permanently.
How to Build It: Step by Step
Step 1: Set Up the n8n Webhook Trigger
The foundation of any automation is a reliable trigger. In this case, we use an n8n Webhook node to catch incoming lead data from your form, CRM, or lead-generation tool. This ensures the workflow starts instantaneously when a prospect shows interest.
Configure your Webhook node in n8n to listen for POST requests. Ensure it captures the lead's email, name, and company URL.
{
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [250, 300],
"parameters": {
"httpMethod": "POST",
"path": "incoming-lead",
"responseMode": "onReceived"
}
}
Watch out for: Make sure your Webhook URL is kept secure. Exposing it publicly can lead to spam submissions triggering your paid API limits.
Step 2: Extract Company Context with HTTP Request Node
Now that we have the lead's URL, we need to gather context. Use an HTTP Request node to call a scraping API (like ScraperAPI or a simple clearbit integration) to pull the company's 'About' page and recent news.
Pass the URL dynamically from the Webhook payload into the HTTP request. This transforms a simple URL into rich, unstructured text that Claude can understand.
{
"name": "Scrape Website",
"type": "n8n-nodes-base.httpRequest",
"position": [450, 300],
"parameters": {
"url": "={{$json.body.company_url}}",
"method": "GET"
}
}
Watch out for: Websites block basic scrapers. Use a proxy service or an API designed for scraping to ensure you consistently return valid HTML.
Step 3: Parse and Structure the Data
Raw HTML is noisy. We need to clean it up before sending it to Claude to save on token costs. Use an HTML Extract node or a small snippet of JavaScript in a Code node to strip out everything except the main body content and headers.
// Clean up HTML
const rawHtml = $input.item.json.data;
const cleanText = rawHtml.replace(/<[^>]*>?/gm, '');
return { json: { text: cleanText } };
Watch out for: Token limits. If you send 5MB of raw HTML to Claude, you'll burn through your API budget. Always sanitize first.
Step 4: Intelligent Scoring with Claude AI
This is the brain of the operation. Connect the Anthropic node and select claude-3-opus-20240229. We will pass the cleaned text and ask Claude to act as a strict lead-scoring analyst.\n\nProvide your exact ICP criteria in the system prompt. The more specific you are, the better the scoring will be.
Act as a Senior B2B SDR. Review the provided company information and score this lead from 1 to 100 based on our ICP.
Our ICP:
1. SaaS companies or tech startups.
2. Employee count between 50 and 500.
3. Mentions "automation", "growth", or "scaling" on their site.
4. B2B focus, not B2C.
Return ONLY a JSON object with two keys:
- "score": <number>
- "reason": <1 sentence explanation>
Company Info: {{$json.text}}
Watch out for: Claude can sometimes add conversational text like "Here is your JSON." Use the system prompt to explicitly enforce strict JSON output to prevent the next steps from breaking.
Step 5: Route Based on Score
Finally, add an IF node or Switch node to route the lead based on Claude's score. If the score is > 80, push the lead directly into your CRM (like HubSpot or Salesforce) and trigger an instant Slack notification to the sales team. If it's lower, add them to a long-term nurture sequence.
{
"name": "Score Router",
"type": "n8n-nodes-base.if",
"position": [850, 300],
"parameters": {
"conditions": {
"number": [
{
"value1": "={{$json.score}}",
"operation": "largerEqual",
"value2": 80
}
]
}
}
}
<!-- Image: n8n canvas showing the IF node branching out to HubSpot and Slack integrations based on the AI score -->
Watch out for: Ensure your IF conditions account for edge cases, like missing scores or API failures, routing those to a manual review queue.
Tools Used (And Why Each One)
n8n — The orchestration engine that ties everything together. Chosen over Zapier because its visual, node-based branching handles complex, multi-step API logic far better and more affordably at scale. Pricing: Free (Self-hosted) or starting at $24/month for Cloud. Free alternative: Make.com (though less powerful for complex data structures).
Anthropic Claude 3 — The intelligence layer doing the actual reading and scoring. Chosen over OpenAI because Claude 3 Opus handles massive context windows with higher accuracy and fewer hallucinations when processing dense corporate website data. Pricing: $15/million input tokens. Free alternative: Llama 3 (via local hosting, but requires significant setup).
ScraperAPI — Used to securely fetch website content without getting blocked by anti-bot measures. Chosen over native HTTP requests because it automatically handles proxy rotation. Pricing: $49/month. Free alternative: Puppeteer on a local server (requires coding and maintenance).
Real-World Example: Marcus's Story
Marcus runs a high-end lead generation agency and was spending 15 hours a week manually reviewing inbound applications. His team was overwhelmed with "tire-kickers" filling out their forms, leading to wasted discovery calls.
Before the automation, Marcus's team manually read every website, checked LinkedIn company sizes, and debated if the lead was worth their time. It was slow, inconsistent, and deeply frustrating.
He set up this n8n + Claude workflow over a weekend. The first week: the system processed 140 inbound leads, automatically rejecting 90 unqualified ones and instantly flagging 50 high-value prospects. By month two, after refining Claude's prompt to detect specific software tools mentioned on the prospects' sites: his team's meeting-to-close rate doubled.
Result: 15 hours/week saved → 0 hours/week. Marcus redirected that massive time savings directly into proactive outbound outreach, landing two major enterprise accounts in a single quarter.
Gotchas, Edge Cases, and Hard-Won Tips
Tip: Over-communicate your ICP in the prompt. Don't just say "Enterprise." Say "Companies with over 1,000 employees and specific mentions of legacy infrastructure." Claude needs boundaries to score accurately.
Watch out: Websites change frequently. If a prospect's site is down or blocking scrapers, your workflow will fail. Always add an error-handling branch in n8n that routes failed scrapes to a human for manual review.
Tip: Test the scoring logic manually first. Run 50 past leads through the prompt in the Claude web interface and compare its scores to your actual historical success with those leads before going live.
Gotcha: Token limits on massive sites. If a prospect has a 10,000-word terms of service page on their homepage, you'll waste money. Always enforce a hard character limit on the scraped text before it hits Claude.
What It Costs and What You Get Back
| Item | Before | After | |------|--------|-------| | Time on lead research | 15 hrs/week | 0.5 hrs/week | | Infrastructure cost | $0 | $24/month | | API cost (at 500 leads) | $0 | $15/month | | Net weekly time recovered | — | 14.5 hrs |
Valuing your time at $100/hr:
- Weekly value recovered: 14.5 hrs × $100 = $1,450/week
- Monthly infrastructure cost: $39
- Net monthly ROI: $5,761
Break-even: First day.
Start Building Today
Automating your lead research transforms your sales team from manual data processors into high-value closers.
Here's how to start in the next 60 minutes:
- Sign up for a free n8n Cloud trial at n8n.io.
- Grab an API key from the Anthropic Console.
- Build a simple Typeform or Webhook to catch your next inbound lead.
- Copy the Claude prompt from Step 4 and paste it into an Anthropic node.
- Send a test lead through and watch the JSON score appear in seconds.
You already know what an ideal customer looks like—now let the AI do the heavy lifting of finding them.
[related workflow: AI YouTube Automation]