Skip to main content

Enrich Google Maps business leads using Apify, OpenAI, Jina AI, Telegram and Sheets

Workflow preview

Workflow preview
100%
Enrich Google Maps business leads using Apify, OpenAI, Jina AI, Telegram and Sheets preview
Open on n8n.io

1. Workflow Overview

Automate your B2B lead generation by scraping Google Maps, generating AI business summaries, and extracting hidden contact emails from websites, all triggered via Telegram. Why Use This Workflow? T...

Best for

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

Tools used

@apify/n8n-nodes-apify.apify, n8n-nodes-base.removeduplicates, n8n-nodes-base.splitinbatches, n8n-nodes-base.googlesheets, n8n-nodes-base.wait, n8n-nodes-base.telegramtrigger, n8n-nodes-base.code, n8n-nodes-base.telegram

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Khairul Muhtadin.

Original n8n.io source

1.1 Workflow description

Title
Enrich Google Maps business leads using Apify, OpenAI, Jina AI, Telegram and Sheets
Workflow name
Enrich Google Maps business leads using Apify, OpenAI, Jina AI, Telegram and Sheets

Automate your B2B lead generation by scraping Google Maps, generating AI business summaries, and extracting hidden contact emails from websites, all triggered via Telegram.

Why Use This Workflow?

Time Savings: Reduces lead research time from 4 hours of manual searching to 5 minutes of automated execution per 50 leads.

Cost Reduction: Replaces expensive monthly lead database subscriptions with a pay-as-you-go model using Apify and OpenAI.

Error Prevention: Uses AI to deduplicate results and ensure company summaries are professional and consistent for your CRM.

Scalability: Allows you to trigger massive scraping tasks from your mobile phone via Telegram while the backend handles the heavy lifting.

Ideal For

  • Sales Development Reps (SDRs): Rapidly building targeted lists of local businesses for cold outreach or door-knocking campaigns.
  • Marketing Agencies: Identifying new businesses in specific sectors (e.g., "Dentists in Paris") to offer SEO or advertising services.
  • Real Estate Investors: Finding specific commercial properties or business types in a geographic area to identify investment opportunities.

How It Works

  1. Trigger: The workflow starts when you send a message to your Telegram bot in the format: Sector; Limit; MapsURL.
  2. Data Collection: n8n parses these parameters and triggers an Apify Actor to scrape Google Maps for business details.
  3. Processing: The workflow retrieves the results, removes duplicate entries, and begins a loop to process each business.
  4. Intelligence Layer (Summary): OpenAI analyzes the business data to create a natural, human-like summary of the company.
  5. Enrichment (Email Hunting): If the business has a website, Jina AI fetches the page content, and OpenAI extracts the most authoritative contact email.
  6. Output & Delivery: Core data is upserted into Google Sheets, and the email is updated once found. A "DONE" notification is sent to Telegram upon completion.

Setup Guide

Prerequisites

Requirement Type Purpose
n8n instance Essential Workflow execution and logic
Apify Account Essential Scrapes Google Maps data
OpenAI API Key Essential Generates summaries and extracts emails
Google Sheets Essential Data storage and lead management
Telegram Bot Essential User interface for triggering searches
Jina AI Key Essential Converts websites to LLM-friendly Markdown

Installation Steps

  1. Import the JSON file into your n8n instance.
  2. Configure credentials:
  • Telegram: Create a bot via @BotFather and add your token to the Telegram nodes.
  • Apify: Provide your API token to the "Run Maps Scraper" and "Fetch Dataset" nodes.
  • OpenAI: Add your API key to the enrichment nodes.
  • Google Sheets: Connect your Google account and select your target Spreadsheet ID.
  1. Set up the Sheet: Ensure your Google Sheet has headers matching the "Upsert" node (Title, Email, Category, Website, etc.).
  2. Test execution: Send a message like Coffee Shops; 5; https://www.google.com/maps/search/coffee+shops+london to your bot.

Technical Details

Core Nodes

Node Purpose Key Configuration
Telegram Trigger Captures user input Listens for /message updates
Apify Node Executes Maps Scraper Uses nwua9Gu5YrADL7ZDj actor ID
OpenAI Node AI Analysis Configured for JSON output (Summary) and extraction (Email)
Jina AI Web Scraping Converts HTML to Markdown for AI readability
Google Sheets Database Uses Append or Update based on the business Title

Workflow Logic

The workflow utilizes a Split In Batches loop to ensure stability. It first performs a "shallow" save of business details (name, phone, address) and then attempts a "deep" enrichment only if a website URL is detected. This two-stage approach ensures you don't lose data if a website crawl fails.

Customization Options

Basic Adjustments:

  • Rate Limit: Adjust the "Wait" node duration (default 2s) to comply with Google Sheets or API limits.
  • Language: Modify the OpenAI prompt to generate summaries in your preferred language (e.g., English, French, Spanish).

Advanced Enhancements:

  • CRM Integration: Replace Google Sheets with HubSpot or Pipedrive for direct lead injection.
  • Slack Notifications: Send the final lead list or business summary directly to a sales channel.
  • Auto-Emailer: Add a Gmail/Outlook node to automatically send an introductory email once a lead is found.

Troubleshooting

Common Issues:

Problem Cause Solution
Empty Email column Website protected by bot-blockers Try a different scraper or use a proxy in Jina AI
Apify Timeout Scraping limit set too high Lower the "limit" parameter in your Telegram message
429 Errors Google Sheets rate limits Increase the duration in the "Wait Rate Limit" node

Use Case Examples

Scenario 1: Local SEO Agency

Challenge: Finding local contractors with poor reviews but high revenue potential. Solution: Use the workflow to scrape "Plumbers" in a city, use AI to summarize their online presence, and collect emails. Result: A curated list of 100 leads with contact info and a "Pitch" summary generated in minutes.

Scenario 2: SaaS Cold Outreach

Challenge: Getting the direct email of a business owner for a new booking software. Solution: Trigger the scraper via Telegram while in the field. The workflow extracts the "authoritative" email (manager/owner) from their site. Result: Accurate, high-intent lead data delivered directly to a master spreadsheet for the sales team.


Created by: Khaisa Studio Category: Marketing | Tags: Lead Gen, AI, Google Maps, Telegram Need custom workflows? Contact us

Connect with the creator: PortfolioWorkflowsLinkedInMediumThreads

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 - Fetch Dataset Items

Type / Role
@apify/n8n-nodes-apify.apify - apify
Config choices
Version 1

Block 2 - Deduplicate Places

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

Block 3 - Run Maps Scraper

Type / Role
@apify/n8n-nodes-apify.apify - apify
Config choices
Version 1

Block 4 - Process Each Place

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 5 - Upsert Places to Sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 6 - Wait Rate Limit

Type / Role
n8n-nodes-base.wait - wait
Config choices
Version 1.1

Block 7 - Receive Telegram Input

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

Block 8 - Parse Input Parameters

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

Block 9 - Send Done Notification

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

Block 10 - Select Website URL

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 11 - Extract Website Email

Type / Role
@n8n/n8n-nodes-langchain.openAi - openAi
Config choices
Version 1.8

Block 12 - Update Email in Sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 13 - Generate Company Summary

Type / Role
@n8n/n8n-nodes-langchain.openAi - openAi
Config choices
Version 1.8

Block 14 - Website URL Exists?

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

Block 15 - Fetch Website Content

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

Block 16 - Sticky Note

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

Block 17 - Sticky Note1

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

Block 18 - Sticky Note2

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

Block 19 - Sticky Note3

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

Block 20 - Sticky Note4

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

3. Summary Table

Workflow Enrich Google Maps business leads using Apify, OpenAI, Jina AI, Telegram and Sheets
Complexity advanced
Nodes 20
Categories Lead Generation, AI Summarization
Author Khairul Muhtadin
Published 22 Feb 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/13580/13580.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 Enrich Google Maps business leads using Apify, OpenAI, Jina AI, Telegram and Sheets do?

Automate your B2B lead generation by scraping Google Maps, generating AI business summaries, and extracting hidden contact emails from websites, all triggered via Telegram. Why Use This Workflow? T...

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.