Resources
9 déc. 2025
Automatiser la génération de leads locaux avec Google Maps et l'IA



Merci de m'avoir écouté tout à l'heure.
Je suis peut-être parti un peu trop dans le technique. C'est pour ça que je vous ai préparé ce tuto complet pour mettre l'automatisation en place, étape par étape.
L'idée est simple : récupérer des leads locaux automatiquement, enrichir leurs emails, et générer des messages personnalisés avec l'IA. Sans payer d'abonnement. Sans intervention manuelle.
Concrètement, le workflow fait tout :
Scrape Google Maps via Serper
Récupère nom, téléphone, site web, avis des entreprises
Extrait les emails en scrapant leurs sites
Génère un email personnalisé avec ChatGPT
Crée un brouillon Gmail prêt à envoyer
Tout tourne sur n8n.
Je vais vous montrer comment installer ça de A à Z.
Pas le temps de suivre le tuto ?
Base Airtable : Accéder à la base
Workflow n8n : Télécharger
Importez, connectez, lancez.
Les outils dont vous avez besoin
Avant de commencer, voici la liste complète des outils à préparer. Tout est gratuit ou avec un plan gratuit suffisant pour démarrer.
1. n8n (Automatisation)
Ce que ça fait : Orchestre tout le workflow automatiquement - de la récupération des leads jusqu'à la création des emails personnalisés.
Prix :
Gratuit en self-hosted (sur votre serveur)
20€/mois en cloud (hébergement géré par n8n)
Comment l'installer :
Option Cloud (recommandé pour débuter) : Allez sur n8n.io, cliquez sur "Get Started", créez votre compte. Vous avez accès direct à l'interface.
Option Self-hosted : Si vous avez un serveur ou utilisez Docker, suivez la doc officielle sur docs.n8n.io
2. Serper.dev (Scraping Google Maps)

Ce que ça fait : Récupère les entreprises locales depuis Google Maps (nom, téléphone, site web, avis, adresse...). C'est l'alternative gratuite à Google Places API.
Prix :
2 500 recherches gratuites/mois (largement suffisant pour démarrer)
Ensuite 50$/1000 requêtes supplémentaires
Comment créer votre compte et récupérer la clé API :
Allez sur serper.dev
Cliquez sur "Sign up" en haut à droite
Inscrivez-vous avec votre email ou Google
Une fois connecté, allez dans votre Dashboard
Cliquez sur "API Key" dans le menu de gauche
Copiez votre clé API (elle ressemble à
abc123def456...)Gardez cette clé précieusement, vous en aurez besoin dans n8n
Astuce : Serper donne 2 500 crédits gratuits. Chaque recherche Google Maps = 1 crédit. Si vous faites 10 pages de 20 résultats, ça fait 200 leads pour 10 crédits seulement.
3. Airtable (Base de données)

Ce que ça fait : Stocke tous vos leads dans une base de données visuelle (nom, téléphone, email, site web, note Google, nombre d'avis...). C'est comme un Excel en ligne mais bien plus puissant.
Prix : Gratuit jusqu'à 1 000 records par base (largement suffisant pour commencer)
Comment créer votre compte et récupérer le token :
Allez sur airtable.com
Cliquez sur "Sign up for free"
Créez votre compte
Importez la base Airtable fournie : Lien de la base
Maintenant, récupérez votre Personal Access Token :
Créer un Personal Access Token Airtable
Cliquez sur "Create new token"
Donnez-lui un nom (ex: "n8n automation")
Dans Scopes, sélectionnez :
data.records:read,data.records:write,schema.bases:readDans Access, sélectionnez votre base "Lead Prospection"
Cliquez sur "Create token"
Copiez le token (il ne sera plus visible après)
4. OpenAI (IA pour personnalisation)

Ce que ça fait : Analyse le site web de chaque lead et génère un email ultra-personnalisé qui montre que vous avez vraiment compris leur activité.
Prix :
~0,10$/100 emails avec GPT-4o-mini (le modèle le moins cher et suffisant)
Il faut mettre minimum 5$ de crédit pour commencer
Comment créer votre compte et récupérer la clé API :
Allez sur platform.openai.com
Cliquez sur "Sign up" et créez votre compte
Une fois connecté, allez dans "Settings" (roue crantée en haut à droite)
Cliquez sur "Billing" dans le menu de gauche
Ajoutez un mode de paiement et mettez minimum 5$ de crédit
Retournez sur le Dashboard
Cliquez sur "API keys" dans le menu de gauche
Cliquez sur "Create new secret key"
Donnez-lui un nom (ex: "n8n automation")
Copiez la clé immédiatement (format :
sk-proj-...)Gardez cette clé en sécurité, elle ne sera plus visible
Astuce : Avec 5$, vous pouvez générer environ 5 000 emails personnalisés avec GPT-4o-mini. Largement de quoi tester.
5. Gmail (Envoi des emails)

Ce que ça fait : Crée automatiquement des brouillons d'emails dans votre Gmail, prêts à être envoyés. Vous gardez le contrôle total avant l'envoi.
Prix : Gratuit (vous avez juste besoin d'un compte Gmail)
Comment connecter Gmail à n8n :
La configuration Gmail OAuth nécessite quelques étapes sur Google Cloud Console. Plutôt que de tout expliquer ici, suivez ce tutoriel vidéo de 5 minutes qui montre exactement comment faire :
👉 Setup Google Credentials in n8n (Gmail, Sheets & Drive)
Importer le workflow dans n8n
Maintenant que vous avez tous les outils prêts, on va importer le workflow complet dans n8n.
Télécharger le workflow

Avant tout, téléchargez le fichier du workflow :
Le fichier s'appelle SCRAPTING-LEADS.json. Gardez-le sous la main, on va l'importer dans n8n.
Importer dans n8n
Ouvrez n8n (votre instance cloud ou self-hosted)
En haut à droite, cliquez sur le bouton orange "Create workflow"

Cliquez sur les 3 petits points (menu) en haut à droite

Sélectionnez "Import from File..."

Sélectionnez le fichier SCRAPTING-LEADS.json que vous venez de télécharger

Cliquez sur "Ouvrir"
✅ Le workflow est maintenant importé ! Vous devriez voir tous les nodes (blocs) du workflow s'afficher.

Connecter vos APIs au workflow
1. HTTP Request (Serper) - Scraping Google Maps

Ce node récupère les entreprises depuis Google Maps.
Étapes :
Cliquez sur le node "HTTP Request" (le premier après "Code in JavaScript")
Descendez jusqu'à "Authentication"
Sélectionnez "Generic Credential Type"
Dans "Generic Auth Type", sélectionnez "Header Auth"
Cliquez sur le menu déroulant à côté et sélectionnez "Create New Credential"
Une fenêtre s'ouvre :
Name : mettez "serper" (ou ce que vous voulez)
Header Name : tapez exactement
X-API-KEYValue : collez votre clé API Serper (celle que vous avez récupérée sur serper.dev)
Cliquez sur "Save"
✅ Serper est connecté ! Le node va maintenant pouvoir scraper Google Maps.
2. Create or update a record (Airtable) - Sauvegarde des leads

Ce node enregistre les leads dans votre base Airtable.
Étapes :
Cliquez sur le node "Create or update a record"
À côté de "Credential to connect with", cliquez sur le menu déroulant
Sélectionnez "Create New Credential"
Sélectionnez "Airtable Personal Access Token"
Une fenêtre s'ouvre :
Access Token : collez votre token Airtable (celui que vous avez créé sur airtable.com/create/tokens)
Cliquez sur "Save"
Le workflow va automatiquement détecter votre base Airtable
Dans "Base", sélectionnez "Lead Prospection" (ou le nom de votre base)
Dans "Table", sélectionnez "Leads"
✅ Airtable est connecté ! Les leads seront automatiquement enregistrés dans votre base.
5. Message a model (OpenAI) - Génération des emails personnalisés

Ce node utilise ChatGPT pour analyser les sites web et générer des emails ultra-personnalisés.
Étapes :
Cliquez sur le node "Message a model"
À côté de "Credential to connect with", cliquez sur le menu déroulant
Sélectionnez "Create New Credential"
Sélectionnez "OpenAI API"
Une fenêtre s'ouvre :
API Key : collez votre clé API OpenAI (celle qui commence par
sk-proj-...)
Cliquez sur "Save"
Dans "Model", vérifiez que "gpt-4o-mini" est sélectionné (c'est le moins cher)
✅ OpenAI est connecté ! L'IA va générer des emails personnalisés pour chaque lead.
6. Create a draft (Gmail) - Création des brouillons

Ce node crée automatiquement un brouillon Gmail pour chaque lead.
Étapes :
Cliquez sur le node "Create a draft"
À côté de "Credential to connect with", cliquez sur le menu déroulant
Sélectionnez "Create New Credential"
Sélectionnez "Gmail OAuth2 API"
Ici, vous devez avoir déjà créé vos identifiants Google Cloud (suivez la vidéo : Setup Google Credentials)
Une fenêtre s'ouvre :
Client ID : collez le Client ID que vous avez récupéré sur Google Cloud Console
Client Secret : collez le Client Secret
OAuth Redirect URL : copiez cette URL (vous l'avez déjà ajoutée dans Google Cloud Console normalement)
Cliquez sur "Save"
Cliquez sur "Connect my account"
Une fenêtre Google s'ouvre : sélectionnez votre compte Gmail
Autorisez les permissions demandées
✅ Connexion réussie !
Configurer vos paramètres de recherche
Maintenant que toutes vos APIs sont connectées, vous devez configurer ce que vous voulez chercher : quelle ville, quel secteur d'activité, combien de résultats...
1. Définir votre recherche (Node "HTTP Request" - Serper)
C'est ici que vous allez dire à Serper quoi chercher sur Google Maps.

Étapes :
Cliquez sur le node "HTTP Request" (celui qui appelle Serper)
Descendez jusqu'à "Body Parameters" (ou "JSON Body" selon votre version)
Vous verrez un code JSON qui ressemble à ça :
json{ "q": "BTP", "gl": "fr", "hl": "fr", "tbs": "qdr:y", "location": "Paris, France", "num": 20, "page": {{ $json.page }} }
Voici ce que signifie chaque paramètre :
Paramètre | Description | Exemple |
|---|---|---|
"q" | Le secteur d'activité / mot-clé recherché |
|
"location" | La ville ou zone géographique |
|
"gl" | Le pays (code ISO) |
|
"hl" | La langue des résultats |
|
"num" | Nombre de résultats par page (max 20) |
|
"tbs" | Filtre temporel (optionnel) |
|
"page" | Numéro de la page | Ne pas toucher (géré automatiquement) |
2. Personnaliser votre recherche
Exemple 1 : Vous voulez des salons de coiffure à Lyon
Modifiez le JSON comme ceci :
json{ "q": "salon de coiffure", "gl": "fr", "hl": "fr", "tbs": "qdr:y", "location": "Lyon, France", "num": 20, "page": {{ $json.page }} }
Exemple 2 : Vous voulez des restaurants à Marseille
json{ "q": "restaurant", "gl": "fr", "hl": "fr", "tbs": "qdr:y", "location": "Marseille, France", "num": 20, "page": {{ $json.page }} }
Exemple 3 : Vous voulez des entreprises BTP à Paris
json{ "q": "BTP", "gl": "fr", "hl": "fr", "tbs": "qdr:y", "location": "Paris, France", "num": 20, "page": {{ $json.page }} }
3. Définir le nombre de pages à scraper (Node "Code in JavaScript")
Par défaut, le workflow récupère 10 pages de résultats, soit 200 leads (10 pages × 20 résultats).
Si vous voulez changer le nombre de pages :
Cliquez sur le node "Code in JavaScript" (le tout premier)
Vous verrez ce code :
javascriptconst items = []; for (let page = 1; page <= 10; page++) { items.push({ json: { page } }); } return items;
Changez le nombre 10 par ce que vous voulez :
5 pages = 100 leads →
page <= 520 pages = 400 leads →
page <= 2050 pages = 1000 leads →
page <= 50
Exemple : Pour récupérer 500 leads (25 pages)
javascriptconst items = []; for (let page = 1; page <= 25; page++) { items.push({ json: { page } }); } return items;
Cliquez sur "Save"
4. Filtrer les types de sites web (Node "Code in JavaScript1")
Ce node filtre automatiquement les leads pour garder seulement ceux avec téléphone + site web, et exclut Facebook, Instagram, Google Maps.
C'est déjà configuré, vous n'avez rien à toucher ici !
Mais si vous voulez ajouter d'autres domaines à exclure :
Cliquez sur le node "Code in JavaScript1"
Cherchez cette partie du code :
javascriptconst isUnwantedDomain = websiteLower.includes('google.com') || websiteLower.includes('google.fr') || websiteLower.includes('instagram.com') || websiteLower.includes('facebook.com') || websiteLower.includes('fb.com') || websiteLower.includes('planity.com') || websiteLower.includes('booksy.com');
Ajoutez une ligne pour exclure un autre domaine, par exemple LinkedIn :
javascriptconst isUnwantedDomain = websiteLower.includes('google.com') || websiteLower.includes('google.fr') || websiteLower.includes('instagram.com') || websiteLower.includes('facebook.com') || websiteLower.includes('fb.com') || websiteLower.includes('planity.com') || websiteLower.includes('booksy.com') || websiteLower.includes('linkedin.com'); // Ajouté
5. Personnaliser le prompt ChatGPT (Node "Message a model")

Ce node génère les emails personnalisés avec l'IA. Vous pouvez modifier le ton et le style des emails.
Étapes :
Cliquez sur le node "Message a model"
Descendez jusqu'à "Responses" ou "Messages"
Vous verrez ce prompt :
textAnalyse le site {{ $json.fields['Site Web'] }} de {{ $json.fields.Nom }}, un {{ $json.fields.Keyword }} à {{ $json.fields['Source Ville'] }}. Comprends en profondeur : - Leur métier exact, leur clientèle, leur positionnement - Les tâches répétitives qu'ils font probablement à la main (prise de RDV, relances clients, gestion planning, facturation, suivi...) - Leur état d'esprit et tonalité (moderne/traditionnel, jeune/établi) Rédige UN email de premier contact (80 mots max) qui : 1. Montre que vous avez compris leur quotidien 2. Mentionne UN point concret de leur activité 3. Propose l'automatisation IA de façon simple et conversationnelle 4. Termine par "On en parle ?" Ton : naturel, vouvoiement, comme un message professionnel mais chaleureux. Pas commercial. Pas de jargon. IMPORTANT : - Réponds UNIQUEMENT en HTML - Saute des lignes entre chaque idée (<br><br>
Vous pouvez modifier :
Le nombre de mots : changez
80 mots maxpar100 mots maxou50 mots maxLe ton : changez
vouvoiementpartutoiementsi vous ciblez des jeunes entrepreneursLa phrase de fin : changez
On en parle ?parIntéressé ?ouUn café pour en discuter ?
6. Modifier le sujet de l'email (Node "Create a draft")

Par défaut, le sujet de l'email est "Une question rapide". Vous pouvez le changer.
Étapes :
Cliquez sur le node "Create a draft"
Cherchez le champ "Subject"
Vous verrez :
Une question rapideChangez-le par ce que vous voulez :
Une idée pour {{ $json.fields.Nom }}(personnalisé avec le nom)Gagner du temps ?{{ $json.fields.Nom }} – automatisation
Exemple pour personnaliser avec le nom de l'entreprise :
textUne idée pour {{ $json.fields.Nom }}
Résultat : "Une idée pour Le Salon de Coiffure Martin"
Récapitulatif de la configuration
Voici ce que vous devez avoir configuré :
Où | Quoi configurer | Exemple |
|---|---|---|
HTTP Request (Serper) | Secteur d'activité ( |
|
HTTP Request (Serper) | Ville ( |
|
Code in JavaScript | Nombre de pages |
|
Message a model | Ton et style de l'email | Vouvoiement, 80 mots max |
Create a draft | Sujet de l'email |
|
Lancer le workflow et récupérer vos premiers leads
Tout est configuré ! C'est le moment de lancer le workflow et de voir la magie opérer.
1. Tester le workflow (recommandé)
Avant de lancer sur 200 leads, faites un test rapide avec une seule page.
Étapes :
Dans le node "Code in JavaScript" (le premier), changez temporairement le nombre de pages à 1 :

javascriptconst items = []; for (let page = 1; page <= 1; page++) { // Test avec 1 seule page items.push({ json: { page } }); } return items;
Cliquez sur "Save" en haut à droite
Cliquez sur le bouton "Execute workflow" (le bouton rouge en haut à droite)
Le workflow se lance ! Les nodes s'exécutent un par un et deviennent verts ✅
Ce qui se passe :

Serper scrape Google Maps → récupère 20 entreprises
Filtrage automatique → garde seulement celles avec téléphone + site web (exclut Facebook/Instagram)
Enregistrement dans Airtable
Scraping des sites web → extraction des emails
ChatGPT génère un email personnalisé pour chaque lead
Création automatique de brouillons Gmail
Durée : 2-5 minutes pour 20 leads
2. Vérifier les résultats dans Airtable

Ouvrez votre base Airtable "Lead Prospection"
Allez dans la table "Leads"
Vous devriez voir vos premiers leads avec :
Nom de l'entreprise
Adresse
Téléphone
Site web
Note Google
Nombre d'avis
Email (extrait automatiquement)
3. Vérifier les brouillons Gmail
Ouvrez Gmail
Allez dans "Brouillons" (menu de gauche)
Vous verrez des brouillons d'emails avec :
Sujet : "Une question rapide" (ou celui que vous avez configuré)
Destinataire : l'email du lead
Corps : un message ultra-personnalisé généré par l'IA
Ouvrez un brouillon : ChatGPT a analysé le site web et a écrit un message qui montre qu'il a vraiment compris leur activité. Impressionnant, non ?
4. Lancer en mode production
Si le test fonctionne, passez en mode production.
Étapes :
Retournez dans le node "Code in JavaScript"
Remettez le nombre de pages à 10 (ou plus) :
javascriptconst items = []; for (let page = 1; page <= 10; page++) { // 200 leads items.push({ json: { page } }); } return items;
Cliquez sur "Save"
Cliquez sur "Execute workflow"
Allez prendre un café ☕ — le workflow va tourner pendant 5 - 10 minutes
5. Gérer les leads sans email
Tous les sites n'ont pas d'email visible. Le taux de succès est d'environ 71%.
Sur 200 leads scrapés :
~150 auront téléphone + site web (après filtrage)
~110 - 150 auront un email extrait
Pour les autres leads :
Contactez-les par téléphone (numéro dans Airtable)
6. Envoyer vos emails
Une fois les brouillons créés dans Gmail :
Allez dans Gmail → Brouillons
Relisez chaque email avant d'envoyer (l'IA est très bonne mais vérifiez toujours)
Ajoutez votre signature si besoin
Cliquez sur "Envoyer"
Conseil : Commencez par envoyer 10-20 emails et observez les réponses avant d'envoyer en masse.
7. Automatiser l'envoi (optionnel - avancé)
Si vous voulez que les emails partent automatiquement :
Remplacez le node "Create a draft" par "Send Email"
⚠️ Attention : les emails partiront directement sans validation
Testez TOUJOURS avec 1-2 leads avant de lancer en masse
Ce que vous venez de construire
Vous avez maintenant un système de génération de leads automatique qui :
✅ Scrape Google Maps pour trouver des entreprises locales
✅ Filtre automatiquement les leads qualifiés (avec téléphone + site web)
✅ Extrait les emails depuis leurs sites web
✅ Génère des messages ultra-personnalisés avec l'IA
✅ Crée des brouillons Gmail prêts à envoyer
Coût pour 200 leads :
Serper : gratuit (2 500 crédits/mois)
n8n : gratuit (self-hosted) ou 20€/mois
Airtable : gratuit (jusqu'à 1 000 records)
OpenAI : ~0,50€ pour 50 emails générés
Gmail : gratuit
Total : ~0,50€ pour 500 leads qualifiés avec emails personnalisés 🎯
Au lieu de payer 149€/mois pour Clay ou Apollo.
Prochaines étapes pour aller plus loin
Maintenant que le système tourne :
Testez différents secteurs : salons de coiffure, restaurants, BTP, plombiers, avocats...
Testez différentes villes : Paris, Lyon, Marseille, Bordeaux, Toulouse...
Optimisez le prompt ChatGPT pour améliorer encore la personnalisation
Suivez vos taux de réponse et ajustez le ton de vos emails
Automatisez le suivi : ajoutez des relances automatiques après 3-7 jours sans réponse
Vous avez maintenant un générateur de leads illimité, automatique et presque gratuit. 🚀
Bon scraping !
Merci de m'avoir écouté tout à l'heure.
Je suis peut-être parti un peu trop dans le technique. C'est pour ça que je vous ai préparé ce tuto complet pour mettre l'automatisation en place, étape par étape.
L'idée est simple : récupérer des leads locaux automatiquement, enrichir leurs emails, et générer des messages personnalisés avec l'IA. Sans payer d'abonnement. Sans intervention manuelle.
Concrètement, le workflow fait tout :
Scrape Google Maps via Serper
Récupère nom, téléphone, site web, avis des entreprises
Extrait les emails en scrapant leurs sites
Génère un email personnalisé avec ChatGPT
Crée un brouillon Gmail prêt à envoyer
Tout tourne sur n8n.
Je vais vous montrer comment installer ça de A à Z.
Pas le temps de suivre le tuto ?
Base Airtable : Accéder à la base
Workflow n8n : Télécharger
Importez, connectez, lancez.
Les outils dont vous avez besoin
Avant de commencer, voici la liste complète des outils à préparer. Tout est gratuit ou avec un plan gratuit suffisant pour démarrer.
1. n8n (Automatisation)
Ce que ça fait : Orchestre tout le workflow automatiquement - de la récupération des leads jusqu'à la création des emails personnalisés.
Prix :
Gratuit en self-hosted (sur votre serveur)
20€/mois en cloud (hébergement géré par n8n)
Comment l'installer :
Option Cloud (recommandé pour débuter) : Allez sur n8n.io, cliquez sur "Get Started", créez votre compte. Vous avez accès direct à l'interface.
Option Self-hosted : Si vous avez un serveur ou utilisez Docker, suivez la doc officielle sur docs.n8n.io
2. Serper.dev (Scraping Google Maps)

Ce que ça fait : Récupère les entreprises locales depuis Google Maps (nom, téléphone, site web, avis, adresse...). C'est l'alternative gratuite à Google Places API.
Prix :
2 500 recherches gratuites/mois (largement suffisant pour démarrer)
Ensuite 50$/1000 requêtes supplémentaires
Comment créer votre compte et récupérer la clé API :
Allez sur serper.dev
Cliquez sur "Sign up" en haut à droite
Inscrivez-vous avec votre email ou Google
Une fois connecté, allez dans votre Dashboard
Cliquez sur "API Key" dans le menu de gauche
Copiez votre clé API (elle ressemble à
abc123def456...)Gardez cette clé précieusement, vous en aurez besoin dans n8n
Astuce : Serper donne 2 500 crédits gratuits. Chaque recherche Google Maps = 1 crédit. Si vous faites 10 pages de 20 résultats, ça fait 200 leads pour 10 crédits seulement.
3. Airtable (Base de données)

Ce que ça fait : Stocke tous vos leads dans une base de données visuelle (nom, téléphone, email, site web, note Google, nombre d'avis...). C'est comme un Excel en ligne mais bien plus puissant.
Prix : Gratuit jusqu'à 1 000 records par base (largement suffisant pour commencer)
Comment créer votre compte et récupérer le token :
Allez sur airtable.com
Cliquez sur "Sign up for free"
Créez votre compte
Importez la base Airtable fournie : Lien de la base
Maintenant, récupérez votre Personal Access Token :
Créer un Personal Access Token Airtable
Cliquez sur "Create new token"
Donnez-lui un nom (ex: "n8n automation")
Dans Scopes, sélectionnez :
data.records:read,data.records:write,schema.bases:readDans Access, sélectionnez votre base "Lead Prospection"
Cliquez sur "Create token"
Copiez le token (il ne sera plus visible après)
4. OpenAI (IA pour personnalisation)

Ce que ça fait : Analyse le site web de chaque lead et génère un email ultra-personnalisé qui montre que vous avez vraiment compris leur activité.
Prix :
~0,10$/100 emails avec GPT-4o-mini (le modèle le moins cher et suffisant)
Il faut mettre minimum 5$ de crédit pour commencer
Comment créer votre compte et récupérer la clé API :
Allez sur platform.openai.com
Cliquez sur "Sign up" et créez votre compte
Une fois connecté, allez dans "Settings" (roue crantée en haut à droite)
Cliquez sur "Billing" dans le menu de gauche
Ajoutez un mode de paiement et mettez minimum 5$ de crédit
Retournez sur le Dashboard
Cliquez sur "API keys" dans le menu de gauche
Cliquez sur "Create new secret key"
Donnez-lui un nom (ex: "n8n automation")
Copiez la clé immédiatement (format :
sk-proj-...)Gardez cette clé en sécurité, elle ne sera plus visible
Astuce : Avec 5$, vous pouvez générer environ 5 000 emails personnalisés avec GPT-4o-mini. Largement de quoi tester.
5. Gmail (Envoi des emails)

Ce que ça fait : Crée automatiquement des brouillons d'emails dans votre Gmail, prêts à être envoyés. Vous gardez le contrôle total avant l'envoi.
Prix : Gratuit (vous avez juste besoin d'un compte Gmail)
Comment connecter Gmail à n8n :
La configuration Gmail OAuth nécessite quelques étapes sur Google Cloud Console. Plutôt que de tout expliquer ici, suivez ce tutoriel vidéo de 5 minutes qui montre exactement comment faire :
👉 Setup Google Credentials in n8n (Gmail, Sheets & Drive)
Importer le workflow dans n8n
Maintenant que vous avez tous les outils prêts, on va importer le workflow complet dans n8n.
Télécharger le workflow

Avant tout, téléchargez le fichier du workflow :
Le fichier s'appelle SCRAPTING-LEADS.json. Gardez-le sous la main, on va l'importer dans n8n.
Importer dans n8n
Ouvrez n8n (votre instance cloud ou self-hosted)
En haut à droite, cliquez sur le bouton orange "Create workflow"

Cliquez sur les 3 petits points (menu) en haut à droite

Sélectionnez "Import from File..."

Sélectionnez le fichier SCRAPTING-LEADS.json que vous venez de télécharger

Cliquez sur "Ouvrir"
✅ Le workflow est maintenant importé ! Vous devriez voir tous les nodes (blocs) du workflow s'afficher.

Connecter vos APIs au workflow
1. HTTP Request (Serper) - Scraping Google Maps

Ce node récupère les entreprises depuis Google Maps.
Étapes :
Cliquez sur le node "HTTP Request" (le premier après "Code in JavaScript")
Descendez jusqu'à "Authentication"
Sélectionnez "Generic Credential Type"
Dans "Generic Auth Type", sélectionnez "Header Auth"
Cliquez sur le menu déroulant à côté et sélectionnez "Create New Credential"
Une fenêtre s'ouvre :
Name : mettez "serper" (ou ce que vous voulez)
Header Name : tapez exactement
X-API-KEYValue : collez votre clé API Serper (celle que vous avez récupérée sur serper.dev)
Cliquez sur "Save"
✅ Serper est connecté ! Le node va maintenant pouvoir scraper Google Maps.
2. Create or update a record (Airtable) - Sauvegarde des leads

Ce node enregistre les leads dans votre base Airtable.
Étapes :
Cliquez sur le node "Create or update a record"
À côté de "Credential to connect with", cliquez sur le menu déroulant
Sélectionnez "Create New Credential"
Sélectionnez "Airtable Personal Access Token"
Une fenêtre s'ouvre :
Access Token : collez votre token Airtable (celui que vous avez créé sur airtable.com/create/tokens)
Cliquez sur "Save"
Le workflow va automatiquement détecter votre base Airtable
Dans "Base", sélectionnez "Lead Prospection" (ou le nom de votre base)
Dans "Table", sélectionnez "Leads"
✅ Airtable est connecté ! Les leads seront automatiquement enregistrés dans votre base.
5. Message a model (OpenAI) - Génération des emails personnalisés

Ce node utilise ChatGPT pour analyser les sites web et générer des emails ultra-personnalisés.
Étapes :
Cliquez sur le node "Message a model"
À côté de "Credential to connect with", cliquez sur le menu déroulant
Sélectionnez "Create New Credential"
Sélectionnez "OpenAI API"
Une fenêtre s'ouvre :
API Key : collez votre clé API OpenAI (celle qui commence par
sk-proj-...)
Cliquez sur "Save"
Dans "Model", vérifiez que "gpt-4o-mini" est sélectionné (c'est le moins cher)
✅ OpenAI est connecté ! L'IA va générer des emails personnalisés pour chaque lead.
6. Create a draft (Gmail) - Création des brouillons

Ce node crée automatiquement un brouillon Gmail pour chaque lead.
Étapes :
Cliquez sur le node "Create a draft"
À côté de "Credential to connect with", cliquez sur le menu déroulant
Sélectionnez "Create New Credential"
Sélectionnez "Gmail OAuth2 API"
Ici, vous devez avoir déjà créé vos identifiants Google Cloud (suivez la vidéo : Setup Google Credentials)
Une fenêtre s'ouvre :
Client ID : collez le Client ID que vous avez récupéré sur Google Cloud Console
Client Secret : collez le Client Secret
OAuth Redirect URL : copiez cette URL (vous l'avez déjà ajoutée dans Google Cloud Console normalement)
Cliquez sur "Save"
Cliquez sur "Connect my account"
Une fenêtre Google s'ouvre : sélectionnez votre compte Gmail
Autorisez les permissions demandées
✅ Connexion réussie !
Configurer vos paramètres de recherche
Maintenant que toutes vos APIs sont connectées, vous devez configurer ce que vous voulez chercher : quelle ville, quel secteur d'activité, combien de résultats...
1. Définir votre recherche (Node "HTTP Request" - Serper)
C'est ici que vous allez dire à Serper quoi chercher sur Google Maps.

Étapes :
Cliquez sur le node "HTTP Request" (celui qui appelle Serper)
Descendez jusqu'à "Body Parameters" (ou "JSON Body" selon votre version)
Vous verrez un code JSON qui ressemble à ça :
json{ "q": "BTP", "gl": "fr", "hl": "fr", "tbs": "qdr:y", "location": "Paris, France", "num": 20, "page": {{ $json.page }} }
Voici ce que signifie chaque paramètre :
Paramètre | Description | Exemple |
|---|---|---|
"q" | Le secteur d'activité / mot-clé recherché |
|
"location" | La ville ou zone géographique |
|
"gl" | Le pays (code ISO) |
|
"hl" | La langue des résultats |
|
"num" | Nombre de résultats par page (max 20) |
|
"tbs" | Filtre temporel (optionnel) |
|
"page" | Numéro de la page | Ne pas toucher (géré automatiquement) |
2. Personnaliser votre recherche
Exemple 1 : Vous voulez des salons de coiffure à Lyon
Modifiez le JSON comme ceci :
json{ "q": "salon de coiffure", "gl": "fr", "hl": "fr", "tbs": "qdr:y", "location": "Lyon, France", "num": 20, "page": {{ $json.page }} }
Exemple 2 : Vous voulez des restaurants à Marseille
json{ "q": "restaurant", "gl": "fr", "hl": "fr", "tbs": "qdr:y", "location": "Marseille, France", "num": 20, "page": {{ $json.page }} }
Exemple 3 : Vous voulez des entreprises BTP à Paris
json{ "q": "BTP", "gl": "fr", "hl": "fr", "tbs": "qdr:y", "location": "Paris, France", "num": 20, "page": {{ $json.page }} }
3. Définir le nombre de pages à scraper (Node "Code in JavaScript")
Par défaut, le workflow récupère 10 pages de résultats, soit 200 leads (10 pages × 20 résultats).
Si vous voulez changer le nombre de pages :
Cliquez sur le node "Code in JavaScript" (le tout premier)
Vous verrez ce code :
javascriptconst items = []; for (let page = 1; page <= 10; page++) { items.push({ json: { page } }); } return items;
Changez le nombre 10 par ce que vous voulez :
5 pages = 100 leads →
page <= 520 pages = 400 leads →
page <= 2050 pages = 1000 leads →
page <= 50
Exemple : Pour récupérer 500 leads (25 pages)
javascriptconst items = []; for (let page = 1; page <= 25; page++) { items.push({ json: { page } }); } return items;
Cliquez sur "Save"
4. Filtrer les types de sites web (Node "Code in JavaScript1")
Ce node filtre automatiquement les leads pour garder seulement ceux avec téléphone + site web, et exclut Facebook, Instagram, Google Maps.
C'est déjà configuré, vous n'avez rien à toucher ici !
Mais si vous voulez ajouter d'autres domaines à exclure :
Cliquez sur le node "Code in JavaScript1"
Cherchez cette partie du code :
javascriptconst isUnwantedDomain = websiteLower.includes('google.com') || websiteLower.includes('google.fr') || websiteLower.includes('instagram.com') || websiteLower.includes('facebook.com') || websiteLower.includes('fb.com') || websiteLower.includes('planity.com') || websiteLower.includes('booksy.com');
Ajoutez une ligne pour exclure un autre domaine, par exemple LinkedIn :
javascriptconst isUnwantedDomain = websiteLower.includes('google.com') || websiteLower.includes('google.fr') || websiteLower.includes('instagram.com') || websiteLower.includes('facebook.com') || websiteLower.includes('fb.com') || websiteLower.includes('planity.com') || websiteLower.includes('booksy.com') || websiteLower.includes('linkedin.com'); // Ajouté
5. Personnaliser le prompt ChatGPT (Node "Message a model")

Ce node génère les emails personnalisés avec l'IA. Vous pouvez modifier le ton et le style des emails.
Étapes :
Cliquez sur le node "Message a model"
Descendez jusqu'à "Responses" ou "Messages"
Vous verrez ce prompt :
textAnalyse le site {{ $json.fields['Site Web'] }} de {{ $json.fields.Nom }}, un {{ $json.fields.Keyword }} à {{ $json.fields['Source Ville'] }}. Comprends en profondeur : - Leur métier exact, leur clientèle, leur positionnement - Les tâches répétitives qu'ils font probablement à la main (prise de RDV, relances clients, gestion planning, facturation, suivi...) - Leur état d'esprit et tonalité (moderne/traditionnel, jeune/établi) Rédige UN email de premier contact (80 mots max) qui : 1. Montre que vous avez compris leur quotidien 2. Mentionne UN point concret de leur activité 3. Propose l'automatisation IA de façon simple et conversationnelle 4. Termine par "On en parle ?" Ton : naturel, vouvoiement, comme un message professionnel mais chaleureux. Pas commercial. Pas de jargon. IMPORTANT : - Réponds UNIQUEMENT en HTML - Saute des lignes entre chaque idée (<br><br>
Vous pouvez modifier :
Le nombre de mots : changez
80 mots maxpar100 mots maxou50 mots maxLe ton : changez
vouvoiementpartutoiementsi vous ciblez des jeunes entrepreneursLa phrase de fin : changez
On en parle ?parIntéressé ?ouUn café pour en discuter ?
6. Modifier le sujet de l'email (Node "Create a draft")

Par défaut, le sujet de l'email est "Une question rapide". Vous pouvez le changer.
Étapes :
Cliquez sur le node "Create a draft"
Cherchez le champ "Subject"
Vous verrez :
Une question rapideChangez-le par ce que vous voulez :
Une idée pour {{ $json.fields.Nom }}(personnalisé avec le nom)Gagner du temps ?{{ $json.fields.Nom }} – automatisation
Exemple pour personnaliser avec le nom de l'entreprise :
textUne idée pour {{ $json.fields.Nom }}
Résultat : "Une idée pour Le Salon de Coiffure Martin"
Récapitulatif de la configuration
Voici ce que vous devez avoir configuré :
Où | Quoi configurer | Exemple |
|---|---|---|
HTTP Request (Serper) | Secteur d'activité ( |
|
HTTP Request (Serper) | Ville ( |
|
Code in JavaScript | Nombre de pages |
|
Message a model | Ton et style de l'email | Vouvoiement, 80 mots max |
Create a draft | Sujet de l'email |
|
Lancer le workflow et récupérer vos premiers leads
Tout est configuré ! C'est le moment de lancer le workflow et de voir la magie opérer.
1. Tester le workflow (recommandé)
Avant de lancer sur 200 leads, faites un test rapide avec une seule page.
Étapes :
Dans le node "Code in JavaScript" (le premier), changez temporairement le nombre de pages à 1 :

javascriptconst items = []; for (let page = 1; page <= 1; page++) { // Test avec 1 seule page items.push({ json: { page } }); } return items;
Cliquez sur "Save" en haut à droite
Cliquez sur le bouton "Execute workflow" (le bouton rouge en haut à droite)
Le workflow se lance ! Les nodes s'exécutent un par un et deviennent verts ✅
Ce qui se passe :

Serper scrape Google Maps → récupère 20 entreprises
Filtrage automatique → garde seulement celles avec téléphone + site web (exclut Facebook/Instagram)
Enregistrement dans Airtable
Scraping des sites web → extraction des emails
ChatGPT génère un email personnalisé pour chaque lead
Création automatique de brouillons Gmail
Durée : 2-5 minutes pour 20 leads
2. Vérifier les résultats dans Airtable

Ouvrez votre base Airtable "Lead Prospection"
Allez dans la table "Leads"
Vous devriez voir vos premiers leads avec :
Nom de l'entreprise
Adresse
Téléphone
Site web
Note Google
Nombre d'avis
Email (extrait automatiquement)
3. Vérifier les brouillons Gmail
Ouvrez Gmail
Allez dans "Brouillons" (menu de gauche)
Vous verrez des brouillons d'emails avec :
Sujet : "Une question rapide" (ou celui que vous avez configuré)
Destinataire : l'email du lead
Corps : un message ultra-personnalisé généré par l'IA
Ouvrez un brouillon : ChatGPT a analysé le site web et a écrit un message qui montre qu'il a vraiment compris leur activité. Impressionnant, non ?
4. Lancer en mode production
Si le test fonctionne, passez en mode production.
Étapes :
Retournez dans le node "Code in JavaScript"
Remettez le nombre de pages à 10 (ou plus) :
javascriptconst items = []; for (let page = 1; page <= 10; page++) { // 200 leads items.push({ json: { page } }); } return items;
Cliquez sur "Save"
Cliquez sur "Execute workflow"
Allez prendre un café ☕ — le workflow va tourner pendant 5 - 10 minutes
5. Gérer les leads sans email
Tous les sites n'ont pas d'email visible. Le taux de succès est d'environ 71%.
Sur 200 leads scrapés :
~150 auront téléphone + site web (après filtrage)
~110 - 150 auront un email extrait
Pour les autres leads :
Contactez-les par téléphone (numéro dans Airtable)
6. Envoyer vos emails
Une fois les brouillons créés dans Gmail :
Allez dans Gmail → Brouillons
Relisez chaque email avant d'envoyer (l'IA est très bonne mais vérifiez toujours)
Ajoutez votre signature si besoin
Cliquez sur "Envoyer"
Conseil : Commencez par envoyer 10-20 emails et observez les réponses avant d'envoyer en masse.
7. Automatiser l'envoi (optionnel - avancé)
Si vous voulez que les emails partent automatiquement :
Remplacez le node "Create a draft" par "Send Email"
⚠️ Attention : les emails partiront directement sans validation
Testez TOUJOURS avec 1-2 leads avant de lancer en masse
Ce que vous venez de construire
Vous avez maintenant un système de génération de leads automatique qui :
✅ Scrape Google Maps pour trouver des entreprises locales
✅ Filtre automatiquement les leads qualifiés (avec téléphone + site web)
✅ Extrait les emails depuis leurs sites web
✅ Génère des messages ultra-personnalisés avec l'IA
✅ Crée des brouillons Gmail prêts à envoyer
Coût pour 200 leads :
Serper : gratuit (2 500 crédits/mois)
n8n : gratuit (self-hosted) ou 20€/mois
Airtable : gratuit (jusqu'à 1 000 records)
OpenAI : ~0,50€ pour 50 emails générés
Gmail : gratuit
Total : ~0,50€ pour 500 leads qualifiés avec emails personnalisés 🎯
Au lieu de payer 149€/mois pour Clay ou Apollo.
Prochaines étapes pour aller plus loin
Maintenant que le système tourne :
Testez différents secteurs : salons de coiffure, restaurants, BTP, plombiers, avocats...
Testez différentes villes : Paris, Lyon, Marseille, Bordeaux, Toulouse...
Optimisez le prompt ChatGPT pour améliorer encore la personnalisation
Suivez vos taux de réponse et ajustez le ton de vos emails
Automatisez le suivi : ajoutez des relances automatiques après 3-7 jours sans réponse
Vous avez maintenant un générateur de leads illimité, automatique et presque gratuit. 🚀
Bon scraping !
Abonnez-vous à
notre
newsletter
Chaque semaine : 2 articles, 1 outil IA, et des conseils faciles à appliquer.
Abonnez-vous à
notre
newsletter
Chaque semaine : 2 articles, 1 outil IA, et des conseils faciles à appliquer.
Merci de m'avoir écouté tout à l'heure.
Je suis peut-être parti un peu trop dans le technique. C'est pour ça que je vous ai préparé ce tuto complet pour mettre l'automatisation en place, étape par étape.
L'idée est simple : récupérer des leads locaux automatiquement, enrichir leurs emails, et générer des messages personnalisés avec l'IA. Sans payer d'abonnement. Sans intervention manuelle.
Concrètement, le workflow fait tout :
Scrape Google Maps via Serper
Récupère nom, téléphone, site web, avis des entreprises
Extrait les emails en scrapant leurs sites
Génère un email personnalisé avec ChatGPT
Crée un brouillon Gmail prêt à envoyer
Tout tourne sur n8n.
Je vais vous montrer comment installer ça de A à Z.
Pas le temps de suivre le tuto ?
Base Airtable : Accéder à la base
Workflow n8n : Télécharger
Importez, connectez, lancez.
Les outils dont vous avez besoin
Avant de commencer, voici la liste complète des outils à préparer. Tout est gratuit ou avec un plan gratuit suffisant pour démarrer.
1. n8n (Automatisation)
Ce que ça fait : Orchestre tout le workflow automatiquement - de la récupération des leads jusqu'à la création des emails personnalisés.
Prix :
Gratuit en self-hosted (sur votre serveur)
20€/mois en cloud (hébergement géré par n8n)
Comment l'installer :
Option Cloud (recommandé pour débuter) : Allez sur n8n.io, cliquez sur "Get Started", créez votre compte. Vous avez accès direct à l'interface.
Option Self-hosted : Si vous avez un serveur ou utilisez Docker, suivez la doc officielle sur docs.n8n.io
2. Serper.dev (Scraping Google Maps)

Ce que ça fait : Récupère les entreprises locales depuis Google Maps (nom, téléphone, site web, avis, adresse...). C'est l'alternative gratuite à Google Places API.
Prix :
2 500 recherches gratuites/mois (largement suffisant pour démarrer)
Ensuite 50$/1000 requêtes supplémentaires
Comment créer votre compte et récupérer la clé API :
Allez sur serper.dev
Cliquez sur "Sign up" en haut à droite
Inscrivez-vous avec votre email ou Google
Une fois connecté, allez dans votre Dashboard
Cliquez sur "API Key" dans le menu de gauche
Copiez votre clé API (elle ressemble à
abc123def456...)Gardez cette clé précieusement, vous en aurez besoin dans n8n
Astuce : Serper donne 2 500 crédits gratuits. Chaque recherche Google Maps = 1 crédit. Si vous faites 10 pages de 20 résultats, ça fait 200 leads pour 10 crédits seulement.
3. Airtable (Base de données)

Ce que ça fait : Stocke tous vos leads dans une base de données visuelle (nom, téléphone, email, site web, note Google, nombre d'avis...). C'est comme un Excel en ligne mais bien plus puissant.
Prix : Gratuit jusqu'à 1 000 records par base (largement suffisant pour commencer)
Comment créer votre compte et récupérer le token :
Allez sur airtable.com
Cliquez sur "Sign up for free"
Créez votre compte
Importez la base Airtable fournie : Lien de la base
Maintenant, récupérez votre Personal Access Token :
Créer un Personal Access Token Airtable
Cliquez sur "Create new token"
Donnez-lui un nom (ex: "n8n automation")
Dans Scopes, sélectionnez :
data.records:read,data.records:write,schema.bases:readDans Access, sélectionnez votre base "Lead Prospection"
Cliquez sur "Create token"
Copiez le token (il ne sera plus visible après)
4. OpenAI (IA pour personnalisation)

Ce que ça fait : Analyse le site web de chaque lead et génère un email ultra-personnalisé qui montre que vous avez vraiment compris leur activité.
Prix :
~0,10$/100 emails avec GPT-4o-mini (le modèle le moins cher et suffisant)
Il faut mettre minimum 5$ de crédit pour commencer
Comment créer votre compte et récupérer la clé API :
Allez sur platform.openai.com
Cliquez sur "Sign up" et créez votre compte
Une fois connecté, allez dans "Settings" (roue crantée en haut à droite)
Cliquez sur "Billing" dans le menu de gauche
Ajoutez un mode de paiement et mettez minimum 5$ de crédit
Retournez sur le Dashboard
Cliquez sur "API keys" dans le menu de gauche
Cliquez sur "Create new secret key"
Donnez-lui un nom (ex: "n8n automation")
Copiez la clé immédiatement (format :
sk-proj-...)Gardez cette clé en sécurité, elle ne sera plus visible
Astuce : Avec 5$, vous pouvez générer environ 5 000 emails personnalisés avec GPT-4o-mini. Largement de quoi tester.
5. Gmail (Envoi des emails)

Ce que ça fait : Crée automatiquement des brouillons d'emails dans votre Gmail, prêts à être envoyés. Vous gardez le contrôle total avant l'envoi.
Prix : Gratuit (vous avez juste besoin d'un compte Gmail)
Comment connecter Gmail à n8n :
La configuration Gmail OAuth nécessite quelques étapes sur Google Cloud Console. Plutôt que de tout expliquer ici, suivez ce tutoriel vidéo de 5 minutes qui montre exactement comment faire :
👉 Setup Google Credentials in n8n (Gmail, Sheets & Drive)
Importer le workflow dans n8n
Maintenant que vous avez tous les outils prêts, on va importer le workflow complet dans n8n.
Télécharger le workflow

Avant tout, téléchargez le fichier du workflow :
Le fichier s'appelle SCRAPTING-LEADS.json. Gardez-le sous la main, on va l'importer dans n8n.
Importer dans n8n
Ouvrez n8n (votre instance cloud ou self-hosted)
En haut à droite, cliquez sur le bouton orange "Create workflow"

Cliquez sur les 3 petits points (menu) en haut à droite

Sélectionnez "Import from File..."

Sélectionnez le fichier SCRAPTING-LEADS.json que vous venez de télécharger

Cliquez sur "Ouvrir"
✅ Le workflow est maintenant importé ! Vous devriez voir tous les nodes (blocs) du workflow s'afficher.

Connecter vos APIs au workflow
1. HTTP Request (Serper) - Scraping Google Maps

Ce node récupère les entreprises depuis Google Maps.
Étapes :
Cliquez sur le node "HTTP Request" (le premier après "Code in JavaScript")
Descendez jusqu'à "Authentication"
Sélectionnez "Generic Credential Type"
Dans "Generic Auth Type", sélectionnez "Header Auth"
Cliquez sur le menu déroulant à côté et sélectionnez "Create New Credential"
Une fenêtre s'ouvre :
Name : mettez "serper" (ou ce que vous voulez)
Header Name : tapez exactement
X-API-KEYValue : collez votre clé API Serper (celle que vous avez récupérée sur serper.dev)
Cliquez sur "Save"
✅ Serper est connecté ! Le node va maintenant pouvoir scraper Google Maps.
2. Create or update a record (Airtable) - Sauvegarde des leads

Ce node enregistre les leads dans votre base Airtable.
Étapes :
Cliquez sur le node "Create or update a record"
À côté de "Credential to connect with", cliquez sur le menu déroulant
Sélectionnez "Create New Credential"
Sélectionnez "Airtable Personal Access Token"
Une fenêtre s'ouvre :
Access Token : collez votre token Airtable (celui que vous avez créé sur airtable.com/create/tokens)
Cliquez sur "Save"
Le workflow va automatiquement détecter votre base Airtable
Dans "Base", sélectionnez "Lead Prospection" (ou le nom de votre base)
Dans "Table", sélectionnez "Leads"
✅ Airtable est connecté ! Les leads seront automatiquement enregistrés dans votre base.
5. Message a model (OpenAI) - Génération des emails personnalisés

Ce node utilise ChatGPT pour analyser les sites web et générer des emails ultra-personnalisés.
Étapes :
Cliquez sur le node "Message a model"
À côté de "Credential to connect with", cliquez sur le menu déroulant
Sélectionnez "Create New Credential"
Sélectionnez "OpenAI API"
Une fenêtre s'ouvre :
API Key : collez votre clé API OpenAI (celle qui commence par
sk-proj-...)
Cliquez sur "Save"
Dans "Model", vérifiez que "gpt-4o-mini" est sélectionné (c'est le moins cher)
✅ OpenAI est connecté ! L'IA va générer des emails personnalisés pour chaque lead.
6. Create a draft (Gmail) - Création des brouillons

Ce node crée automatiquement un brouillon Gmail pour chaque lead.
Étapes :
Cliquez sur le node "Create a draft"
À côté de "Credential to connect with", cliquez sur le menu déroulant
Sélectionnez "Create New Credential"
Sélectionnez "Gmail OAuth2 API"
Ici, vous devez avoir déjà créé vos identifiants Google Cloud (suivez la vidéo : Setup Google Credentials)
Une fenêtre s'ouvre :
Client ID : collez le Client ID que vous avez récupéré sur Google Cloud Console
Client Secret : collez le Client Secret
OAuth Redirect URL : copiez cette URL (vous l'avez déjà ajoutée dans Google Cloud Console normalement)
Cliquez sur "Save"
Cliquez sur "Connect my account"
Une fenêtre Google s'ouvre : sélectionnez votre compte Gmail
Autorisez les permissions demandées
✅ Connexion réussie !
Configurer vos paramètres de recherche
Maintenant que toutes vos APIs sont connectées, vous devez configurer ce que vous voulez chercher : quelle ville, quel secteur d'activité, combien de résultats...
1. Définir votre recherche (Node "HTTP Request" - Serper)
C'est ici que vous allez dire à Serper quoi chercher sur Google Maps.

Étapes :
Cliquez sur le node "HTTP Request" (celui qui appelle Serper)
Descendez jusqu'à "Body Parameters" (ou "JSON Body" selon votre version)
Vous verrez un code JSON qui ressemble à ça :
json{ "q": "BTP", "gl": "fr", "hl": "fr", "tbs": "qdr:y", "location": "Paris, France", "num": 20, "page": {{ $json.page }} }
Voici ce que signifie chaque paramètre :
Paramètre | Description | Exemple |
|---|---|---|
"q" | Le secteur d'activité / mot-clé recherché |
|
"location" | La ville ou zone géographique |
|
"gl" | Le pays (code ISO) |
|
"hl" | La langue des résultats |
|
"num" | Nombre de résultats par page (max 20) |
|
"tbs" | Filtre temporel (optionnel) |
|
"page" | Numéro de la page | Ne pas toucher (géré automatiquement) |
2. Personnaliser votre recherche
Exemple 1 : Vous voulez des salons de coiffure à Lyon
Modifiez le JSON comme ceci :
json{ "q": "salon de coiffure", "gl": "fr", "hl": "fr", "tbs": "qdr:y", "location": "Lyon, France", "num": 20, "page": {{ $json.page }} }
Exemple 2 : Vous voulez des restaurants à Marseille
json{ "q": "restaurant", "gl": "fr", "hl": "fr", "tbs": "qdr:y", "location": "Marseille, France", "num": 20, "page": {{ $json.page }} }
Exemple 3 : Vous voulez des entreprises BTP à Paris
json{ "q": "BTP", "gl": "fr", "hl": "fr", "tbs": "qdr:y", "location": "Paris, France", "num": 20, "page": {{ $json.page }} }
3. Définir le nombre de pages à scraper (Node "Code in JavaScript")
Par défaut, le workflow récupère 10 pages de résultats, soit 200 leads (10 pages × 20 résultats).
Si vous voulez changer le nombre de pages :
Cliquez sur le node "Code in JavaScript" (le tout premier)
Vous verrez ce code :
javascriptconst items = []; for (let page = 1; page <= 10; page++) { items.push({ json: { page } }); } return items;
Changez le nombre 10 par ce que vous voulez :
5 pages = 100 leads →
page <= 520 pages = 400 leads →
page <= 2050 pages = 1000 leads →
page <= 50
Exemple : Pour récupérer 500 leads (25 pages)
javascriptconst items = []; for (let page = 1; page <= 25; page++) { items.push({ json: { page } }); } return items;
Cliquez sur "Save"
4. Filtrer les types de sites web (Node "Code in JavaScript1")
Ce node filtre automatiquement les leads pour garder seulement ceux avec téléphone + site web, et exclut Facebook, Instagram, Google Maps.
C'est déjà configuré, vous n'avez rien à toucher ici !
Mais si vous voulez ajouter d'autres domaines à exclure :
Cliquez sur le node "Code in JavaScript1"
Cherchez cette partie du code :
javascriptconst isUnwantedDomain = websiteLower.includes('google.com') || websiteLower.includes('google.fr') || websiteLower.includes('instagram.com') || websiteLower.includes('facebook.com') || websiteLower.includes('fb.com') || websiteLower.includes('planity.com') || websiteLower.includes('booksy.com');
Ajoutez une ligne pour exclure un autre domaine, par exemple LinkedIn :
javascriptconst isUnwantedDomain = websiteLower.includes('google.com') || websiteLower.includes('google.fr') || websiteLower.includes('instagram.com') || websiteLower.includes('facebook.com') || websiteLower.includes('fb.com') || websiteLower.includes('planity.com') || websiteLower.includes('booksy.com') || websiteLower.includes('linkedin.com'); // Ajouté
5. Personnaliser le prompt ChatGPT (Node "Message a model")

Ce node génère les emails personnalisés avec l'IA. Vous pouvez modifier le ton et le style des emails.
Étapes :
Cliquez sur le node "Message a model"
Descendez jusqu'à "Responses" ou "Messages"
Vous verrez ce prompt :
textAnalyse le site {{ $json.fields['Site Web'] }} de {{ $json.fields.Nom }}, un {{ $json.fields.Keyword }} à {{ $json.fields['Source Ville'] }}. Comprends en profondeur : - Leur métier exact, leur clientèle, leur positionnement - Les tâches répétitives qu'ils font probablement à la main (prise de RDV, relances clients, gestion planning, facturation, suivi...) - Leur état d'esprit et tonalité (moderne/traditionnel, jeune/établi) Rédige UN email de premier contact (80 mots max) qui : 1. Montre que vous avez compris leur quotidien 2. Mentionne UN point concret de leur activité 3. Propose l'automatisation IA de façon simple et conversationnelle 4. Termine par "On en parle ?" Ton : naturel, vouvoiement, comme un message professionnel mais chaleureux. Pas commercial. Pas de jargon. IMPORTANT : - Réponds UNIQUEMENT en HTML - Saute des lignes entre chaque idée (<br><br>
Vous pouvez modifier :
Le nombre de mots : changez
80 mots maxpar100 mots maxou50 mots maxLe ton : changez
vouvoiementpartutoiementsi vous ciblez des jeunes entrepreneursLa phrase de fin : changez
On en parle ?parIntéressé ?ouUn café pour en discuter ?
6. Modifier le sujet de l'email (Node "Create a draft")

Par défaut, le sujet de l'email est "Une question rapide". Vous pouvez le changer.
Étapes :
Cliquez sur le node "Create a draft"
Cherchez le champ "Subject"
Vous verrez :
Une question rapideChangez-le par ce que vous voulez :
Une idée pour {{ $json.fields.Nom }}(personnalisé avec le nom)Gagner du temps ?{{ $json.fields.Nom }} – automatisation
Exemple pour personnaliser avec le nom de l'entreprise :
textUne idée pour {{ $json.fields.Nom }}
Résultat : "Une idée pour Le Salon de Coiffure Martin"
Récapitulatif de la configuration
Voici ce que vous devez avoir configuré :
Où | Quoi configurer | Exemple |
|---|---|---|
HTTP Request (Serper) | Secteur d'activité ( |
|
HTTP Request (Serper) | Ville ( |
|
Code in JavaScript | Nombre de pages |
|
Message a model | Ton et style de l'email | Vouvoiement, 80 mots max |
Create a draft | Sujet de l'email |
|
Lancer le workflow et récupérer vos premiers leads
Tout est configuré ! C'est le moment de lancer le workflow et de voir la magie opérer.
1. Tester le workflow (recommandé)
Avant de lancer sur 200 leads, faites un test rapide avec une seule page.
Étapes :
Dans le node "Code in JavaScript" (le premier), changez temporairement le nombre de pages à 1 :

javascriptconst items = []; for (let page = 1; page <= 1; page++) { // Test avec 1 seule page items.push({ json: { page } }); } return items;
Cliquez sur "Save" en haut à droite
Cliquez sur le bouton "Execute workflow" (le bouton rouge en haut à droite)
Le workflow se lance ! Les nodes s'exécutent un par un et deviennent verts ✅
Ce qui se passe :

Serper scrape Google Maps → récupère 20 entreprises
Filtrage automatique → garde seulement celles avec téléphone + site web (exclut Facebook/Instagram)
Enregistrement dans Airtable
Scraping des sites web → extraction des emails
ChatGPT génère un email personnalisé pour chaque lead
Création automatique de brouillons Gmail
Durée : 2-5 minutes pour 20 leads
2. Vérifier les résultats dans Airtable

Ouvrez votre base Airtable "Lead Prospection"
Allez dans la table "Leads"
Vous devriez voir vos premiers leads avec :
Nom de l'entreprise
Adresse
Téléphone
Site web
Note Google
Nombre d'avis
Email (extrait automatiquement)
3. Vérifier les brouillons Gmail
Ouvrez Gmail
Allez dans "Brouillons" (menu de gauche)
Vous verrez des brouillons d'emails avec :
Sujet : "Une question rapide" (ou celui que vous avez configuré)
Destinataire : l'email du lead
Corps : un message ultra-personnalisé généré par l'IA
Ouvrez un brouillon : ChatGPT a analysé le site web et a écrit un message qui montre qu'il a vraiment compris leur activité. Impressionnant, non ?
4. Lancer en mode production
Si le test fonctionne, passez en mode production.
Étapes :
Retournez dans le node "Code in JavaScript"
Remettez le nombre de pages à 10 (ou plus) :
javascriptconst items = []; for (let page = 1; page <= 10; page++) { // 200 leads items.push({ json: { page } }); } return items;
Cliquez sur "Save"
Cliquez sur "Execute workflow"
Allez prendre un café ☕ — le workflow va tourner pendant 5 - 10 minutes
5. Gérer les leads sans email
Tous les sites n'ont pas d'email visible. Le taux de succès est d'environ 71%.
Sur 200 leads scrapés :
~150 auront téléphone + site web (après filtrage)
~110 - 150 auront un email extrait
Pour les autres leads :
Contactez-les par téléphone (numéro dans Airtable)
6. Envoyer vos emails
Une fois les brouillons créés dans Gmail :
Allez dans Gmail → Brouillons
Relisez chaque email avant d'envoyer (l'IA est très bonne mais vérifiez toujours)
Ajoutez votre signature si besoin
Cliquez sur "Envoyer"
Conseil : Commencez par envoyer 10-20 emails et observez les réponses avant d'envoyer en masse.
7. Automatiser l'envoi (optionnel - avancé)
Si vous voulez que les emails partent automatiquement :
Remplacez le node "Create a draft" par "Send Email"
⚠️ Attention : les emails partiront directement sans validation
Testez TOUJOURS avec 1-2 leads avant de lancer en masse
Ce que vous venez de construire
Vous avez maintenant un système de génération de leads automatique qui :
✅ Scrape Google Maps pour trouver des entreprises locales
✅ Filtre automatiquement les leads qualifiés (avec téléphone + site web)
✅ Extrait les emails depuis leurs sites web
✅ Génère des messages ultra-personnalisés avec l'IA
✅ Crée des brouillons Gmail prêts à envoyer
Coût pour 200 leads :
Serper : gratuit (2 500 crédits/mois)
n8n : gratuit (self-hosted) ou 20€/mois
Airtable : gratuit (jusqu'à 1 000 records)
OpenAI : ~0,50€ pour 50 emails générés
Gmail : gratuit
Total : ~0,50€ pour 500 leads qualifiés avec emails personnalisés 🎯
Au lieu de payer 149€/mois pour Clay ou Apollo.
Prochaines étapes pour aller plus loin
Maintenant que le système tourne :
Testez différents secteurs : salons de coiffure, restaurants, BTP, plombiers, avocats...
Testez différentes villes : Paris, Lyon, Marseille, Bordeaux, Toulouse...
Optimisez le prompt ChatGPT pour améliorer encore la personnalisation
Suivez vos taux de réponse et ajustez le ton de vos emails
Automatisez le suivi : ajoutez des relances automatiques après 3-7 jours sans réponse
Vous avez maintenant un générateur de leads illimité, automatique et presque gratuit. 🚀
Bon scraping !
Merci de m'avoir écouté tout à l'heure.
Je suis peut-être parti un peu trop dans le technique. C'est pour ça que je vous ai préparé ce tuto complet pour mettre l'automatisation en place, étape par étape.
L'idée est simple : récupérer des leads locaux automatiquement, enrichir leurs emails, et générer des messages personnalisés avec l'IA. Sans payer d'abonnement. Sans intervention manuelle.
Concrètement, le workflow fait tout :
Scrape Google Maps via Serper
Récupère nom, téléphone, site web, avis des entreprises
Extrait les emails en scrapant leurs sites
Génère un email personnalisé avec ChatGPT
Crée un brouillon Gmail prêt à envoyer
Tout tourne sur n8n.
Je vais vous montrer comment installer ça de A à Z.
Pas le temps de suivre le tuto ?
Base Airtable : Accéder à la base
Workflow n8n : Télécharger
Importez, connectez, lancez.
Les outils dont vous avez besoin
Avant de commencer, voici la liste complète des outils à préparer. Tout est gratuit ou avec un plan gratuit suffisant pour démarrer.
1. n8n (Automatisation)
Ce que ça fait : Orchestre tout le workflow automatiquement - de la récupération des leads jusqu'à la création des emails personnalisés.
Prix :
Gratuit en self-hosted (sur votre serveur)
20€/mois en cloud (hébergement géré par n8n)
Comment l'installer :
Option Cloud (recommandé pour débuter) : Allez sur n8n.io, cliquez sur "Get Started", créez votre compte. Vous avez accès direct à l'interface.
Option Self-hosted : Si vous avez un serveur ou utilisez Docker, suivez la doc officielle sur docs.n8n.io
2. Serper.dev (Scraping Google Maps)

Ce que ça fait : Récupère les entreprises locales depuis Google Maps (nom, téléphone, site web, avis, adresse...). C'est l'alternative gratuite à Google Places API.
Prix :
2 500 recherches gratuites/mois (largement suffisant pour démarrer)
Ensuite 50$/1000 requêtes supplémentaires
Comment créer votre compte et récupérer la clé API :
Allez sur serper.dev
Cliquez sur "Sign up" en haut à droite
Inscrivez-vous avec votre email ou Google
Une fois connecté, allez dans votre Dashboard
Cliquez sur "API Key" dans le menu de gauche
Copiez votre clé API (elle ressemble à
abc123def456...)Gardez cette clé précieusement, vous en aurez besoin dans n8n
Astuce : Serper donne 2 500 crédits gratuits. Chaque recherche Google Maps = 1 crédit. Si vous faites 10 pages de 20 résultats, ça fait 200 leads pour 10 crédits seulement.
3. Airtable (Base de données)

Ce que ça fait : Stocke tous vos leads dans une base de données visuelle (nom, téléphone, email, site web, note Google, nombre d'avis...). C'est comme un Excel en ligne mais bien plus puissant.
Prix : Gratuit jusqu'à 1 000 records par base (largement suffisant pour commencer)
Comment créer votre compte et récupérer le token :
Allez sur airtable.com
Cliquez sur "Sign up for free"
Créez votre compte
Importez la base Airtable fournie : Lien de la base
Maintenant, récupérez votre Personal Access Token :
Créer un Personal Access Token Airtable
Cliquez sur "Create new token"
Donnez-lui un nom (ex: "n8n automation")
Dans Scopes, sélectionnez :
data.records:read,data.records:write,schema.bases:readDans Access, sélectionnez votre base "Lead Prospection"
Cliquez sur "Create token"
Copiez le token (il ne sera plus visible après)
4. OpenAI (IA pour personnalisation)

Ce que ça fait : Analyse le site web de chaque lead et génère un email ultra-personnalisé qui montre que vous avez vraiment compris leur activité.
Prix :
~0,10$/100 emails avec GPT-4o-mini (le modèle le moins cher et suffisant)
Il faut mettre minimum 5$ de crédit pour commencer
Comment créer votre compte et récupérer la clé API :
Allez sur platform.openai.com
Cliquez sur "Sign up" et créez votre compte
Une fois connecté, allez dans "Settings" (roue crantée en haut à droite)
Cliquez sur "Billing" dans le menu de gauche
Ajoutez un mode de paiement et mettez minimum 5$ de crédit
Retournez sur le Dashboard
Cliquez sur "API keys" dans le menu de gauche
Cliquez sur "Create new secret key"
Donnez-lui un nom (ex: "n8n automation")
Copiez la clé immédiatement (format :
sk-proj-...)Gardez cette clé en sécurité, elle ne sera plus visible
Astuce : Avec 5$, vous pouvez générer environ 5 000 emails personnalisés avec GPT-4o-mini. Largement de quoi tester.
5. Gmail (Envoi des emails)

Ce que ça fait : Crée automatiquement des brouillons d'emails dans votre Gmail, prêts à être envoyés. Vous gardez le contrôle total avant l'envoi.
Prix : Gratuit (vous avez juste besoin d'un compte Gmail)
Comment connecter Gmail à n8n :
La configuration Gmail OAuth nécessite quelques étapes sur Google Cloud Console. Plutôt que de tout expliquer ici, suivez ce tutoriel vidéo de 5 minutes qui montre exactement comment faire :
👉 Setup Google Credentials in n8n (Gmail, Sheets & Drive)
Importer le workflow dans n8n
Maintenant que vous avez tous les outils prêts, on va importer le workflow complet dans n8n.
Télécharger le workflow

Avant tout, téléchargez le fichier du workflow :
Le fichier s'appelle SCRAPTING-LEADS.json. Gardez-le sous la main, on va l'importer dans n8n.
Importer dans n8n
Ouvrez n8n (votre instance cloud ou self-hosted)
En haut à droite, cliquez sur le bouton orange "Create workflow"

Cliquez sur les 3 petits points (menu) en haut à droite

Sélectionnez "Import from File..."

Sélectionnez le fichier SCRAPTING-LEADS.json que vous venez de télécharger

Cliquez sur "Ouvrir"
✅ Le workflow est maintenant importé ! Vous devriez voir tous les nodes (blocs) du workflow s'afficher.

Connecter vos APIs au workflow
1. HTTP Request (Serper) - Scraping Google Maps

Ce node récupère les entreprises depuis Google Maps.
Étapes :
Cliquez sur le node "HTTP Request" (le premier après "Code in JavaScript")
Descendez jusqu'à "Authentication"
Sélectionnez "Generic Credential Type"
Dans "Generic Auth Type", sélectionnez "Header Auth"
Cliquez sur le menu déroulant à côté et sélectionnez "Create New Credential"
Une fenêtre s'ouvre :
Name : mettez "serper" (ou ce que vous voulez)
Header Name : tapez exactement
X-API-KEYValue : collez votre clé API Serper (celle que vous avez récupérée sur serper.dev)
Cliquez sur "Save"
✅ Serper est connecté ! Le node va maintenant pouvoir scraper Google Maps.
2. Create or update a record (Airtable) - Sauvegarde des leads

Ce node enregistre les leads dans votre base Airtable.
Étapes :
Cliquez sur le node "Create or update a record"
À côté de "Credential to connect with", cliquez sur le menu déroulant
Sélectionnez "Create New Credential"
Sélectionnez "Airtable Personal Access Token"
Une fenêtre s'ouvre :
Access Token : collez votre token Airtable (celui que vous avez créé sur airtable.com/create/tokens)
Cliquez sur "Save"
Le workflow va automatiquement détecter votre base Airtable
Dans "Base", sélectionnez "Lead Prospection" (ou le nom de votre base)
Dans "Table", sélectionnez "Leads"
✅ Airtable est connecté ! Les leads seront automatiquement enregistrés dans votre base.
5. Message a model (OpenAI) - Génération des emails personnalisés

Ce node utilise ChatGPT pour analyser les sites web et générer des emails ultra-personnalisés.
Étapes :
Cliquez sur le node "Message a model"
À côté de "Credential to connect with", cliquez sur le menu déroulant
Sélectionnez "Create New Credential"
Sélectionnez "OpenAI API"
Une fenêtre s'ouvre :
API Key : collez votre clé API OpenAI (celle qui commence par
sk-proj-...)
Cliquez sur "Save"
Dans "Model", vérifiez que "gpt-4o-mini" est sélectionné (c'est le moins cher)
✅ OpenAI est connecté ! L'IA va générer des emails personnalisés pour chaque lead.
6. Create a draft (Gmail) - Création des brouillons

Ce node crée automatiquement un brouillon Gmail pour chaque lead.
Étapes :
Cliquez sur le node "Create a draft"
À côté de "Credential to connect with", cliquez sur le menu déroulant
Sélectionnez "Create New Credential"
Sélectionnez "Gmail OAuth2 API"
Ici, vous devez avoir déjà créé vos identifiants Google Cloud (suivez la vidéo : Setup Google Credentials)
Une fenêtre s'ouvre :
Client ID : collez le Client ID que vous avez récupéré sur Google Cloud Console
Client Secret : collez le Client Secret
OAuth Redirect URL : copiez cette URL (vous l'avez déjà ajoutée dans Google Cloud Console normalement)
Cliquez sur "Save"
Cliquez sur "Connect my account"
Une fenêtre Google s'ouvre : sélectionnez votre compte Gmail
Autorisez les permissions demandées
✅ Connexion réussie !
Configurer vos paramètres de recherche
Maintenant que toutes vos APIs sont connectées, vous devez configurer ce que vous voulez chercher : quelle ville, quel secteur d'activité, combien de résultats...
1. Définir votre recherche (Node "HTTP Request" - Serper)
C'est ici que vous allez dire à Serper quoi chercher sur Google Maps.

Étapes :
Cliquez sur le node "HTTP Request" (celui qui appelle Serper)
Descendez jusqu'à "Body Parameters" (ou "JSON Body" selon votre version)
Vous verrez un code JSON qui ressemble à ça :
json{ "q": "BTP", "gl": "fr", "hl": "fr", "tbs": "qdr:y", "location": "Paris, France", "num": 20, "page": {{ $json.page }} }
Voici ce que signifie chaque paramètre :
Paramètre | Description | Exemple |
|---|---|---|
"q" | Le secteur d'activité / mot-clé recherché |
|
"location" | La ville ou zone géographique |
|
"gl" | Le pays (code ISO) |
|
"hl" | La langue des résultats |
|
"num" | Nombre de résultats par page (max 20) |
|
"tbs" | Filtre temporel (optionnel) |
|
"page" | Numéro de la page | Ne pas toucher (géré automatiquement) |
2. Personnaliser votre recherche
Exemple 1 : Vous voulez des salons de coiffure à Lyon
Modifiez le JSON comme ceci :
json{ "q": "salon de coiffure", "gl": "fr", "hl": "fr", "tbs": "qdr:y", "location": "Lyon, France", "num": 20, "page": {{ $json.page }} }
Exemple 2 : Vous voulez des restaurants à Marseille
json{ "q": "restaurant", "gl": "fr", "hl": "fr", "tbs": "qdr:y", "location": "Marseille, France", "num": 20, "page": {{ $json.page }} }
Exemple 3 : Vous voulez des entreprises BTP à Paris
json{ "q": "BTP", "gl": "fr", "hl": "fr", "tbs": "qdr:y", "location": "Paris, France", "num": 20, "page": {{ $json.page }} }
3. Définir le nombre de pages à scraper (Node "Code in JavaScript")
Par défaut, le workflow récupère 10 pages de résultats, soit 200 leads (10 pages × 20 résultats).
Si vous voulez changer le nombre de pages :
Cliquez sur le node "Code in JavaScript" (le tout premier)
Vous verrez ce code :
javascriptconst items = []; for (let page = 1; page <= 10; page++) { items.push({ json: { page } }); } return items;
Changez le nombre 10 par ce que vous voulez :
5 pages = 100 leads →
page <= 520 pages = 400 leads →
page <= 2050 pages = 1000 leads →
page <= 50
Exemple : Pour récupérer 500 leads (25 pages)
javascriptconst items = []; for (let page = 1; page <= 25; page++) { items.push({ json: { page } }); } return items;
Cliquez sur "Save"
4. Filtrer les types de sites web (Node "Code in JavaScript1")
Ce node filtre automatiquement les leads pour garder seulement ceux avec téléphone + site web, et exclut Facebook, Instagram, Google Maps.
C'est déjà configuré, vous n'avez rien à toucher ici !
Mais si vous voulez ajouter d'autres domaines à exclure :
Cliquez sur le node "Code in JavaScript1"
Cherchez cette partie du code :
javascriptconst isUnwantedDomain = websiteLower.includes('google.com') || websiteLower.includes('google.fr') || websiteLower.includes('instagram.com') || websiteLower.includes('facebook.com') || websiteLower.includes('fb.com') || websiteLower.includes('planity.com') || websiteLower.includes('booksy.com');
Ajoutez une ligne pour exclure un autre domaine, par exemple LinkedIn :
javascriptconst isUnwantedDomain = websiteLower.includes('google.com') || websiteLower.includes('google.fr') || websiteLower.includes('instagram.com') || websiteLower.includes('facebook.com') || websiteLower.includes('fb.com') || websiteLower.includes('planity.com') || websiteLower.includes('booksy.com') || websiteLower.includes('linkedin.com'); // Ajouté
5. Personnaliser le prompt ChatGPT (Node "Message a model")

Ce node génère les emails personnalisés avec l'IA. Vous pouvez modifier le ton et le style des emails.
Étapes :
Cliquez sur le node "Message a model"
Descendez jusqu'à "Responses" ou "Messages"
Vous verrez ce prompt :
textAnalyse le site {{ $json.fields['Site Web'] }} de {{ $json.fields.Nom }}, un {{ $json.fields.Keyword }} à {{ $json.fields['Source Ville'] }}. Comprends en profondeur : - Leur métier exact, leur clientèle, leur positionnement - Les tâches répétitives qu'ils font probablement à la main (prise de RDV, relances clients, gestion planning, facturation, suivi...) - Leur état d'esprit et tonalité (moderne/traditionnel, jeune/établi) Rédige UN email de premier contact (80 mots max) qui : 1. Montre que vous avez compris leur quotidien 2. Mentionne UN point concret de leur activité 3. Propose l'automatisation IA de façon simple et conversationnelle 4. Termine par "On en parle ?" Ton : naturel, vouvoiement, comme un message professionnel mais chaleureux. Pas commercial. Pas de jargon. IMPORTANT : - Réponds UNIQUEMENT en HTML - Saute des lignes entre chaque idée (<br><br>
Vous pouvez modifier :
Le nombre de mots : changez
80 mots maxpar100 mots maxou50 mots maxLe ton : changez
vouvoiementpartutoiementsi vous ciblez des jeunes entrepreneursLa phrase de fin : changez
On en parle ?parIntéressé ?ouUn café pour en discuter ?
6. Modifier le sujet de l'email (Node "Create a draft")

Par défaut, le sujet de l'email est "Une question rapide". Vous pouvez le changer.
Étapes :
Cliquez sur le node "Create a draft"
Cherchez le champ "Subject"
Vous verrez :
Une question rapideChangez-le par ce que vous voulez :
Une idée pour {{ $json.fields.Nom }}(personnalisé avec le nom)Gagner du temps ?{{ $json.fields.Nom }} – automatisation
Exemple pour personnaliser avec le nom de l'entreprise :
textUne idée pour {{ $json.fields.Nom }}
Résultat : "Une idée pour Le Salon de Coiffure Martin"
Récapitulatif de la configuration
Voici ce que vous devez avoir configuré :
Où | Quoi configurer | Exemple |
|---|---|---|
HTTP Request (Serper) | Secteur d'activité ( |
|
HTTP Request (Serper) | Ville ( |
|
Code in JavaScript | Nombre de pages |
|
Message a model | Ton et style de l'email | Vouvoiement, 80 mots max |
Create a draft | Sujet de l'email |
|
Lancer le workflow et récupérer vos premiers leads
Tout est configuré ! C'est le moment de lancer le workflow et de voir la magie opérer.
1. Tester le workflow (recommandé)
Avant de lancer sur 200 leads, faites un test rapide avec une seule page.
Étapes :
Dans le node "Code in JavaScript" (le premier), changez temporairement le nombre de pages à 1 :

javascriptconst items = []; for (let page = 1; page <= 1; page++) { // Test avec 1 seule page items.push({ json: { page } }); } return items;
Cliquez sur "Save" en haut à droite
Cliquez sur le bouton "Execute workflow" (le bouton rouge en haut à droite)
Le workflow se lance ! Les nodes s'exécutent un par un et deviennent verts ✅
Ce qui se passe :

Serper scrape Google Maps → récupère 20 entreprises
Filtrage automatique → garde seulement celles avec téléphone + site web (exclut Facebook/Instagram)
Enregistrement dans Airtable
Scraping des sites web → extraction des emails
ChatGPT génère un email personnalisé pour chaque lead
Création automatique de brouillons Gmail
Durée : 2-5 minutes pour 20 leads
2. Vérifier les résultats dans Airtable

Ouvrez votre base Airtable "Lead Prospection"
Allez dans la table "Leads"
Vous devriez voir vos premiers leads avec :
Nom de l'entreprise
Adresse
Téléphone
Site web
Note Google
Nombre d'avis
Email (extrait automatiquement)
3. Vérifier les brouillons Gmail
Ouvrez Gmail
Allez dans "Brouillons" (menu de gauche)
Vous verrez des brouillons d'emails avec :
Sujet : "Une question rapide" (ou celui que vous avez configuré)
Destinataire : l'email du lead
Corps : un message ultra-personnalisé généré par l'IA
Ouvrez un brouillon : ChatGPT a analysé le site web et a écrit un message qui montre qu'il a vraiment compris leur activité. Impressionnant, non ?
4. Lancer en mode production
Si le test fonctionne, passez en mode production.
Étapes :
Retournez dans le node "Code in JavaScript"
Remettez le nombre de pages à 10 (ou plus) :
javascriptconst items = []; for (let page = 1; page <= 10; page++) { // 200 leads items.push({ json: { page } }); } return items;
Cliquez sur "Save"
Cliquez sur "Execute workflow"
Allez prendre un café ☕ — le workflow va tourner pendant 5 - 10 minutes
5. Gérer les leads sans email
Tous les sites n'ont pas d'email visible. Le taux de succès est d'environ 71%.
Sur 200 leads scrapés :
~150 auront téléphone + site web (après filtrage)
~110 - 150 auront un email extrait
Pour les autres leads :
Contactez-les par téléphone (numéro dans Airtable)
6. Envoyer vos emails
Une fois les brouillons créés dans Gmail :
Allez dans Gmail → Brouillons
Relisez chaque email avant d'envoyer (l'IA est très bonne mais vérifiez toujours)
Ajoutez votre signature si besoin
Cliquez sur "Envoyer"
Conseil : Commencez par envoyer 10-20 emails et observez les réponses avant d'envoyer en masse.
7. Automatiser l'envoi (optionnel - avancé)
Si vous voulez que les emails partent automatiquement :
Remplacez le node "Create a draft" par "Send Email"
⚠️ Attention : les emails partiront directement sans validation
Testez TOUJOURS avec 1-2 leads avant de lancer en masse
Ce que vous venez de construire
Vous avez maintenant un système de génération de leads automatique qui :
✅ Scrape Google Maps pour trouver des entreprises locales
✅ Filtre automatiquement les leads qualifiés (avec téléphone + site web)
✅ Extrait les emails depuis leurs sites web
✅ Génère des messages ultra-personnalisés avec l'IA
✅ Crée des brouillons Gmail prêts à envoyer
Coût pour 200 leads :
Serper : gratuit (2 500 crédits/mois)
n8n : gratuit (self-hosted) ou 20€/mois
Airtable : gratuit (jusqu'à 1 000 records)
OpenAI : ~0,50€ pour 50 emails générés
Gmail : gratuit
Total : ~0,50€ pour 500 leads qualifiés avec emails personnalisés 🎯
Au lieu de payer 149€/mois pour Clay ou Apollo.
Prochaines étapes pour aller plus loin
Maintenant que le système tourne :
Testez différents secteurs : salons de coiffure, restaurants, BTP, plombiers, avocats...
Testez différentes villes : Paris, Lyon, Marseille, Bordeaux, Toulouse...
Optimisez le prompt ChatGPT pour améliorer encore la personnalisation
Suivez vos taux de réponse et ajustez le ton de vos emails
Automatisez le suivi : ajoutez des relances automatiques après 3-7 jours sans réponse
Vous avez maintenant un générateur de leads illimité, automatique et presque gratuit. 🚀
Bon scraping !

Passionné d'automatisation et d'IA, j'ai fondé Vision IA pour aider les entreprises à gagner du temps dans leurs processus
Abonnez-vous à
notre
newsletter
Chaque semaine : 2 articles, 1 outil IA, et des conseils faciles à appliquer.
Abonnez-vous à
notre
newsletter
Chaque semaine : 2 articles, 1 outil IA, et des conseils faciles à appliquer.
Abonnez-vous à
notre
newsletter
Chaque semaine : 2 articles, 1 outil IA, et des conseils faciles à appliquer.


