FlowKit

Générer des brouillons de réponse email par IA avec n8n : le node Gmail Draft expliqué

Publié le 17 juillet 2026 · 7 min de lecture

Répondre à un email professionnel suit souvent le même schéma : accuser réception, proposer un créneau, demander une précision, confirmer une prise en charge. Ce sont des réponses à faible valeur ajoutée mais qui prennent du temps — et qu'il serait imprudent de laisser un LLM envoyer sans relecture. La bonne architecture n8n pour ce problème n'est pas l'envoi automatique, mais le brouillon automatique : le modèle rédige, le brouillon atterrit dans votre Gmail, vous relisez et vous cliquez sur Envoyer. Voici comment construire ce workflow avec le node Gmail et ses pièges les moins documentés.

Pourquoi le brouillon, pas l'envoi direct

L'automatisation la plus tentante — email reçu, réponse générée, réponse envoyée — est aussi la plus risquée. Un LLM peut inventer un tarif qui n'existe plus, confirmer une disponibilité qui n'est pas la vôtre, ou mal interpréter le ton d'une réclamation. Sur un tri d'emails ou un digest, une erreur de classification coûte une relecture de plus. Sur une réponse envoyée à un client, une hallucination devient un engagement pris en votre nom.

Le brouillon change la nature du risque : le pire scénario devient « un brouillon mal rédigé que vous supprimez », pas « un email erroné parti chez un client ». C'est exactement le compromis retenu dans le workflow « Générer des brouillons de réponse IA dans Gmail » du Pack Inbox IA (79 €) : l'IA prépare, vous décidez.

L'architecture en quatre nodes

Le workflow tient sur une chaîne courte :

  1. Gmail Trigger — surveille la boîte et déclenche à chaque nouveau message, avec sujet, expéditeur, extrait et surtout le threadId.
  2. Filter — écarte le bruit avant de dépenser le moindre appel LLM : expéditeurs no-reply, emails contenant un lien de désinscription, newsletters.
  3. Chaîne LLM (Basic LLM Chain) avec un sous-node modèle (Claude ou GPT) — rédige la réponse selon un prompt strict.
  4. Node Gmail, resource Draft, opération Create — dépose le texte généré en brouillon, rattaché au fil d'origine via threadId.

Si vous n'avez pas encore de tri d'emails en amont, commencez par notre guide automatiser le tri de ses emails avec l'IA et n8n : brancher ce workflow de brouillons sur une classification déjà en place (ne rédiger que pour la catégorie « client », par exemple) évite de générer des brouillons pour des emails qui n'en ont pas besoin.

Étape 1 — Filtrer avant de rédiger

Rédiger un brouillon pour chaque email reçu gaspille des appels LLM et remplit votre dossier brouillons de bruit inutile. Un node Filter, juste après le trigger, applique deux ou trois conditions cumulatives :

  • L'adresse expéditeur ne contient pas no-reply ni noreply.
  • Le corps du message ne contient pas de lien de désabonnement (signe quasi systématique d'une newsletter ou d'une notification automatisée).
  • Optionnel : le champ to correspond à votre adresse directe, pour ignorer les emails où vous êtes en copie.

Ce filtre coûte une poignée de secondes à écrire et évite l'essentiel des faux positifs avant même d'atteindre le modèle.

Étape 2 — Un prompt qui préserve la prudence

Le prompt est l'endroit où se joue la fiabilité du workflow. Trois règles non négociables :

Tu rédiges un brouillon de réponse professionnelle en français, à insérer dans le fil de discussion suivant :

Expéditeur : {{ $json.from }}
Objet : {{ $json.subject }}
Message reçu : {{ $json.text }}

Consignes :
- Ton direct et professionnel, 1 à 3 paragraphes maximum.
- Termine toujours par une prochaine étape claire (question, confirmation, date).
- Si une information t'est inconnue (tarif, délai, disponibilité), insère un espace réservé du type [TARIF] ou [DATE] — n'invente jamais un engagement.
- Signature : {{ $json.signature }}

Le point critique est la troisième consigne. Un modèle bien guidé rédige « Je vous confirme un délai de livraison de [DÉLAI] jours ouvrés » plutôt que d'inventer un chiffre plausible. C'est ce placeholder que vous complétez en trois secondes à la relecture, contre une correction embarrassante si l'email était déjà parti. Branchez le modèle (Claude ou GPT) en sous-node ai_languageModel sur la chaîne — voir notre guide connecter Claude ou GPT à n8n si ce n'est pas encore fait.

Étape 3 — Créer le brouillon avec le node Gmail

Sur le node Gmail, configurez :

  • Resource : Draft
  • Operation : Create
  • Subject : Re: {{ $json.subject }}
  • Message : la sortie du LLM ({{ $json.output }} ou équivalent selon votre parser)
  • Email Type : Text (ou HTML si votre prompt génère du HTML léger)

Pour que le brouillon s'insère dans la conversation existante plutôt que de créer un nouveau fil isolé, renseignez le champ Thread ID avec la valeur threadId reçue depuis le Gmail Trigger. C'est ce qui fait la différence entre un brouillon qui apparaît proprement sous le message reçu et un brouillon qui atterrit comme un email neuf, sans contexte.

Le piège de threading à connaître avant la mise en production

Voici le détail que peu de tutoriels mentionnent : même avec threadId correctement renseigné, la création de brouillon via l'API Gmail n'ajoute pas toujours les en-têtes References et In-Reply-To qu'un client mail utilise pour rattacher visuellement un message à son fil. C'est un comportement documenté par la communauté n8n, pas un bug de configuration de votre côté.

Dans la grande majorité des cas, le brouillon reste correctement associé au fil et s'affiche là où on l'attend. Mais avant de brancher ce workflow sur une boîte de production, testez-le sur quelques échanges réels de votre propre compte : ouvrez le brouillon généré dans Gmail et vérifiez qu'il apparaît bien sous le message d'origine, sans dupliquer le fil. Si le comportement ne vous satisfait pas, une alternative consiste à ne pas préremplir le sujet en Re: et à laisser l'utilisateur ouvrir manuellement « Répondre » sur le message reçu, puis à coller le texte généré — moins automatique, mais sans ambiguïté de threading.

Étape 4 — Prévenir sans forcer la lecture

Un brouillon silencieux dans un dossier que vous ouvrez une fois par semaine perd tout son intérêt. Ajoutez une branche de notification légère — Slack ou Telegram — après la création du brouillon :

✉️ Brouillon prêt : réponse à {{ $json.from }} ({{ $json.subject }})

Pas besoin du contenu complet dans la notification : l'objectif est juste de signaler qu'un brouillon attend, pas de dupliquer l'interface Gmail dans Slack.

Combiner avec un scoring d'urgence

Si vous faites déjà tourner une classification d'emails avec un niveau de priorité (voir le workflow de priorisation d'urgence du même pack), ne générez des brouillons que pour les catégories qui le justifient — typiquement « client » et « administratif » — et laissez les factures ou notifications suivre leur propre chemin. Cela réduit à la fois le volume de brouillons à relire et le coût en tokens, puisque seuls les emails qui appellent réellement une réponse rédigée déclenchent la chaîne LLM.

Les erreurs qui rendent ce workflow inutilisable

  • Rédiger pour tout le monde : sans filtre en amont, le dossier brouillons se remplit de propositions de réponse à des newsletters. Vous arrêtez de le consulter au bout d'une semaine.
  • Prompt sans espace réservé : un modèle livré à lui-même invente des chiffres plausibles plutôt que de signaler une inconnue — le pire résultat possible pour un brouillon censé faire gagner du temps en toute sécurité.
  • Passer directement à l'envoi automatique parce que « les brouillons sont toujours bons » après quelques tests : la tentation est réelle, mais un échantillon de dix emails ne couvre pas les cas limites (réclamation, négociation, situation ambiguë) où une hallucination coûte cher.
  • Oublier de gérer les erreurs du node Gmail (quota API, token expiré) : ajoutez un Error Workflow comme décrit dans notre guide gérer les erreurs dans n8n, pour être prévenu si le node de création de brouillon échoue silencieusement.

Partir du workflow prêt à l'emploi

Ce guide reconstruit exactement l'architecture du workflow « Générer des brouillons de réponse IA dans Gmail », l'un des quatre workflows du Pack Inbox IA (79 €) : tri IMAP, scoring d'urgence, digest quotidien et génération de brouillons Gmail, avec le prompt à espaces réservés déjà calibré et le filtre anti-newsletter en place. Si vous voulez l'ensemble de l'écosystème FlowKit — inbox, assistant RAG et conformité — le Bundle FlowKit Complet (269 €) regroupe les trois packs.

Rédiger un brouillon plutôt qu'envoyer directement n'est pas une demi-mesure : c'est le seul réglage qui laisse l'IA faire le gros du travail sans jamais lui laisser le dernier mot sur ce qui part en votre nom.

FAQ

Questions fréquentes

Le workflow peut-il envoyer la réponse directement sans passer par un brouillon ?

Techniquement oui : il suffirait de remplacer l'opération Create du resource Draft par l'opération Send du resource Message. C'est fortement déconseillé pour des réponses clients — un LLM peut halluciner un tarif, un délai ou un engagement, et l'erreur part alors sans aucun filtre humain. Réservez l'envoi automatique aux accusés de réception génériques, sans contenu variable.

Pourquoi mon brouillon de réponse casse-t-il le fil de discussion Gmail ?

C'est un comportement documenté du node Gmail : même en renseignant le threadId, le brouillon créé via l'API n'ajoute pas toujours les en-têtes References et In-Reply-To qui permettent à Gmail de le rattacher visuellement au fil existant. Dans la majorité des cas le brouillon reste correctement associé au threadId et apparaît dans la conversation, mais testez systématiquement sur votre propre compte avant la mise en production : sur certains comptes, un fil peut apparaître dupliqué.

Faut-il utiliser Claude ou GPT pour rédiger les brouillons ?

Les deux fonctionnent très bien via le node de sous-modèle branché sur la chaîne LLM ; le choix se joue surtout sur la qualité perçue en français et sur vos habitudes de facturation. Claude a tendance à mieux respecter des consignes de prudence explicites (« n'invente jamais un tarif »), ce qui compte particulièrement sur une tâche où la sortie part potentiellement vers un client.

Pack Inbox IA

79 €