Automatiser la prospection avec n8n, un LLM et Gmail
Comment j'ai remplacé des heures de prospection en copier-coller par un seul workflow n8n : OCR, un LLM qui rédige chaque e-mail, envoi Gmail et feuille de suivi.

Pourquoi automatiser la prospection ?
Prospecter à la main, c'est surtout du travail répétitif : copier un contact depuis un document, chercher l'entreprise, adapter le même e-mail, l'envoyer, puis penser à relancer. J'ai automatisé cela pour ma propre recherche de stage et d'emploi avec n8n, un outil de workflows open source (voir le projet). Le même modèle fonctionne pour la génération de leads, les demandes de partenariat ou les relances clients.
À quoi ressemble le workflow ?
Déclencheur (manuel / planifié)
→ Lire la source (PDF via OCR, ou Google Sheet de leads)
→ LLM : extraire les champs + rédiger l'e-mail (sortie JSON)
→ Filtre : ignorer les contacts déjà traités / e-mails invalides
→ Gmail : envoyer (ou créer un brouillon)
→ Google Sheets : enregistrer contact, objet, statut, date
Chaque étape est un nœud n8n : on peut l'inspecter et la relancer.
Étape 1 — Récupérer les données
Si les contacts sont dans des documents (listes scannées, brochures PDF), une étape OCR extrait le texte. S'ils sont déjà dans un tableur, utilisez le nœud Google Sheets et lisez une ligne par lead. Gardez une clé unique (e-mail ou entreprise + nom) pour éviter les doublons.
Étape 2 — Faire renvoyer du JSON par le LLM
L'astuce principale : demander au modèle uniquement du JSON, avec un schéma fixe. Du texte libre est difficile à exploiter dans les nœuds suivants.
Tu es un assistant qui prépare des e-mails de prospection.
À partir du texte ci-dessous, renvoie UNIQUEMENT un JSON valide :
{"company": "", "contact_name": "", "email": "", "sector": "",
"subject": "", "body": ""}
Règles :
- body : 90 à 130 mots, en français, poli, une raison concrète
de contacter cette entreprise, une question claire à la fin.
- N'invente jamais d'adresse e-mail ; laisse "" si absente.
Texte :
{{ $json.text }}
Analysez ensuite le JSON dans un nœud Code et arrêtez l'élément si email est vide. J'ai utilisé DeepSeek pour son coût ; tout modèle qui suit bien les consignes convient.
Étape 3 — Envoyer avec Gmail, prudemment
Utilisez le nœud Gmail avec des identifiants OAuth.
- Commencez en mode brouillon pour les premiers essais et relisez.
- Ajoutez un nœud Wait (par exemple 60 à 120 secondes) entre deux e-mails et une limite quotidienne : un envoi massif peut faire bloquer le compte.
- Ajoutez votre signature et un moyen simple de se désinscrire.
Étape 4 — Tout suivre dans Google Sheets
Ajoutez une ligne par e-mail : date, entreprise, contact, objet, statut (sent, skipped, error) et identifiant du message Gmail. Cette feuille devient votre CRM de relance. Un second workflow peut la lire tous les quelques jours et préparer une relance pour les contacts sans réponse.
Comment gérer les erreurs ?
- Activez Retry on fail sur les nœuds LLM et Gmail.
- Créez un workflow Error Trigger qui vous envoie un message (Telegram ou e-mail) avec l'élément en échec.
- Enregistrez la sortie brute du LLM quand l'analyse JSON échoue, pour améliorer le prompt.
Conseils pratiques
Donnez au modèle un fait précis sur chaque entreprise et une limite de mots stricte : des entrées génériques produisent des e-mails génériques. Et demandez du JSON plutôt que du texte libre : cela supprime la plupart des erreurs d'analyse dans les nœuds suivants.
Vous voulez la même chose pour votre activité ?
Je construis des automatisations n8n et IA pour la génération de leads, le reporting et le traitement de documents. Voir mes services ou me contacter.
Projets liés
IA & AutomatisationProjet personnel · 2025Automatisation de prospection par IA avec n8n
Un workflow de bout en bout qui lit des documents par OCR, rédige des e-mails personnalisés avec un LLM, les envoie via Gmail et suit tout dans Google Sheets.
Questions fréquentes
n8n est open source et gratuit en auto-hébergement, par exemple avec Docker sur un petit serveur. Une version cloud payante existe si vous ne voulez pas gérer de serveur.



