LeadScope: Automated Local Business Lead Discovery and Outreach System

A self-hosted n8n system that discovers local businesses, scores their sales potential, organizes them by niche and region, and saves qualified leads into a live Google Sheets outreach database.

The LeadScope n8n workflow canvas, from Start Lead Search through OpenStreetMap search, scoring and qualification to the three Google Sheets destinations

Industry

Sales Technology / Lead Generation Automation

Category

Workflow Automation, Sales Operations, CRM and Business Intelligence

Built with

n8n, Docker, OpenStreetMap and Nominatim, Google Sheets, Google OAuth 2.0, JavaScript

Markets

United Kingdom, Ireland and Pakistan

Coverage

20 targeted business niches, one master database, one search-planning sheet

Project overview

I built a self-hosted lead-generation system using n8n, Docker, OpenStreetMap, and Google Sheets.

The system searches for local businesses, scores them based on sales potential, separates qualified and low-priority leads, and saves each business into both a master database and its relevant niche sheet.

It currently supports:

  • 20 targeted business niches
  • UK searches
  • English-speaking European markets, starting with Ireland
  • Pakistan searches
  • A separate Pakistan high-value leads database
  • Contact and outreach-status tracking

The problem

Finding local businesses manually takes time, and the results usually end up scattered across different spreadsheets.

I wanted one system where I could:

  • Search by business type and location
  • Identify businesses that may need a website or another service
  • Prioritize the strongest opportunities
  • Keep all leads in one master database
  • Separate leads by niche and region
  • Track contact progress without creating another CRM

How the system works

The workflow follows this process:

Manual search settings → OpenStreetMap search → Data cleanup → Lead scoring → Qualification → Niche routing → Regional routing → Google Sheets

  1. A search is started manually in n8n.
  2. The city, country, business type, niche, and destination sheet are selected.
  3. The workflow searches OpenStreetMap for matching businesses.
  4. Each result is converted into a structured lead profile.
  5. The workflow checks whether the business has a website, phone number, email, and other useful information.
  6. A lead score and priority are assigned.
  7. Qualified leads are added to the master `General Leads` sheet.
  8. The same lead is added to its relevant niche sheet.
  9. Pakistan-based businesses are also copied to `Pakistan High-Value Leads`.
  10. Existing Lead IDs are updated instead of creating duplicate records.
The workflow after a run, with the Search Criteria node output showing city, country, business type, niche, region, destination sheet, minimum score and result limit

Lead information collected

Each lead can include:

  • Business name
  • Business type
  • Lead score
  • Priority
  • Opportunity identified
  • Missing business information
  • Suggested outreach pitch
  • Website
  • Phone number
  • Email
  • WhatsApp number
  • Contact person
  • Full address
  • City
  • Country
  • Map link
  • Region
  • Niche
  • Date found
  • Outreach status
  • Last contacted date
  • Notes

Phone numbers, emails, WhatsApp numbers, and websites are only added when the business has publicly listed them in the source data.

The General Leads sheet with Lead ID, Business Name, Business Type, Lead Score, Priority, Opportunity, Missing Details and Suggested Pitch columns

Lead scoring

Businesses receive a higher score when useful information is missing, particularly when no website is listed.

The score helps separate:

  • High-priority prospects
  • Businesses that may need a website
  • Businesses with useful contact information
  • Lower-priority or incomplete results

The minimum score can be changed for each search.

Supported niches

The database contains separate sheets for:

  1. Veterinary clinics
  2. Optometry practices
  3. HVAC, plumbing, and electrical businesses
  4. Med spas
  5. Digital agencies
  6. Micro-SaaS companies
  7. Small manufacturers
  8. Franchises
  9. Defense contractors
  10. Engineering and manufacturing firms
  11. Hotels and apartment owners
  12. Property managers
  13. Specialty food and beverage brands
  14. Food manufacturers
  15. DTC and CPG brands
  16. Medical-device startups
  17. Landowners and developers
  18. Warehouse and factory owners
  19. Care facilities
  20. Industrial-equipment businesses

These sheets are prepared for the full system. Initial data has already been added to several niches, while the remaining sheets will populate when their searches are run.

The Hotels and Apartments niche sheet with UK, Ireland and Pakistan hotels, their scores and contact details, and the niche tabs along the bottom

Database structure

General Leads. The master database contains every qualified business, regardless of niche or country.

Niche sheets. Every lead is also routed into its relevant business category. This makes it possible to work on a particular offer without filtering the complete database every time.

Pakistan High-Value Leads. This is an additional regional view for potentially valuable businesses in Pakistan. These leads still appear in `General Leads` and their niche sheet.

Search Settings. This sheet contains prepared search combinations for all 20 niches across:

  • London, United Kingdom
  • Dublin, Ireland
  • Karachi, Pakistan

It also records the search term, minimum score, result limit, active status, region, and destination sheet.

The Search Settings sheet with prepared niche, search term, country, city, region group, minimum score, result limit, active status and destination tab for each search
The Pakistan High-Value Leads sheet with Karachi agencies, manufacturers, hotels and a care home, each scored and marked high priority

1 / 2

Changing the country, city, or business

For the current live workflow:

  1. Open the n8n workflow.
  2. Open the `Search Criteria` node.
  3. Change the required fields (listed below).
  4. Save the node.
  5. Click `Execute workflow`.

The fields in the `Search Criteria` node:

  • `city`: London, Manchester, Dublin, Karachi, Lahore, etc.
  • `country`: United Kingdom, Ireland, Pakistan, etc.
  • `business_type`: hotel, dentist, veterinarian, digital agency, manufacturer, etc.
  • `niche`: the commercial category being targeted.
  • `region`: UK, Europe, or Pakistan.
  • `destination_sheet`: must exactly match the required Google Sheets tab.
  • `minimum_score`: determines which leads qualify.
  • `result_limit`: maximum number of results requested.

The same workflow can therefore be reused for different markets without rebuilding it.

The `Search Settings` sheet works as the search-planning matrix. The current workflow uses the values inside the n8n `Search Criteria` node for each live run. Reading every active row from `Search Settings` automatically would be the next bulk-search upgrade.

Outreach tracking

Each lead includes a status field with these options:

  • Not Contacted
  • Contacted
  • First Call
  • Follow-up
  • Meeting Scheduled
  • Won
  • Lost

This allows the spreadsheet to work as a lightweight outreach CRM.

The Status column open in Google Sheets showing the Not Contacted, Contacted, First Call, Follow-up, Meeting Scheduled, Won and Lost options

Current results

The current database contains:

  • 74 leads in the master database
  • 30 newly seeded businesses across the UK, Ireland, and Pakistan
  • 9 UK businesses
  • 7 Ireland businesses
  • 14 Pakistan businesses
  • 14 businesses in the Pakistan high-value segment
  • Around 60 businesses without a listed website
  • 20 niche-specific sheets
  • One consolidated master database
  • One editable search-planning sheet

The workflow can request up to 50 businesses per run. The actual number saved depends on available OpenStreetMap data, the qualification score, and duplicate detection.

Tools used

  • n8n for workflow automation
  • Docker for running n8n locally without an n8n subscription
  • OpenStreetMap and Nominatim for business discovery
  • Google Sheets for the live database
  • Google OAuth 2.0 for secure access to the spreadsheet
  • JavaScript inside n8n for cleaning, scoring, and formatting leads

Important limitations

OpenStreetMap is free, but many businesses do not publish their email, phone number, WhatsApp number, owner name, or website there.

The system does not invent missing contact information. For more complete contact data, a future version could add Google Places, company websites, Hunter, Apollo, or another enrichment service.

Search results also depend on the exact search wording. A search for `hotel` may produce more results than a very specific phrase such as `hotel owner looking for EV charging`.

Future improvements

  • Run every active row from `Search Settings` automatically
  • Add scheduled daily or weekly searches
  • Search several cities in one execution
  • Enrich missing email and decision-maker information
  • Send personalized outreach automatically
  • Add follow-up reminders
  • Create a dashboard showing leads by country, niche, priority, and status
  • Measure meetings, wins, losses, and conversion rates