A spreadsheet full of contacts is not a pipeline. With n8n, you can build a lead machine that identifies buying signals, enriches company data, and delivers qualified B2B leads automatically.
In this guide, we will break down how to build that system, what data sources to use, how to define buying intent, how to structure your workflow in n8n, and what it takes to generate up to 50 qualified leads per day in a sustainable way.

What a real B2B lead machine actually does
A serious lead generation system is not just a scraper.
It performs five jobs repeatedly:
- Finds companies that match your ideal customer profile
- Detects signals that suggest near-term buying intent
- Enriches those companies with enough context to personalize outreach
- Scores and filters leads so you do not waste time on noise
- Routes qualified leads into your workflow automatically
That is why n8n is a strong fit.
It lets you connect data sources, APIs, spreadsheets, CRMs, email tools, and logic steps in one automation layer. Instead of manually checking job boards, directories, funding news, company websites, and inbox alerts every day, you create a workflow that does that scanning for you.
The result is not magic. It is simply automation applied to a process most teams still run manually.
Before you dive in
Want to learn AI and stay ahead in your career?
I share:
- 1,000+ AI prompts
- AI tools and automations
- Career and LinkedIn growth tips
- Curated tech and productivity resources
Subscribe here:
https://bytebuilders.beehiiv.com/subscribe
Follow me for more career tips 👇
What “high-intent” means in B2B lead generation
The term gets overused, so it is worth being precise.
A high-intent lead is not just a company that fits your niche. It is a company showing signs that the timing may be right.
Typical intent signals include:
- active hiring for roles related to your service or product
- recent funding, expansion, or new market entry
- new tool adoption or visible stack changes
- fresh website updates that suggest repositioning or growth
- new case studies, launches, or press mentions
- job posts indicating operational pain, such as RevOps, data, CRM, automation, or support hiring
- content activity around problems your product solves
- public requests for help in communities, directories, or forums
For example:
- If you sell CRM implementation services, a company hiring for sales operations is not just a lead. It is a lead with context.
- If you sell email deliverability software, a company rapidly scaling outbound hiring may be worth attention.
- If you offer AI automation services, a company publishing job posts around workflow automation, internal tools, or process optimization is a stronger prospect than a random company in your target segment.
That is what your system should capture.
Why n8n is ideal for this workflow
n8n sits in a valuable middle ground.
It is flexible enough for advanced automation, but accessible enough that founders, growth operators, and technical marketers can build useful systems without writing a full application.
Why it works well for lead generation
- visual workflow builder for fast iteration
- HTTP request support for pulling data from APIs and public sources
- built-in logic nodes for filtering, branching, and scoring
- easy integrations with Google Sheets, Airtable, Notion, Slack, HubSpot, and other CRMs
- self-hosted option if you want more control and lower cost
- code nodes when you need custom parsing or scoring logic
The key advantage is not that n8n gives you lead data. It gives you the orchestration layer to turn scattered lead signals into a repeatable system.
What you need before you build
Before opening n8n, define the basics.
- Your ideal customer profile
You need clarity on:
- industry
- company size
- geography
- buyer role
- pain point
- trigger event
If your ICP is vague, your automation will simply generate noise faster.
- Your intent signals
Choose 3 to 5 signals that strongly correlate with buying readiness.
Examples:
- hiring for automation, RevOps, CRM, or AI roles
- launching new landing pages or product lines
- publishing integration or migration documentation
- announcing funding or expansion
- receiving recent reviews or community mentions
- A destination for qualified leads
Pick where leads should go:
- Google Sheets
- Airtable
- Notion database
- HubSpot
- Pipedrive
- a custom database
- A simple scoring framework
Do not overcomplicate this on day one.
Start with a rule-based lead score such as:
- +20 if company matches target industry
- +15 if employee count fits your ICP
- +25 if recent job post matches intent signal
- +20 if recent funding or launch detected
- +10 if company uses a relevant tool or stack
- -15 if company is too small or outside your market
That is enough to create a useful first filter.
Free and low-cost data sources you can use
The fastest way to waste time is building a workflow around unreliable or non-compliant data sources.
A better approach is to start with public, accessible, and stable sources.
Strong sources for intent signals
- Google Alerts RSS feeds for niche keywords
- job boards and company careers pages
- company newsrooms or blog RSS feeds
- product launch directories
- public business directories
- industry association member lists
- Google Maps / Business Profile data for local B2B niches
- review platforms where businesses talk about software needs
- community posts and public forums in your target market
Good examples of trigger keywords
If you sell automation services:
- "hiring operations manager"
- "workflow automation"
- "Zapier"
- "n8n"
- "CRM migration"
- "sales operations"
- "internal tools"
- "manual reporting"
If you sell web development or SEO:
- "website redesign"
- "headless commerce"
- "technical SEO"
- "Shopify migration"
- "WordPress developer"
The goal is not to scrape everything. It is to monitor signals that indicate motion.
The system architecture

At a high level, your n8n lead engine should follow this flow:
1Trigger -> Collect source data -> Extract company details -> Enrich -> Score -> Deduplicate -> Save -> Notify
A typical version looks like this:
1Schedule Trigger2 -> RSS Feed Read / HTTP Request3 -> HTML Extract or Code node4 -> Normalize company fields5 -> Enrichment step6 -> Scoring logic7 -> IF node for qualification threshold8 -> Deduplication check9 -> Google Sheets / Airtable / CRM10 -> Slack or Email summary
That is the entire game.
Everything else is refinement.
Step 1: Start with one clear lead angle
Do not begin with ten industries and twenty signals.
Start with one use case where intent is easy to detect.
Example lead angles
- agencies looking for companies hiring for marketing operations roles
- AI automation consultants targeting companies hiring for workflow or operations roles
- CRM consultants targeting businesses discussing migrations or sales process problems
- B2B SaaS teams targeting funded startups that just expanded headcount
- local service businesses targeting companies with outdated websites and active growth signals
A narrow angle makes your workflow much easier to validate.
If you cannot explain in one sentence why a company would likely buy from you now, your system is not ready.
Step 2: Build the data collection layer in n8n
Now create your first workflow.
Basic n8n collection setup
Use a Schedule Trigger to run once or twice daily.
Then connect one or more of the following:
- RSS Feed Read for Google Alerts or news feeds
- HTTP Request for public APIs or directory pages
- HTML Extract for parsing public website content
- Code node for custom cleanup and field extraction
Example workflow: Google Alerts + careers pages
You can create alerts for phrases like:
- "sales operations" site:company.com
- "workflow automation" "careers"
- "CRM manager" "jobs"
- "RevOps" startup
Route those feeds into n8n and extract:
- company name
- URL
- page title
- page description
- source URL
- keyword matched
- publish date
That gives you the raw lead signal.
Do not worry yet about perfection. Focus on structured capture.
Step 3: Normalize your lead records
Different sources return messy data.
One source gives full URLs. Another gives brand names. Another gives page titles. You need to standardize everything into one clean schema.
Recommended lead schema
Use fields like:
- company_name
- website
- source
- source_url
- intent_signal
- signal_date
- industry
- location
- employee_band
- contact_role
- lead_score
- notes
- status
This matters more than most people realize.
Clean schema design is what makes your automation usable after week one.
Step 4: Add enrichment
Raw intent signals are not enough. You need context for prioritization and outreach.
Useful enrichment fields
- homepage headline
- company description
- location
- estimated company size
- recent news mention
- hiring page URL
- product category
- relevant job titles found
- social profile or contact page URL
Ways to enrich for free
You can use:
- website homepage scraping
- About page extraction
- metadata from page titles and descriptions
- careers page parsing
- public directory fields
- free APIs where available
In n8n, this usually means:
- sending the company website to an HTTP Request node
- extracting visible content with HTML Extract
- using a Code node to clean text
- optionally generating short summaries or tags with lightweight logic
If you later want to add AI classification, do it after your rule-based workflow works.
The mistake most teams make is adding AI too early to compensate for unclear lead logic.
Step 5: Score leads with simple rules
This is where your lead machine becomes useful.
Without scoring, you are just collecting records.
Example rule-based scoring model
- +20 if company is in target industry
- +15 if company size fits ICP
- +25 if a relevant hiring signal exists
- +10 if website copy suggests expansion or implementation need
- +10 if the source is fresh within the last 7 days
- +10 if multiple signals are found
- -20 if geography is outside target market
- -15 if company looks too small or irrelevant
Example n8n Code node logic
1let score = 0;2const signals = [];34const industry = ($json.industry || '').toLowerCase();5const sourceText = `${$json.intent_signal || ''} ${$json.notes || ''}`.toLowerCase();6const employeeBand = ($json.employee_band || '').toLowerCase();7const location = ($json.location || '').toLowerCase();89if (industry.includes('saas') || industry.includes('software')) {10 score += 20;11 signals.push('Target industry match');12}1314if (employeeBand.includes('11-50') || employeeBand.includes('51-200')) {15 score += 15;16 signals.push('ICP company size');17}1819if (sourceText.includes('sales operations') || sourceText.includes('workflow automation') || sourceText.includes('crm')) {20 score += 25;21 signals.push('High-intent hiring or ops signal');22}2324if (!location.includes('india') && !location.includes('us') && !location.includes('uk')) {25 score -= 20;26 signals.push('Outside target geography');27}2829return [{30 ...$json,31 lead_score: score,32 score_reason: signals.join(', ')33}];
This is not fancy, and that is exactly why it works.
A simple scoring model is easier to trust, debug, and improve.
Step 6: Filter and qualify leads automatically
Once each lead has a score, use an IF node in n8n to keep only records above your threshold.
For example:
- send leads with score 50+ to your CRM
- send leads with score 35-49 to a review sheet
- discard or archive anything below that
This one step dramatically improves lead quality.
Automation should reduce decision fatigue, not increase it.
Step 7: Deduplicate before saving
This is one of the least glamorous but most important parts of the workflow.
Without deduplication, your system becomes annoying fast.
What to dedupe by
Use one or more of these:
- company domain
- company name + location
- source URL
- domain + intent signal type
In n8n, you can check existing records in:
- Google Sheets
- Airtable
- your CRM
- a lightweight database
If the lead already exists, update the record instead of creating a duplicate. That lets you track multiple intent signals for the same company over time.
That historical view is more valuable than most teams realize.
A company with three separate intent signals in two weeks is often worth more attention than three random one-off leads.
Step 8: Route leads into your sales workflow
Once qualified, your leads should arrive where action happens.
Good output destinations
- Google Sheets for simple review
- Airtable for structured lead ops
- HubSpot for pipeline and follow-up
- Slack for daily lead alerts
- Email summaries for founders or SDRs
Recommended output fields
Make sure each record includes:
- company name
- website
- why the lead was qualified
- intent signal detected
- score
- source URL
- suggested angle for outreach
- date added
This is the difference between “here is a company” and “here is a company you should contact, and here is why.”
How to realistically generate 50 leads per day for free

This is possible, but only under the right conditions.
The number depends on:
- market size
- number of data sources
- breadth of your ICP
- how strict your scoring threshold is
- how often new intent signals appear
A realistic path to 50 daily leads
You usually need:
- 3 to 5 active data sources
- one broad but defined niche
- daily workflow execution
- a moderate qualification threshold
- strong deduplication
Example volume mix
- 20 leads from hiring signals
- 10 leads from company news or launches
- 8 leads from niche directories or public listings
- 7 leads from review-platform activity or community mentions
- 5 leads from website updates or expansion pages
That gets you to 50, but only if your market has enough movement.
If your niche is too narrow, the better goal is not 50 leads. It is 10 to 15 genuinely relevant leads.
Senior operators optimize for conversion, not vanity volume.
A simple example workflow you can build first
If you want a practical starter version, build this:
Workflow: AI automation leads for agencies or consultants
Trigger
- Schedule Trigger runs every morning
Source collection
- Google Alerts RSS for keywords like:workflow automation operations manager hiring RevOps hiring CRM migration internal tools
Extraction
- Parse title, URL, snippet, and date
Enrichment
- Visit the company website
- Extract homepage title and About page text
- Detect whether company is B2B, SaaS, agency, or service business
Scoring
- Add points for target industries
- Add points for hiring or automation-related language
- Add points for recent activity
- Remove points for irrelevant geography or tiny business size
Qualification
- Only keep leads with score above 50
Storage
- Save to Google Sheets or Airtable
Notification
- Send top 10 leads to Slack with score and reason
That is enough to create a functioning lead engine in a few hours.
Best use cases for this kind of lead system
This workflow is especially effective for:
Agencies
- SEO agencies
- paid ads agencies
- web design and development studios
- RevOps consultants
- automation agencies
SaaS teams
- tools with clear operational pain-point fit
- products that sell well into growing teams
- software tied to hiring, revenue, support, marketing, or internal ops
Freelancers and consultants
- CRM implementation
- no-code automation
- analytics setup
- technical SEO
- email marketing systems
- AI workflow consulting
If your service depends on timing, this model is useful.
Common mistakes that make automated lead gen fail
Most lead automation systems fail for predictable reasons.
- They optimize for volume, not signal
A spreadsheet with 1,000 cold companies is not a lead engine.
- They skip ICP clarity
If you do not know who buys, your scoring will be weak.
- They rely on one brittle source
Build on multiple signals, not one scraping trick.
- They do not explain why a lead was qualified
Sales teams ignore black-box lead lists. They trust context.
- They automate before validating message-market fit
If your offer is weak, automation only scales inefficiency.
- They ignore compliance and outreach quality
Bad lead gen becomes spam very quickly.
Compliance, ethics, and long-term sustainability
This matters.
A strong lead generation system should make outreach more relevant, not more intrusive.
Good operating principles
- use public and permission-appropriate sources
- avoid scraping platforms in ways that violate terms or create risk
- collect only the data you actually need
- personalize outreach based on real context
- follow local laws and outbound email regulations
- make opt-out and consent practices clear where required
The goal is to identify likely-fit businesses and start better conversations, not to build an indiscriminate spam engine.
That is not just an ethical point. It is a performance point.
Relevance wins.
How to improve the system over time
Once the workflow is stable, improve it in layers.
Layer 1: Better scoring
Review which leads converted into replies or demos, then adjust your score rules based on real outcomes.
Layer 2: Better enrichment
Add more structured fields, such as product category, hiring velocity, or service pages detected.
Layer 3: Better routing
Send different lead types to different owners, sequences, or offers.
Layer 4: Better personalization
Generate a short outreach angle automatically based on the detected signal.
Layer 5: Better attribution
Track which data sources produce meetings, not just leads.
This is how a simple automation becomes a real acquisition asset.
Final thoughts
The best B2B lead systems do not start with expensive tooling. They start with clarity.
Clarity on who you serve. Clarity on what buying signals matter. Clarity on which steps should be automated and which should stay human.
That is why n8n is so useful here.
It gives you a flexible way to build a lead generation engine that scans public signals, enriches context, qualifies prospects, and delivers useful leads into your workflow automatically. You do not need a huge budget to make this work. You need a tight ICP, a sensible scoring model, and the discipline to improve the system over time.
If you build it well, you are not just collecting names.
You are creating a repeatable pipeline of companies already showing signs they may need what you sell.
That is what makes an automated lead machine worth building.
Quick workflow recap
If you want the short version, here it is:
- Define your ICP and 3 to 5 strong intent signals
- Use n8n to collect public lead signals from RSS feeds, websites, and directories
- Normalize data into a clean lead schema
- Enrich company records with website and business context
- Score leads using simple rules
- Filter by qualification threshold
- Deduplicate records before saving
- Send qualified leads to Sheets, Airtable, Slack, or your CRM
- Improve the model based on replies, meetings, and conversions
That is the foundation of a free automated B2B lead generation system.
FAQ
Is n8n enough to build a lead generation system on its own?
Yes, for orchestration and automation. You will still need data sources and a place to store leads, but n8n can connect the entire process and handle most of the workflow logic.
Can I really generate 50 leads per day for free?
In some markets, yes. But the number depends on your niche, the volume of public signals, and how strict your lead scoring is. For many businesses, fewer but better leads are more valuable.
Should I use AI to score leads?
You can, but start with rule-based scoring first. It is easier to validate and far easier to maintain. Add AI only after you understand which signals actually correlate with conversions.
Where should I store leads at the beginning?
Google Sheets or Airtable is usually enough for the first version. Once the system proves useful, move qualified leads into your CRM.
What is the biggest mistake to avoid?
Automating volume before validating relevance. A smaller list of well-qualified leads will outperform a massive list of generic prospects almost every time.





