Transcrire et résumer vos réunions avec n8n : Whisper, GPT et un compte-rendu automatique
Publié le 18 juillet 2026 · 6 min de lecture
Une réunion d'une heure produit en moyenne trois choses : une décision qu'on redemandera par email deux semaines plus tard, deux actions dont personne n'est sûr d'être responsable, et un enregistrement qui dort dans un dossier partagé. Les outils de compte-rendu automatique existent (Otter, Fireflies, Fathom…), mais ils ajoutent un abonnement par utilisateur et font transiter vos échanges — parfois confidentiels — par l'infrastructure d'un tiers de plus. Avec n8n et le node OpenAI Audio, on construit le même pipeline en un après-midi, avec un seul appel API et une donnée qui reste sous votre contrôle. Voici comment.
L'architecture en un paragraphe
Le pipeline tient en quatre étapes : l'audio de la réunion (upload manuel, sortie d'enregistreur Zoom/Google Meet, ou fichier déposé dans un dossier Drive) est envoyé au node OpenAI en mode transcription (modèle whisper-1), qui renvoie le texte brut. Ce texte passe ensuite dans une Basic LLM Chain avec un Structured Output Parser qui produit un JSON structuré — résumé, décisions, actions avec responsable et échéance. Ce JSON alimente enfin la diffusion : un message Slack pour l'équipe, une page Notion pour les archives, et optionnellement une ligne dans une base de connaissances interrogeable plus tard. Si vous découvrez tout juste les nodes IA de n8n, notre guide sur le node AI Agent et les chaînes pose les bases utiles pour la suite.
Étape 1 — Récupérer l'audio
Trois sources courantes, du plus simple au plus automatisé :
- Upload manuel : un Form Trigger n8n avec un champ fichier, pour tester le pipeline sans intégration externe.
- Dossier partagé : un trigger Google Drive « nouveau fichier » qui surveille un dossier où atterrissent les enregistrements exportés de Zoom ou Google Meet.
- Bot de réunion : certains outils (Zoom Cloud Recording, Google Meet avec Gemini) exposent l'enregistrement via API ou webhook une fois la réunion terminée — le fichier arrive alors directement en entrée du workflow.
Point d'attention dès cette étape : l'API de transcription d'OpenAI plafonne à 25 Mo par fichier, ce qui correspond grossièrement à 1h30 d'audio compressé en MP3. Au-delà, il faut découper ou recompresser l'audio avant l'envoi — voir plus bas.
Étape 2 — Transcrire avec le node OpenAI
Ajoutez un node OpenAI, réglez la Resource sur Audio et l'Operation sur Transcribe a Recording. Deux paramètres à connaître :
- Input Data Field Name : le nom de la propriété binaire qui contient le fichier reçu à l'étape précédente (
datapar défaut). - Language : optionnel, mais recommandé en français (
fr, code ISO-639-1) — cela réduit la latence et améliore nettement la précision par rapport à la détection automatique, en particulier sur du vocabulaire métier ou des accents régionaux.
Le node accepte les formats .flac, .mp3, .mp4, .mpeg, .mpga, .m4a, .ogg, .wav et .webm, et s'appuie sur le modèle whisper-1. À la date de rédaction, le tarif OpenAI est de l'ordre de 0,006 $ la minute transcrite — une réunion d'une heure coûte donc environ 0,35 $, quel que soit le nombre de participants.
Fichiers longs (> 25 Mo) : deux options. La plus simple est de recompresser l'audio en MP3 mono à faible débit (64 kbps suffisent largement pour de la voix) avant l'envoi — un gain de taille de 3 à 5x qui règle le problème dans l'immense majorité des cas. Si le fichier reste trop volumineux, un node Execute Command appelant ffmpeg pour découper l'audio en tranches de 20 minutes fait l'affaire ; ce node n'existe qu'en self-hosted, ce qui est un critère de plus à considérer dans l'arbitrage décrit dans notre comparatif n8n self-hosted ou cloud.
Étape 3 — Résumer avec un LLM et un format de sortie fixe
Un résumé en texte libre est difficile à exploiter automatiquement en aval. La bonne pratique est de contraindre le modèle à répondre en JSON avec une Basic LLM Chain branchée sur un Structured Output Parser — le duo décrit en détail dans notre guide des nodes IA de n8n. Exemple de schéma de sortie :
{
"titre": "Point hebdo équipe produit",
"resume": "Synthèse en 3-4 phrases des sujets abordés",
"decisions": ["Décision actée n°1", "Décision actée n°2"],
"actions": [
{ "tache": "Envoyer le devis révisé", "responsable": "Claire", "echeance": "vendredi" }
],
"sujets_en_suspens": ["Point non tranché, à reprendre au prochain point"]
}
Le message système fait toute la différence entre un résumé générique et un compte-rendu réellement utilisable :
Tu résumes une transcription de réunion professionnelle en français.
Extrais uniquement ce qui a été dit explicitement : n'invente ni décision,
ni responsable, ni échéance qui ne figure pas dans le texte.
Si une action n'a pas de responsable clairement assigné, indique
"non assigné" plutôt que de deviner.
Réponds strictement selon le schéma JSON fourni.
Pour ce type de tâche — extraction structurée, pas de raisonnement multi-étapes ni d'appel d'outil — un modèle économique comme GPT-4.1 mini ou Claude Haiku suffit largement ; notre guide connecter Claude ou GPT à n8n détaille l'arbitrage coût/qualité entre modèles.
Étape 4 — Diffuser le compte-rendu automatiquement
Une fois le JSON obtenu, un node Split Out sur le tableau actions puis un Slack (message formaté avec blocs) couvrent le cas le plus fréquent : chaque participant reçoit le résumé et voit ses propres actions ressortir. Pour l'archivage, un node Notion crée une page dans une base « Comptes-rendus », avec le résumé en corps de texte et les actions en propriétés (statut, responsable, échéance) — exploitable ensuite comme tableau de suivi. C'est exactement le pattern de diffusion utilisé par le workflow de digest quotidien vers Slack du Pack Inbox IA, appliqué ici aux réunions plutôt qu'aux emails.
Étape 5 — Archiver pour pouvoir chercher plus tard
Un compte-rendu qu'on ne retrouve jamais n'a qu'une valeur limitée. Deux options selon votre besoin :
- Archivage simple : une ligne par réunion (date, participants, résumé, transcription complète, lien Notion) dans une table Supabase — utile pour une recherche par mot-clé basique ou un export.
- Recherche sémantique : si votre équipe pose souvent des questions du type « qu'a-t-on décidé sur le sujet X le mois dernier ? », vectorisez les transcriptions dans la même architecture que notre guide RAG avec Supabase pgvector — vous obtenez un assistant capable de répondre en citant la réunion et la date exactes.
Si vos réunions touchent à des sujets réglementés (comités RH, revues qualité, décisions financières), la même table sert aussi de piste d'audit : notre guide sur la journalisation d'automatisations pour la conformité RGPD montre comment la rendre infalsifiable, un besoin couvert nativement par les workflows du Pack Conformité & Audit.
Gérer les échecs proprement
Un pipeline de transcription échoue rarement au hasard : fichier corrompu, dépassement de la limite de 25 Mo malgré la compression, quota API atteint. Trois nodes suffisent à couvrir la majorité des cas — Retry On Fail sur l'appel de transcription (une requête sans effet de bord, donc rejouable sans risque), une branche Continue Using Error Output pour notifier plutôt que bloquer tout le workflow, et un Error Workflow dédié qui alerte sur Slack avec le lien direct vers l'exécution en échec. Notre guide gérer les erreurs dans n8n détaille la mise en place de ces trois mécanismes.
Ce que ça change au quotidien
Le gain n'est pas seulement le temps de rédaction du compte-rendu — c'est la fiabilité : une action extraite automatiquement d'une transcription ne se perd pas dans les notes manuscrites de quelqu'un qui a dû partir dix minutes avant la fin. Sur une équipe qui tient cinq à dix réunions par semaine, c'est facilement une à deux heures de rédaction récupérées, pour un coût d'API de quelques dollars par mois.
Si vous avez déjà un tri d'emails par IA en place, ce pipeline s'y raccorde naturellement : le Pack Inbox IA fournit la brique de digest Slack/Telegram déjà prête, qu'il suffit de brancher en sortie du résumé de réunion plutôt qu'en sortie du tri d'emails — même format de message, même destinataire, un seul canal de diffusion à gérer pour toute l'équipe.
Bundle FlowKit Complet
269 €