This workflow scrapes Google Maps via Decodo API, analyzes each business using Google Gemini 2.5 Flash, scores lead quality, and generates ready to send outreach emails.
Time Savings: Reduces manual lead research from 20 minutes per lead to 30 seconds processing 100 leads in under an hour
Cost Reduction: Eliminates $300-500/month spent on lead databases and enrichment tools like Apollo or ZoomInfo
Scalability: Process 500+ leads daily without additional staff or subscription costs
| Requirement | Type | Purpose |
|---|---|---|
| n8n instance | Essential | Workflow execution platform |
| Decodo Scraper API | Essential | Google Maps data extraction (get key at dashboard.decodo.com) |
| Google Gemini API | Essential | AI-powered lead analysis and scoring |
| Google Sheets | Essential | Lead database and outreach tracking |
| Telegram Bot (optional) | Optional | Real-time error notifications |
Import the JSON file to your n8n instance
Configure credentials:
Authorization and value Basic [YOUR_API_KEY] get from Decodo dashboardYOUR-CHAT-ID in "Send Error Notification" nodeUpdate environment-specific values:
searchQuery (e.g., "Italian restaurants in Miami"), country, targetLanguage, and resultsLimitCustomize settings:
Test execution:
resultsLimit: 5 to verify all connections work| Node | Purpose | Key Configuration |
|---|---|---|
| Decodo Maps Scraper | Fetches Google Maps listings via API | Set target: google_maps, adjust page_to based on resultsLimit |
| Parse & Normalize Data | Extracts business data from HTML | Custom JavaScript handles multiple response formats |
| Lead Enrichment (AI Chain) | Analyzes leads with Gemini 2.5 Flash | Structured output parser ensures JSON compliance |
| Filter Hot Leads | Isolates high-quality prospects | Combines lead score ≥7 + contact info validation |
| Save to Google Sheets | Stores all enriched leads | Uses appendOrUpdate with id as matching column |
| Save Outreach To Sheets | Updates hot leads with messages | Marks leads as "HOT" category for prioritization |
searchQuery, country, targetLanguage in "Set Search Parameters" to target different markets (supports all Google Maps locales)≥7 to ≥6 for broader lead pool or ≥8 for ultra-qualified prospects| Problem | Cause | Solution |
|---|---|---|
| "No valid leads extracted" error | Decodo response format changed or empty results | Check Decodo API response in "Parse & Normalize Data" execution logs; verify search query returns results in Google Maps manually |
| AI enrichment produces invalid JSON | Gemini output doesn't match schema | Review "Result Parser" schema; add retry logic or simplify AI prompt to reduce complexity |
| Google Sheets "matching column not found" | Spreadsheet missing "id" column header | Ensure Sheet1 has headers: id, businessName, category, address, phone, website, rating, reviewCount, valueProposition, painPoints, outreachHook, leadScore, engagementStrategy, googleMapsUrl, scrapedAt, enrichedAt, outreachMessage, status |
| Timeout on large batches | Processing 100+ leads exceeds execution limits | Reduce resultsLimit to 25-50; run workflow multiple times with different queries |
Challenge: Agency needs 200 qualified restaurant leads monthly for web design services, spending 40 hours on manual research
Solution: Configure workflow with query "restaurants in [city]" filtered by ratings ≥4.0 and missing professional websites (AI scoring detects this)
Result: Generated 312 leads in 8 hours across 3 cities; 89 scored ≥8 (hot prospects); closed 14 clients in first month at $2,500 average contract value
Challenge: Booking software startup targeting salons/spas in new geographic market with zero existing contacts
Solution: Ran workflow with "beauty salons in Denver" + "day spas in Denver"; AI identified pain points like "manual appointment booking" and "no online presence"
Result: 156 leads enriched in 2 days; personalized outreach hooks increased demo booking rate from 2% (cold template) to 11%; secured 8 pilot customers in 3 weeks
Challenge: POS system reseller needs to identify retail stores still using cash registers, wasting days driving to scout locations
Solution: Configured workflow for "retail stores in [neighborhood]" with AI analyzing reviews for mentions of "cash only" or payment friction
Result: Identified 47 high-probability prospects in 90 minutes; field sales team prioritized top 15 leads (score ≥9), closed 6 deals worth $32K total revenue
Created by: Khaisa Studio
Category: Sales & CRM | Tags: lead-generation, google-maps, ai-enrichment, sales-automation, prospecting
Need custom workflows? Contact us
Connect with the creator: