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

⚡ 32 views · 🎣 Lead Generation & Enrichment

💡 Pro Tip — HTTP Request scraping tends to break when sites update their markup. If you’re scraping a major platform, check if ScraperNode covers it — it has maintained scrapers for LinkedIn, Instagram, TikTok, YouTube, and 20+ other platforms that return structured data.

View All Scrapers

Description

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

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

RequirementTypePurpose
n8n instanceEssentialWorkflow execution and logic
Apify AccountEssentialScrapes Google Maps data
OpenAI API KeyEssentialGenerates summaries and extracts emails
Google SheetsEssentialData storage and lead management
Telegram BotEssentialUser interface for triggering searches
Jina AI KeyEssentialConverts 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.
  3. Set up the Sheet: Ensure your Google Sheet has headers matching the “Upsert” node (Title, Email, Category, Website, etc.).
  4. 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

NodePurposeKey Configuration
Telegram TriggerCaptures user inputListens for /message updates
Apify NodeExecutes Maps ScraperUses nwua9Gu5YrADL7ZDj actor ID
OpenAI NodeAI AnalysisConfigured for JSON output (Summary) and extraction (Email)
Jina AIWeb ScrapingConverts HTML to Markdown for AI readability
Google SheetsDatabaseUses 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:

Advanced Enhancements:

Troubleshooting

Common Issues:

ProblemCauseSolution
Empty Email columnWebsite protected by bot-blockersTry a different scraper or use a proxy in Jina AI
Apify TimeoutScraping limit set too highLower the “limit” parameter in your Telegram message
429 ErrorsGoogle Sheets rate limitsIncrease 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:
Portfolio • Workflows • LinkedIn • Medium • Threads

đź”— Nodes Used

Google Sheets, Telegram, Telegram Trigger, OpenAI, Jina AI

📥 Import

Download workflow.json and import into n8n: Workflow menu → Import from File

📖 Importing guide · 🔑 Credential setup