Skip to main content

Local Business Lead Discovery and Enrichment Agent

Workflow preview

Workflow preview
100%
Local Business Lead Discovery and Enrichment Agent preview
Open on n8n.io

1. Workflow Overview

A weekly agent that finds local businesses with weak or missing web presence, and scores them as sales leads for web agencies, freelance developers, and digital consultants. The agent searches loca...

Best for

  • Lead Generation automation workflows
  • AI Summarization automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

@n8n/n8n-nodes-langchain.agent, @n8n/n8n-nodes-langchain.lmchatopenai, n8n-nodes-base.code, @mendable/n8n-nodes-firecrawl.firecrawltool, n8n-nodes-base.stickynote, n8n-nodes-base.gmail, n8n-nodes-base.aggregate, n8n-nodes-base.postgres

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Naz Akgül.

Original n8n.io source

1.1 Workflow description

Title
Local Business Lead Discovery and Enrichment Agent
Workflow name
Local Business Lead Discovery and Enrichment Agent

A weekly agent that finds local businesses with weak or missing web presence, and scores them as sales leads for web agencies, freelance developers, and digital consultants.

The agent searches local business directories in your target area. It scrapes each business website with Firecrawl, evaluates quality signals, scores opportunity as High / Medium / Low, deduplicates against a database so you never process the same business twice, and sends you a clean weekly email with fresh leads ready to act on.


What problem is it solving?

Finding clients who genuinely need your help is the hardest part of running a web agency or freelance business. Cold outreach to random businesses wastes time. This workflow automates prospecting: it identifies businesses that have strong reviews but a weak digital presence.

The deduplication layer means every lead in your inbox is genuinely new. The scoring system means you can focus on High-opportunity leads first and work down as needed.


What this workflow does

  1. Triggers on a weekly schedule (Mondays at 9:00 AM)
  2. Randomises the search seed each run to explore different categories and areas, reducing repetition across weeks
  3. AI agent searches local business directories for target business types in the configured area
  4. Firecrawl scrapes each business website to evaluate quality signals:
  • Mobile-friendliness
  • Outdated design indicators
  • Missing key pages (contact, services, booking)
  • Tech signals (old frameworks, no HTTPS)
  • Freshness (last updated, stale content)
  1. Scores each lead as High / Medium / Low opportunity, with a written reason for why it's a lead
  2. Deduplicates against the marco_leads Postgres table — businesses already in the database are skipped
  3. Saves new leads to the database with full enrichment data
  4. Sends a Gmail digest with the week's new leads, formatted for quick review

Setup

  1. Create the database table — run the SQL provided in the workflow's sticky note to create the marco_leads table in Supabase (or any Postgres database)
  2. Connect Postgres credentials — point them at your Supabase project
  3. Connect Firecrawl credentials — used for directory and website scraping
  4. Connect OpenAI credentials — used by the AI agent for discovery and scoring
  5. Configure Gmail — set your Gmail address in the Gmail node as the sender and recipient
  6. Adjust the target parameters — update the AI agent's instructions with your preferred city, radius, and business types
  7. Activate the workflow — it will run automatically every Monday at 9:00 AM

How to customize this workflow to your needs

  • Change the target location — update the city and radius in the AI agent prompt; the workflow works for any geography
  • Change business types — swap dentists, salons, gyms, and restaurants for any local business category relevant to your market (e.g. lawyers, accountants, florists)
  • Adjust lead scoring criteria — modify the agent prompt to emphasise the signals that matter most to your outreach strategy
  • Change the output — replace the Gmail node with a Slack message, a Notion database entry, or a CRM webhook to slot leads directly into your sales pipeline
  • Change the schedule — run it daily for higher volume, or bi-weekly if you have a smaller target area
  • Add enrichment — extend the workflow with a phone/email lookup step after scoring to enrich High-opportunity leads with contact details before they hit your inbox
  • Filter by opportunity score — add a filter node before the Gmail step to only send High-opportunity leads, saving review time when volume is high

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - AI Agent — enrichment

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.7

Block 2 - GPT-5.

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenAi - lmChatOpenAi
Config choices
Version 1.3

Block 3 - Enrich Selected 10 — Parse

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 4 - Enrich Selected 10 — Scrape Website

Type / Role
@mendable/n8n-nodes-firecrawl.firecrawlTool - firecrawlTool
Config choices
Version 1

Block 5 - Enrich Selected 10 — Scrape Listing

Type / Role
@mendable/n8n-nodes-firecrawl.firecrawlTool - firecrawlTool
Config choices
Version 1

Block 6 - Enrich Selected 10 — Prep

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 7 - Compute Fingerprint

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 8 - Parse Refill Output

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 9 - AI Agent — Discover Fresh

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.7

Block 10 - /search in Firecrawl

Type / Role
@mendable/n8n-nodes-firecrawl.firecrawlTool - firecrawlTool
Config choices
Version 1

Block 11 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 12 - GPT-5.1

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenAi - lmChatOpenAi
Config choices
Version 1.3

Block 13 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 14 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 15 - /scrape in Firecrawl

Type / Role
@mendable/n8n-nodes-firecrawl.firecrawlTool - firecrawlTool
Config choices
Version 1

Block 16 - Sticky Note — Overview

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - Gmail — Send Weekly Summary

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.1

Block 18 - Build Email HTML

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 19 - Aggregate New Leads

Type / Role
n8n-nodes-base.aggregate - aggregate
Config choices
Version 1

Block 20 - Postgres — Insert Lead

Type / Role
n8n-nodes-base.postgres - postgres
Config choices
Version 2.5

Block 21 - Schedule Trigger

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.2

Block 22 - Rotation Seed

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 23 - Fetch Seen Fingerprints

Type / Role
n8n-nodes-base.postgres - postgres
Config choices
Version 2.5

Block 24 - Filter Unseen (Top 10)

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

3. Summary Table

Workflow Local Business Lead Discovery and Enrichment Agent
Complexity advanced
Nodes 24
Categories Lead Generation, AI Summarization
Author Naz Akgül
Published 30 Apr 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/15411/15411.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Local Business Lead Discovery and Enrichment Agent do?

A weekly agent that finds local businesses with weak or missing web presence, and scores them as sales leads for web agencies, freelance developers, and digital consultants. The agent searches loca...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Lead Generation, AI Summarization use case.