Icône de la catégorie Ressources
Icône de la catégorie Ressources

Resources

9 déc. 2025

Automatiser la génération de leads locaux avec Google Maps et l'IA

illustration du site Générer en un prompt grâce à l’IA Opus 4.5
illustration du site Générer en un prompt grâce à l’IA Opus 4.5
illustration du site Générer en un prompt grâce à l’IA Opus 4.5

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 :

  1. Scrape Google Maps via Serper

  2. Récupère nom, téléphone, site web, avis des entreprises

  3. Extrait les emails en scrapant leurs sites

  4. Génère un email personnalisé avec ChatGPT

  5. 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 ?

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 :

  1. Allez sur serper.dev

  2. Cliquez sur "Sign up" en haut à droite

  3. Inscrivez-vous avec votre email ou Google

  4. Une fois connecté, allez dans votre Dashboard

  5. Cliquez sur "API Key" dans le menu de gauche

  6. Copiez votre clé API (elle ressemble à abc123def456...)

  7. 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 :

  1. Allez sur airtable.com

  2. Cliquez sur "Sign up for free"

  3. Créez votre compte

  4. Importez la base Airtable fournie : Lien de la base

  5. Maintenant, récupérez votre Personal Access Token :

  6. Créer un Personal Access Token Airtable

    1. Cliquez sur "Create new token"

    2. Donnez-lui un nom (ex: "n8n automation")

    3. Dans Scopes, sélectionnez : data.records:read, data.records:write, schema.bases:read

    4. Dans Access, sélectionnez votre base "Lead Prospection"

    5. Cliquez sur "Create token"

    6. 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 :

  1. Allez sur platform.openai.com

  2. Cliquez sur "Sign up" et créez votre compte

  3. Une fois connecté, allez dans "Settings" (roue crantée en haut à droite)

  4. Cliquez sur "Billing" dans le menu de gauche

  5. Ajoutez un mode de paiement et mettez minimum 5$ de crédit

  6. Retournez sur le Dashboard

  7. Cliquez sur "API keys" dans le menu de gauche

  8. Cliquez sur "Create new secret key"

  9. Donnez-lui un nom (ex: "n8n automation")

  10. Copiez la clé immédiatement (format : sk-proj-...)

  11. 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 :

👉 Télécharger le workflow n8n

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 :

  1. Cliquez sur le node "HTTP Request" (le premier après "Code in JavaScript")

  2. Descendez jusqu'à "Authentication"

  3. Sélectionnez "Generic Credential Type"

  4. Dans "Generic Auth Type", sélectionnez "Header Auth"

  5. Cliquez sur le menu déroulant à côté et sélectionnez "Create New Credential"

  6. Une fenêtre s'ouvre :

    • Name : mettez "serper" (ou ce que vous voulez)

    • Header Name : tapez exactement X-API-KEY

    • Value : collez votre clé API Serper (celle que vous avez récupérée sur serper.dev)

  7. 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 :

  1. Cliquez sur le node "Create or update a record"

  2. À côté de "Credential to connect with", cliquez sur le menu déroulant

  3. Sélectionnez "Create New Credential"

  4. Sélectionnez "Airtable Personal Access Token"

  5. Une fenêtre s'ouvre :

  6. Cliquez sur "Save"

  7. Le workflow va automatiquement détecter votre base Airtable

  8. Dans "Base", sélectionnez "Lead Prospection" (ou le nom de votre base)

  9. 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 :

  1. Cliquez sur le node "Message a model"

  2. À côté de "Credential to connect with", cliquez sur le menu déroulant

  3. Sélectionnez "Create New Credential"

  4. Sélectionnez "OpenAI API"

  5. Une fenêtre s'ouvre :

    • API Key : collez votre clé API OpenAI (celle qui commence par sk-proj-...)

  6. Cliquez sur "Save"

  7. 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 :

  1. Cliquez sur le node "Create a draft"

  2. À côté de "Credential to connect with", cliquez sur le menu déroulant

  3. Sélectionnez "Create New Credential"

  4. Sélectionnez "Gmail OAuth2 API"

  5. Ici, vous devez avoir déjà créé vos identifiants Google Cloud (suivez la vidéo : Setup Google Credentials)

  6. 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)

  7. Cliquez sur "Save"

  8. Cliquez sur "Connect my account"

  9. Une fenêtre Google s'ouvre : sélectionnez votre compte Gmail

  10. Autorisez les permissions demandées

  11. 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 :

  1. Cliquez sur le node "HTTP Request" (celui qui appelle Serper)

  2. Descendez jusqu'à "Body Parameters" (ou "JSON Body" selon votre version)

  3. 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é

"salon de coiffure", "BTP", "plombier", "restaurant"

"location"

La ville ou zone géographique

"Paris, France", "Lyon, France", "Marseille, France"

"gl"

Le pays (code ISO)

"fr" pour France

"hl"

La langue des résultats

"fr" pour français

"num"

Nombre de résultats par page (max 20)

20

"tbs"

Filtre temporel (optionnel)

"qdr:y" = créé dans l'année

"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 :

  1. Cliquez sur le node "Code in JavaScript" (le tout premier)

  2. Vous verrez ce code :

javascriptconst items = [];

for (let page = 1; page <= 10; page++) {
  items.push({ json: { page } });
}

return items;
  1. Changez le nombre 10 par ce que vous voulez :

    • 5 pages = 100 leads → page <= 5

    • 20 pages = 400 leads → page <= 20

    • 50 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;
  1. 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 :

  1. Cliquez sur le node "Code in JavaScript1"

  2. 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');
  1. 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 :

  1. Cliquez sur le node "Message a model"

  2. Descendez jusqu'à "Responses" ou "Messages"

  3. 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 max par 100 mots max ou 50 mots max

  • Le ton : changez vouvoiement par tutoiement si vous ciblez des jeunes entrepreneurs

  • La phrase de fin : changez On en parle ? par Intéressé ? ou Un 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 :

  1. Cliquez sur le node "Create a draft"

  2. Cherchez le champ "Subject"

  3. Vous verrez : Une question rapide

  4. Changez-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é :

Quoi configurer

Exemple

HTTP Request (Serper)

Secteur d'activité ("q")

"salon de coiffure"

HTTP Request (Serper)

Ville ("location")

"Lyon, France"

Code in JavaScript

Nombre de pages

10 (= 200 leads)

Message a model

Ton et style de l'email

Vouvoiement, 80 mots max

Create a draft

Sujet de l'email

"Une question rapide"

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 :

  1. 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;
  1. Cliquez sur "Save" en haut à droite

  2. Cliquez sur le bouton "Execute workflow" (le bouton rouge en haut à droite)

  3. 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

  1. Ouvrez votre base Airtable "Lead Prospection"

  2. Allez dans la table "Leads"

  3. 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

  1. Ouvrez Gmail

  2. Allez dans "Brouillons" (menu de gauche)

  3. 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 :

  1. Retournez dans le node "Code in JavaScript"

  2. 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;
  1. Cliquez sur "Save"

  2. Cliquez sur "Execute workflow"

  3. 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 :

  1. Allez dans Gmail → Brouillons

  2. Relisez chaque email avant d'envoyer (l'IA est très bonne mais vérifiez toujours)

  3. Ajoutez votre signature si besoin

  4. 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 :

  1. Remplacez le node "Create a draft" par "Send Email"

  2. ⚠️ Attention : les emails partiront directement sans validation

  3. 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 :

  1. Testez différents secteurs : salons de coiffure, restaurants, BTP, plombiers, avocats...

  2. Testez différentes villes : Paris, Lyon, Marseille, Bordeaux, Toulouse...

  3. Optimisez le prompt ChatGPT pour améliorer encore la personnalisation

  4. Suivez vos taux de réponse et ajustez le ton de vos emails

  5. 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 !

https://www.linkedin.com/in/baptiste-fort-46873524b/
Dev Lowcode
Avatar - Subscription X Framer Template | Brix Templates

Passionné d'automatisation et d'IA, j'ai fondé Vision IA pour aider les entreprises à gagner du temps dans leurs processus

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 :

  1. Scrape Google Maps via Serper

  2. Récupère nom, téléphone, site web, avis des entreprises

  3. Extrait les emails en scrapant leurs sites

  4. Génère un email personnalisé avec ChatGPT

  5. 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 ?

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 :

  1. Allez sur serper.dev

  2. Cliquez sur "Sign up" en haut à droite

  3. Inscrivez-vous avec votre email ou Google

  4. Une fois connecté, allez dans votre Dashboard

  5. Cliquez sur "API Key" dans le menu de gauche

  6. Copiez votre clé API (elle ressemble à abc123def456...)

  7. 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 :

  1. Allez sur airtable.com

  2. Cliquez sur "Sign up for free"

  3. Créez votre compte

  4. Importez la base Airtable fournie : Lien de la base

  5. Maintenant, récupérez votre Personal Access Token :

  6. Créer un Personal Access Token Airtable

    1. Cliquez sur "Create new token"

    2. Donnez-lui un nom (ex: "n8n automation")

    3. Dans Scopes, sélectionnez : data.records:read, data.records:write, schema.bases:read

    4. Dans Access, sélectionnez votre base "Lead Prospection"

    5. Cliquez sur "Create token"

    6. 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 :

  1. Allez sur platform.openai.com

  2. Cliquez sur "Sign up" et créez votre compte

  3. Une fois connecté, allez dans "Settings" (roue crantée en haut à droite)

  4. Cliquez sur "Billing" dans le menu de gauche

  5. Ajoutez un mode de paiement et mettez minimum 5$ de crédit

  6. Retournez sur le Dashboard

  7. Cliquez sur "API keys" dans le menu de gauche

  8. Cliquez sur "Create new secret key"

  9. Donnez-lui un nom (ex: "n8n automation")

  10. Copiez la clé immédiatement (format : sk-proj-...)

  11. 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 :

👉 Télécharger le workflow n8n

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 :

  1. Cliquez sur le node "HTTP Request" (le premier après "Code in JavaScript")

  2. Descendez jusqu'à "Authentication"

  3. Sélectionnez "Generic Credential Type"

  4. Dans "Generic Auth Type", sélectionnez "Header Auth"

  5. Cliquez sur le menu déroulant à côté et sélectionnez "Create New Credential"

  6. Une fenêtre s'ouvre :

    • Name : mettez "serper" (ou ce que vous voulez)

    • Header Name : tapez exactement X-API-KEY

    • Value : collez votre clé API Serper (celle que vous avez récupérée sur serper.dev)

  7. 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 :

  1. Cliquez sur le node "Create or update a record"

  2. À côté de "Credential to connect with", cliquez sur le menu déroulant

  3. Sélectionnez "Create New Credential"

  4. Sélectionnez "Airtable Personal Access Token"

  5. Une fenêtre s'ouvre :

  6. Cliquez sur "Save"

  7. Le workflow va automatiquement détecter votre base Airtable

  8. Dans "Base", sélectionnez "Lead Prospection" (ou le nom de votre base)

  9. 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 :

  1. Cliquez sur le node "Message a model"

  2. À côté de "Credential to connect with", cliquez sur le menu déroulant

  3. Sélectionnez "Create New Credential"

  4. Sélectionnez "OpenAI API"

  5. Une fenêtre s'ouvre :

    • API Key : collez votre clé API OpenAI (celle qui commence par sk-proj-...)

  6. Cliquez sur "Save"

  7. 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 :

  1. Cliquez sur le node "Create a draft"

  2. À côté de "Credential to connect with", cliquez sur le menu déroulant

  3. Sélectionnez "Create New Credential"

  4. Sélectionnez "Gmail OAuth2 API"

  5. Ici, vous devez avoir déjà créé vos identifiants Google Cloud (suivez la vidéo : Setup Google Credentials)

  6. 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)

  7. Cliquez sur "Save"

  8. Cliquez sur "Connect my account"

  9. Une fenêtre Google s'ouvre : sélectionnez votre compte Gmail

  10. Autorisez les permissions demandées

  11. 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 :

  1. Cliquez sur le node "HTTP Request" (celui qui appelle Serper)

  2. Descendez jusqu'à "Body Parameters" (ou "JSON Body" selon votre version)

  3. 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é

"salon de coiffure", "BTP", "plombier", "restaurant"

"location"

La ville ou zone géographique

"Paris, France", "Lyon, France", "Marseille, France"

"gl"

Le pays (code ISO)

"fr" pour France

"hl"

La langue des résultats

"fr" pour français

"num"

Nombre de résultats par page (max 20)

20

"tbs"

Filtre temporel (optionnel)

"qdr:y" = créé dans l'année

"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 :

  1. Cliquez sur le node "Code in JavaScript" (le tout premier)

  2. Vous verrez ce code :

javascriptconst items = [];

for (let page = 1; page <= 10; page++) {
  items.push({ json: { page } });
}

return items;
  1. Changez le nombre 10 par ce que vous voulez :

    • 5 pages = 100 leads → page <= 5

    • 20 pages = 400 leads → page <= 20

    • 50 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;
  1. 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 :

  1. Cliquez sur le node "Code in JavaScript1"

  2. 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');
  1. 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 :

  1. Cliquez sur le node "Message a model"

  2. Descendez jusqu'à "Responses" ou "Messages"

  3. 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 max par 100 mots max ou 50 mots max

  • Le ton : changez vouvoiement par tutoiement si vous ciblez des jeunes entrepreneurs

  • La phrase de fin : changez On en parle ? par Intéressé ? ou Un 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 :

  1. Cliquez sur le node "Create a draft"

  2. Cherchez le champ "Subject"

  3. Vous verrez : Une question rapide

  4. Changez-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é :

Quoi configurer

Exemple

HTTP Request (Serper)

Secteur d'activité ("q")

"salon de coiffure"

HTTP Request (Serper)

Ville ("location")

"Lyon, France"

Code in JavaScript

Nombre de pages

10 (= 200 leads)

Message a model

Ton et style de l'email

Vouvoiement, 80 mots max

Create a draft

Sujet de l'email

"Une question rapide"

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 :

  1. 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;
  1. Cliquez sur "Save" en haut à droite

  2. Cliquez sur le bouton "Execute workflow" (le bouton rouge en haut à droite)

  3. 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

  1. Ouvrez votre base Airtable "Lead Prospection"

  2. Allez dans la table "Leads"

  3. 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

  1. Ouvrez Gmail

  2. Allez dans "Brouillons" (menu de gauche)

  3. 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 :

  1. Retournez dans le node "Code in JavaScript"

  2. 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;
  1. Cliquez sur "Save"

  2. Cliquez sur "Execute workflow"

  3. 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 :

  1. Allez dans Gmail → Brouillons

  2. Relisez chaque email avant d'envoyer (l'IA est très bonne mais vérifiez toujours)

  3. Ajoutez votre signature si besoin

  4. 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 :

  1. Remplacez le node "Create a draft" par "Send Email"

  2. ⚠️ Attention : les emails partiront directement sans validation

  3. 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 :

  1. Testez différents secteurs : salons de coiffure, restaurants, BTP, plombiers, avocats...

  2. Testez différentes villes : Paris, Lyon, Marseille, Bordeaux, Toulouse...

  3. Optimisez le prompt ChatGPT pour améliorer encore la personnalisation

  4. Suivez vos taux de réponse et ajustez le ton de vos emails

  5. 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 !

https://www.linkedin.com/in/baptiste-fort-46873524b/
Dev Lowcode
Avatar - Subscription X Framer Template | Brix Templates

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.

Icone pour illuster la newsletter de l'agence Vision IA

Abonnez-vous à

notre

newsletter

Chaque semaine : 2 articles, 1 outil IA, et des conseils faciles à appliquer.

Icone pour illuster la newsletter de l'agence Vision 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 :

  1. Scrape Google Maps via Serper

  2. Récupère nom, téléphone, site web, avis des entreprises

  3. Extrait les emails en scrapant leurs sites

  4. Génère un email personnalisé avec ChatGPT

  5. 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 ?

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 :

  1. Allez sur serper.dev

  2. Cliquez sur "Sign up" en haut à droite

  3. Inscrivez-vous avec votre email ou Google

  4. Une fois connecté, allez dans votre Dashboard

  5. Cliquez sur "API Key" dans le menu de gauche

  6. Copiez votre clé API (elle ressemble à abc123def456...)

  7. 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 :

  1. Allez sur airtable.com

  2. Cliquez sur "Sign up for free"

  3. Créez votre compte

  4. Importez la base Airtable fournie : Lien de la base

  5. Maintenant, récupérez votre Personal Access Token :

  6. Créer un Personal Access Token Airtable

    1. Cliquez sur "Create new token"

    2. Donnez-lui un nom (ex: "n8n automation")

    3. Dans Scopes, sélectionnez : data.records:read, data.records:write, schema.bases:read

    4. Dans Access, sélectionnez votre base "Lead Prospection"

    5. Cliquez sur "Create token"

    6. 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 :

  1. Allez sur platform.openai.com

  2. Cliquez sur "Sign up" et créez votre compte

  3. Une fois connecté, allez dans "Settings" (roue crantée en haut à droite)

  4. Cliquez sur "Billing" dans le menu de gauche

  5. Ajoutez un mode de paiement et mettez minimum 5$ de crédit

  6. Retournez sur le Dashboard

  7. Cliquez sur "API keys" dans le menu de gauche

  8. Cliquez sur "Create new secret key"

  9. Donnez-lui un nom (ex: "n8n automation")

  10. Copiez la clé immédiatement (format : sk-proj-...)

  11. 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 :

👉 Télécharger le workflow n8n

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 :

  1. Cliquez sur le node "HTTP Request" (le premier après "Code in JavaScript")

  2. Descendez jusqu'à "Authentication"

  3. Sélectionnez "Generic Credential Type"

  4. Dans "Generic Auth Type", sélectionnez "Header Auth"

  5. Cliquez sur le menu déroulant à côté et sélectionnez "Create New Credential"

  6. Une fenêtre s'ouvre :

    • Name : mettez "serper" (ou ce que vous voulez)

    • Header Name : tapez exactement X-API-KEY

    • Value : collez votre clé API Serper (celle que vous avez récupérée sur serper.dev)

  7. 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 :

  1. Cliquez sur le node "Create or update a record"

  2. À côté de "Credential to connect with", cliquez sur le menu déroulant

  3. Sélectionnez "Create New Credential"

  4. Sélectionnez "Airtable Personal Access Token"

  5. Une fenêtre s'ouvre :

  6. Cliquez sur "Save"

  7. Le workflow va automatiquement détecter votre base Airtable

  8. Dans "Base", sélectionnez "Lead Prospection" (ou le nom de votre base)

  9. 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 :

  1. Cliquez sur le node "Message a model"

  2. À côté de "Credential to connect with", cliquez sur le menu déroulant

  3. Sélectionnez "Create New Credential"

  4. Sélectionnez "OpenAI API"

  5. Une fenêtre s'ouvre :

    • API Key : collez votre clé API OpenAI (celle qui commence par sk-proj-...)

  6. Cliquez sur "Save"

  7. 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 :

  1. Cliquez sur le node "Create a draft"

  2. À côté de "Credential to connect with", cliquez sur le menu déroulant

  3. Sélectionnez "Create New Credential"

  4. Sélectionnez "Gmail OAuth2 API"

  5. Ici, vous devez avoir déjà créé vos identifiants Google Cloud (suivez la vidéo : Setup Google Credentials)

  6. 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)

  7. Cliquez sur "Save"

  8. Cliquez sur "Connect my account"

  9. Une fenêtre Google s'ouvre : sélectionnez votre compte Gmail

  10. Autorisez les permissions demandées

  11. 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 :

  1. Cliquez sur le node "HTTP Request" (celui qui appelle Serper)

  2. Descendez jusqu'à "Body Parameters" (ou "JSON Body" selon votre version)

  3. 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é

"salon de coiffure", "BTP", "plombier", "restaurant"

"location"

La ville ou zone géographique

"Paris, France", "Lyon, France", "Marseille, France"

"gl"

Le pays (code ISO)

"fr" pour France

"hl"

La langue des résultats

"fr" pour français

"num"

Nombre de résultats par page (max 20)

20

"tbs"

Filtre temporel (optionnel)

"qdr:y" = créé dans l'année

"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 :

  1. Cliquez sur le node "Code in JavaScript" (le tout premier)

  2. Vous verrez ce code :

javascriptconst items = [];

for (let page = 1; page <= 10; page++) {
  items.push({ json: { page } });
}

return items;
  1. Changez le nombre 10 par ce que vous voulez :

    • 5 pages = 100 leads → page <= 5

    • 20 pages = 400 leads → page <= 20

    • 50 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;
  1. 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 :

  1. Cliquez sur le node "Code in JavaScript1"

  2. 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');
  1. 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 :

  1. Cliquez sur le node "Message a model"

  2. Descendez jusqu'à "Responses" ou "Messages"

  3. 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 max par 100 mots max ou 50 mots max

  • Le ton : changez vouvoiement par tutoiement si vous ciblez des jeunes entrepreneurs

  • La phrase de fin : changez On en parle ? par Intéressé ? ou Un 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 :

  1. Cliquez sur le node "Create a draft"

  2. Cherchez le champ "Subject"

  3. Vous verrez : Une question rapide

  4. Changez-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é :

Quoi configurer

Exemple

HTTP Request (Serper)

Secteur d'activité ("q")

"salon de coiffure"

HTTP Request (Serper)

Ville ("location")

"Lyon, France"

Code in JavaScript

Nombre de pages

10 (= 200 leads)

Message a model

Ton et style de l'email

Vouvoiement, 80 mots max

Create a draft

Sujet de l'email

"Une question rapide"

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 :

  1. 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;
  1. Cliquez sur "Save" en haut à droite

  2. Cliquez sur le bouton "Execute workflow" (le bouton rouge en haut à droite)

  3. 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

  1. Ouvrez votre base Airtable "Lead Prospection"

  2. Allez dans la table "Leads"

  3. 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

  1. Ouvrez Gmail

  2. Allez dans "Brouillons" (menu de gauche)

  3. 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 :

  1. Retournez dans le node "Code in JavaScript"

  2. 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;
  1. Cliquez sur "Save"

  2. Cliquez sur "Execute workflow"

  3. 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 :

  1. Allez dans Gmail → Brouillons

  2. Relisez chaque email avant d'envoyer (l'IA est très bonne mais vérifiez toujours)

  3. Ajoutez votre signature si besoin

  4. 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 :

  1. Remplacez le node "Create a draft" par "Send Email"

  2. ⚠️ Attention : les emails partiront directement sans validation

  3. 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 :

  1. Testez différents secteurs : salons de coiffure, restaurants, BTP, plombiers, avocats...

  2. Testez différentes villes : Paris, Lyon, Marseille, Bordeaux, Toulouse...

  3. Optimisez le prompt ChatGPT pour améliorer encore la personnalisation

  4. Suivez vos taux de réponse et ajustez le ton de vos emails

  5. 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 !

https://www.linkedin.com/in/baptiste-fort-46873524b/
Dev Lowcode
Avatar - Subscription X Framer Template | Brix Templates

Passionné d'automatisation et d'IA, j'ai fondé Vision IA pour aider les entreprises à gagner du temps dans leurs processus

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 :

  1. Scrape Google Maps via Serper

  2. Récupère nom, téléphone, site web, avis des entreprises

  3. Extrait les emails en scrapant leurs sites

  4. Génère un email personnalisé avec ChatGPT

  5. 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 ?

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 :

  1. Allez sur serper.dev

  2. Cliquez sur "Sign up" en haut à droite

  3. Inscrivez-vous avec votre email ou Google

  4. Une fois connecté, allez dans votre Dashboard

  5. Cliquez sur "API Key" dans le menu de gauche

  6. Copiez votre clé API (elle ressemble à abc123def456...)

  7. 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 :

  1. Allez sur airtable.com

  2. Cliquez sur "Sign up for free"

  3. Créez votre compte

  4. Importez la base Airtable fournie : Lien de la base

  5. Maintenant, récupérez votre Personal Access Token :

  6. Créer un Personal Access Token Airtable

    1. Cliquez sur "Create new token"

    2. Donnez-lui un nom (ex: "n8n automation")

    3. Dans Scopes, sélectionnez : data.records:read, data.records:write, schema.bases:read

    4. Dans Access, sélectionnez votre base "Lead Prospection"

    5. Cliquez sur "Create token"

    6. 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 :

  1. Allez sur platform.openai.com

  2. Cliquez sur "Sign up" et créez votre compte

  3. Une fois connecté, allez dans "Settings" (roue crantée en haut à droite)

  4. Cliquez sur "Billing" dans le menu de gauche

  5. Ajoutez un mode de paiement et mettez minimum 5$ de crédit

  6. Retournez sur le Dashboard

  7. Cliquez sur "API keys" dans le menu de gauche

  8. Cliquez sur "Create new secret key"

  9. Donnez-lui un nom (ex: "n8n automation")

  10. Copiez la clé immédiatement (format : sk-proj-...)

  11. 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 :

👉 Télécharger le workflow n8n

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 :

  1. Cliquez sur le node "HTTP Request" (le premier après "Code in JavaScript")

  2. Descendez jusqu'à "Authentication"

  3. Sélectionnez "Generic Credential Type"

  4. Dans "Generic Auth Type", sélectionnez "Header Auth"

  5. Cliquez sur le menu déroulant à côté et sélectionnez "Create New Credential"

  6. Une fenêtre s'ouvre :

    • Name : mettez "serper" (ou ce que vous voulez)

    • Header Name : tapez exactement X-API-KEY

    • Value : collez votre clé API Serper (celle que vous avez récupérée sur serper.dev)

  7. 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 :

  1. Cliquez sur le node "Create or update a record"

  2. À côté de "Credential to connect with", cliquez sur le menu déroulant

  3. Sélectionnez "Create New Credential"

  4. Sélectionnez "Airtable Personal Access Token"

  5. Une fenêtre s'ouvre :

  6. Cliquez sur "Save"

  7. Le workflow va automatiquement détecter votre base Airtable

  8. Dans "Base", sélectionnez "Lead Prospection" (ou le nom de votre base)

  9. 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 :

  1. Cliquez sur le node "Message a model"

  2. À côté de "Credential to connect with", cliquez sur le menu déroulant

  3. Sélectionnez "Create New Credential"

  4. Sélectionnez "OpenAI API"

  5. Une fenêtre s'ouvre :

    • API Key : collez votre clé API OpenAI (celle qui commence par sk-proj-...)

  6. Cliquez sur "Save"

  7. 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 :

  1. Cliquez sur le node "Create a draft"

  2. À côté de "Credential to connect with", cliquez sur le menu déroulant

  3. Sélectionnez "Create New Credential"

  4. Sélectionnez "Gmail OAuth2 API"

  5. Ici, vous devez avoir déjà créé vos identifiants Google Cloud (suivez la vidéo : Setup Google Credentials)

  6. 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)

  7. Cliquez sur "Save"

  8. Cliquez sur "Connect my account"

  9. Une fenêtre Google s'ouvre : sélectionnez votre compte Gmail

  10. Autorisez les permissions demandées

  11. 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 :

  1. Cliquez sur le node "HTTP Request" (celui qui appelle Serper)

  2. Descendez jusqu'à "Body Parameters" (ou "JSON Body" selon votre version)

  3. 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é

"salon de coiffure", "BTP", "plombier", "restaurant"

"location"

La ville ou zone géographique

"Paris, France", "Lyon, France", "Marseille, France"

"gl"

Le pays (code ISO)

"fr" pour France

"hl"

La langue des résultats

"fr" pour français

"num"

Nombre de résultats par page (max 20)

20

"tbs"

Filtre temporel (optionnel)

"qdr:y" = créé dans l'année

"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 :

  1. Cliquez sur le node "Code in JavaScript" (le tout premier)

  2. Vous verrez ce code :

javascriptconst items = [];

for (let page = 1; page <= 10; page++) {
  items.push({ json: { page } });
}

return items;
  1. Changez le nombre 10 par ce que vous voulez :

    • 5 pages = 100 leads → page <= 5

    • 20 pages = 400 leads → page <= 20

    • 50 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;
  1. 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 :

  1. Cliquez sur le node "Code in JavaScript1"

  2. 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');
  1. 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 :

  1. Cliquez sur le node "Message a model"

  2. Descendez jusqu'à "Responses" ou "Messages"

  3. 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 max par 100 mots max ou 50 mots max

  • Le ton : changez vouvoiement par tutoiement si vous ciblez des jeunes entrepreneurs

  • La phrase de fin : changez On en parle ? par Intéressé ? ou Un 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 :

  1. Cliquez sur le node "Create a draft"

  2. Cherchez le champ "Subject"

  3. Vous verrez : Une question rapide

  4. Changez-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é :

Quoi configurer

Exemple

HTTP Request (Serper)

Secteur d'activité ("q")

"salon de coiffure"

HTTP Request (Serper)

Ville ("location")

"Lyon, France"

Code in JavaScript

Nombre de pages

10 (= 200 leads)

Message a model

Ton et style de l'email

Vouvoiement, 80 mots max

Create a draft

Sujet de l'email

"Une question rapide"

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 :

  1. 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;
  1. Cliquez sur "Save" en haut à droite

  2. Cliquez sur le bouton "Execute workflow" (le bouton rouge en haut à droite)

  3. 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

  1. Ouvrez votre base Airtable "Lead Prospection"

  2. Allez dans la table "Leads"

  3. 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

  1. Ouvrez Gmail

  2. Allez dans "Brouillons" (menu de gauche)

  3. 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 :

  1. Retournez dans le node "Code in JavaScript"

  2. 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;
  1. Cliquez sur "Save"

  2. Cliquez sur "Execute workflow"

  3. 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 :

  1. Allez dans Gmail → Brouillons

  2. Relisez chaque email avant d'envoyer (l'IA est très bonne mais vérifiez toujours)

  3. Ajoutez votre signature si besoin

  4. 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 :

  1. Remplacez le node "Create a draft" par "Send Email"

  2. ⚠️ Attention : les emails partiront directement sans validation

  3. 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 :

  1. Testez différents secteurs : salons de coiffure, restaurants, BTP, plombiers, avocats...

  2. Testez différentes villes : Paris, Lyon, Marseille, Bordeaux, Toulouse...

  3. Optimisez le prompt ChatGPT pour améliorer encore la personnalisation

  4. Suivez vos taux de réponse et ajustez le ton de vos emails

  5. 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 !

Dev Lowcode
Avatar - Subscription X Framer Template | Brix Templates

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.

Icone pour illuster la newsletter de l'agence Vision IA

Abonnez-vous à

notre

newsletter

Chaque semaine : 2 articles, 1 outil IA, et des conseils faciles à appliquer.

Icone pour illuster la newsletter de l'agence Vision IA

Abonnez-vous à

notre

newsletter

Chaque semaine : 2 articles, 1 outil IA, et des conseils faciles à appliquer.

Icone pour illuster la newsletter de l'agence Vision IA