Google Maps leads (names,emails,phones...) Apify + Airtable + Custom Emails

Who is it for?

This workflow is perfect for anyone who wants to:

Automatically collect contacts from Google Maps**: emails, phone numbers, websites, social media (LinkedIn, Facebook), city, ratings, and reviews.
Organize everything neatly in Airtable**, without dealing with messy CSV exports that cause headaches.
Send a personalized email to each lead**, without writing it or hitting “send” yourself.

👉 In short, it’s the perfect tool for marketing agencies, freelancers in prospecting, or sales teams tired of endless copy-paste.

If you want to automate manual tasks, visit our French agency 0vni – Agence automatisation.

How does it work?

Here’s the pipeline:

Scrape Google Maps with Apify (business name, email, website, phone, LinkedIn, Facebook, city, rating, etc.).
Clean and map the data so everything is well-structured (Company, Email, Phone, etc.).
Send everything into Airtable to build a clear, filterable database.
Trigger an automatic email via Gmail, personalized for each lead.

👉 The result: a real prospecting machine for local businesses.

What you need before starting

✅ An Apify account (for Google Maps scraping).
✅ An Airtable account with a prepared base (see structure below).
✅ A Gmail account (to send automatic emails).

Airtable Base Structure

Your table should contain the following columns:

| Company | Email | Phone Number | Website | LinkedIn | Facebook | City | Category | Google Maps Reviews | Google Maps Link | | ------- | ---------------------------------------- | ----------------- | -------------------------------------------- | -------------- | -------------- | ---------------- | ---------------- | ------------------- | ----------------- | | 4 As | contact@4-as.fr | +33 1 89 36 89 00 | https://www.4-as.fr/ | linkedin.com/… | facebook.com/… | 94100 Saint-Maur | training, center | 48 reviews / 5 ★ | maps.google.com/… |

Detailed Workflow Steps

Step 1 – GO Trigger
Node**: Manual Trigger
Purpose**: Start the workflow manually.
👉 You can replace this trigger with a Webhook (to launch the flow via a URL) or a Cron (to run it automatically on a schedule).

Step 2 – Scrape Google Maps

Node**: HTTP Request
Method**: POST

Where to find the Apify URL?
Go to Google Maps Email Leads Fast Scraper
Click on API (top right)
Open API Endpoints
Copy the URL of the 3rd option: Run Actor synchronously and get dataset items

👉 This URL already includes your Apify API token.

Body Content Type: JSON
Body JSON (example)**:

Body Content Type**: JSON
Body JSON (example)**:

{
"area_height": 10,
"area_width": 10,
"emails_only": true,
"gmaps_url": "https://www.google.com/maps/search/training+centers+near+Amiens/",
"max_results": 200,
"search_query": "training center"
}

Step 3 – Wait

Node**: Wait
Purpose**: Give the scraper enough time to return data.
Recommended delay*: *10 seconds (adjust if needed).

👉 This ensures that Apify has finished processing before we continue.

Step 4 – Mapping

Node**: Set
Purpose**: Clean and reorganize the raw dataset into structured fields that match Airtable columns.

Assignments (example):

Company = {{ $json.name }}
Email = {{ $json.email }}
Phone = {{ $json.phone_number }}
Website = {{ $json.website_url }}
LinkedIn = {{ $json.linkedin }}
Facebook = {{ $json.facebook }}
City = {{ $json.city }}
Category = {{ $json.google_business_categories }}
Google Maps Reviews = {{ $json.reviews_number }} reviews, rating {{ $json.review_score }}/5
Google Maps Link = {{ $json.google_maps_url }}

👉 Result: The data is now clean and ready for Airtable.

Step 5 – Airtable Storage

Node**: Airtable → Create Record
Parameters**:
Credential to connect with: Airtable Personal Access Token account
Resource: Record
Operation: Create
Base: Select from list → your base (example: GOOGLE MAPS SCRAPT)
Table: Select from list → your table (example: Google maps scrapt)
Mapping Column Mode: Map Each Column Manually

👉 To get your Base ID and Table ID, open your Airtable in the browser:
https://airtable.com/appA6eMHOoquiTCeO/tblZFszM5ubwwSYDK

Here:
Base ID = appA6eMHOoquiTCeO
Table ID = tblZFszM5ubwwSYDK

Authentication

Go to: https://airtable.com/create/tokens
Create a new Personal Access Token
Give it access to the correct base
Copy the token into n8n credentials (select Airtable Personal Access Token).

Field Mapping (example)

Company: {{ $json['Company'] }}
Email: {{ $json.Email }}
Phone: {{ $json['Phone'] }}
Website: {{ $json['Website'] }}
LinkedIn: {{ $json.LinkedIn }}
Facebook: {{ $json.Facebook }}
City: {{ $json.City }}
Category: {{ $json['Category'] }}
Google Maps Reviews: {{ $json['Google Maps Reviews'] }}
Google Maps Link: {{ $json['Google Maps Link'] }}

👉 Result: Each lead scraped from Google Maps is automatically saved into Airtable, ready to be filtered, sorted, or used for outreach.

Step 6 – Automatic Email

Node**: Gmail → Send Email
Parameters**:
To: = {{ $json.fields.Email }}
Subject: = {{ $json.fields['Company'] }}
Message: HTML email with dynamic lead details.

Example HTML message:

Hello {{ $json.fields['Company'] }} team,

I design custom automations for training centers.
Goal: zero repetitive manual tasks, from registration to invoicing.

Details: {{ $json.fields['Company'] }} in {{ $json.fields.City }} — website: {{ $json.fields['Website'] }} — {{ $json.fields['Google Maps Reviews'] }}

Interested in a quick 15-min call to see a live demo?

👉 Result: Each contact receives a fully personalized email with their company name, city, website, and Google Maps rating.

Final Result

With just one click:
Scrape Google Maps (Apify).
Clean and structure the data (Set).
Save everything into Airtable.
Send personalized emails via Gmail.

👉 All without copy-paste, without CSV, and without Excel headaches.

0
Downloads
243
Views
8.14
Quality Score
beginner
Complexity
Author:Baptiste Fort(View Original →)
Created:9/10/2025
Updated:11/17/2025

🔒 Please log in to import templates to n8n and favorite templates

Workflow Visualization

Loading...

Preparing workflow renderer

Comments (0)

Login to post comments