Générer des présentations Google Slides automatiquement avec l'IA dans n8n
Publié le 18 août 2026 · 7 min de lecture
Un rapport client bien construit dans n8n — SEO, Google Ads, audit de conformité — finit presque toujours de la même façon : quelqu'un copie les chiffres et les commentaires dans un document texte ou un e-mail, format qui inspire rarement confiance à un décideur pressé. Une présentation, même courte, se lit et se retient mieux qu'un pavé de texte. Ce guide construit le workflow n8n qui automatise ce dernier kilomètre : dupliquer un template Google Slides, faire rédiger le texte par un LLM, remplir les placeholders via l'API, puis livrer le résultat en PDF.
Pourquoi passer par des slides plutôt qu'un rapport texte
Automatiser la génération de documents à partir de données n'est pas un problème nouveau, et la recherche en traitement du langage a documenté ses pièges avant même l'arrivée des LLM actuels. Sam Wiseman, Stuart Shieber et Alexander Rush, dans Challenges in Data-to-Document Generation (EMNLP 2017), montrent que des modèles de génération produisent un texte fluide et bien formé sans pour autant rester fidèles aux données sources — un texte qui se lit bien peut très bien raconter n'importe quoi. La leçon reste valable avec les LLM d'aujourd'hui : le modèle doit rédiger à partir de chiffres que vous lui fournissez explicitement dans le prompt, jamais les inventer ou les recalculer de mémoire.
Côté mise en forme, Yue Hu et Xiaojun Wan avaient déjà posé, dans PPSGen: Learning-Based Presentation Slides Generation for Academic Papers (IEEE TKDE), le principe qui sous-tend ce workflow : automatiser la sélection et la mise en page du contenu fait gagner un temps de préparation considérable, à condition de garder une structure de template fixe plutôt que de laisser le système improviser une mise en page. C'est exactement l'approche retenue ici : un template Google Slides conçu une fois à la main, rempli automatiquement ensuite.
Deux briques n8n complémentaires, pas une seule
Le node natif Google Slides de n8n gère la création et la lecture d'une présentation, mais pas le remplacement de texte dans des zones existantes. Pour cette opération, il faut appeler directement l'API Google Slides via le node HTTP Request, en sélectionnant Authentication → Predefined Credential Type → Google Slides OAuth2 API : n8n gère alors le jeton OAuth2 comme pour n'importe quel node natif, sans que vous ayez à manipuler le flux d'autorisation vous-même. La configuration initiale de ce credential suit exactement les étapes décrites dans notre guide de configuration OAuth2 Google avec n8n.
Étape 1 — Construire le template avec des placeholders
Dans Google Slides, créez la présentation modèle une bonne fois : mise en page, logo, charte graphique, et à chaque endroit variable un texte repère entre doubles accolades — {{titre_rapport}}, {{periode}}, {{synthese}}, {{kpi_1_valeur}}, {{kpi_1_commentaire}}. Ce sont ces repères que le workflow ira chercher et remplacer ; leur unicité dans la présentation évite tout remplacement accidentel ailleurs.
Étape 2 — Dupliquer le template à chaque exécution
Ne modifiez jamais le template lui-même : un node Google Drive, opération Copy, duplique le fichier source vers un nouveau fichier (voir notre guide Google Drive avec n8n pour la configuration du credential). Le nouvel ID de fichier renvoyé par cette opération est celui que le reste du workflow va manipuler — le template original reste intact pour la prochaine exécution.
Étape 3 — Faire rédiger le contenu par un LLM
Les données brutes (positions SEO, dépenses publicitaires, non-conformités d'audit…) partent dans une Basic LLM Chain couplée à un Structured Output Parser (voir notre guide du parser de sortie structurée), avec un schéma qui correspond exactement aux placeholders du template :
{
"titre_rapport": "string",
"periode": "string",
"synthese": "string, 2 phrases maximum",
"kpi_1_valeur": "string",
"kpi_1_commentaire": "string, 1 phrase"
}
Le prompt système doit être explicite sur l'origine des chiffres : « N'utilise que les valeurs fournies ci-dessous, ne recalcule et n'invente aucun chiffre. » C'est la contre-mesure directe au risque documenté par Wiseman, Shieber et Rush plus haut — le modèle rédige le commentaire, jamais les données elles-mêmes. Cette architecture chaîne simple plutôt qu'agent autonome reprend le même principe que celui détaillé dans notre rapport de synthèse d'audit généré par IA : une tâche déterministe, décrite en une phrase, se traite mieux en chaîne contrainte qu'en agent laissé libre.
Étape 4 — Remplir les placeholders via batchUpdate
Un node Code transforme le JSON structuré en tableau de requêtes replaceAllText, puis un node HTTP Request envoie le tout en un seul appel :
const data = $input.first().json;
const requests = Object.entries(data).map(([cle, valeur]) => ({
replaceAllText: {
containsText: { text: `{{${cle}}}`, matchCase: true },
replaceText: String(valeur),
},
}));
return [{ json: { requests } }];
Configuration du node HTTP Request :
- Method :
POST - URL :
https://slides.googleapis.com/v1/presentations/{{ $json.presentationId }}:batchUpdate - Authentication : Predefined Credential Type → Google Slides OAuth2 API
- Body (JSON) :
{ "requests": {{ $json.requests }} }
Un seul appel remplace tous les placeholders en une transaction — pas d'appel par champ, pas de risque d'incohérence si l'exécution s'interrompt en cours de route.
Étape 5 — Aller plus loin avec des graphiques dynamiques
Pour un graphique plutôt qu'un simple chiffre, remplacez une forme placeholder par une image générée à la volée : une requête replaceAllShapesWithImage dans le même batchUpdate, avec une URL pointant vers un service comme QuickChart, dont les paramètres (type de graphique, données, couleurs) sont construits dynamiquement à partir de vos données dans le node Code. Le rendu n'est pas éditable dans Slides ensuite, mais il est entièrement reproductible d'une exécution à l'autre.
Étape 6 — Exporter et diffuser
Un dernier appel à l'API Drive (GET /files/{fileId}/export?mimeType=application/pdf, toujours via HTTP Request avec le même credential) télécharge la présentation finale en PDF, prêt à être joint à un e-mail ou déposé dans un canal Slack. Programmez le déclenchement avec un Schedule Trigger — notre guide du Schedule Trigger et des fuseaux horaires détaille les pièges à éviter sur un envoi récurrent.
Cas d'usage concrets pour ce workflow
- Rapport SEO hebdomadaire : injectez les variations de position calculées dans notre guide rapport SEO hebdomadaire avec Search Console dans un template à trois slides (résumé, tops et flops, actions).
- Reporting Google Ads / Meta Ads : le commentaire IA généré dans reporting Google Ads et Meta Ads par IA devient la synthèse en première slide, les KPI restants en tableau.
- Rapport d'audit de conformité : le JSON structuré produit par le workflow rapport de synthèse d'audit généré par IA — synthèse, non-conformités, plan d'action — se transpose directement sur les placeholders d'un template d'audit, et remplace un e-mail par un support présentable en comité. C'est exactement le type d'extension que permet le workflow rapport de synthèse d'audit IA du Pack Conformité & Audit (149 €), déjà pensé pour produire une sortie structurée réutilisable.
- Rapport GA4 : les métriques calculées dans rapport Google Analytics 4 avec n8n alimentent une slide de synthèse mensuelle, sans ressaisie manuelle.
Limites à connaître
- La mise en page reste rigide :
replaceAllTextremplace du texte dans une forme existante, il ne recompose pas une mise en page ; un texte généré trop long débordera visuellement du template. Bornez la longueur des champs dans le schéma du Structured Output Parser (« 2 phrases maximum », par exemple). - Un template par format de rapport : contrairement à un e-mail HTML généré dynamiquement, un template Slides est conçu à l'avance pour un nombre de slides et d'emplacements fixes. Changer de structure de rapport veut dire créer un nouveau template, pas juste changer le prompt.
- Le quota de l'API Slides est réel mais large : les quotas par défaut de l'API Google Slides couvrent largement un usage de reporting périodique (quotidien, hebdomadaire) ; ils ne sont à surveiller que pour une génération en masse (des dizaines de présentations en quelques minutes).
Check-list de mise en route
- Template Google Slides créé une fois, avec des placeholders
{{...}}uniques dans la présentation. - Credential Google Slides OAuth2 API configuré, utilisable à la fois par le node Slides natif et par le HTTP Request.
- Copie du template via Google Drive à chaque exécution, jamais de modification du fichier source.
- Structured Output Parser dont le schéma correspond exactement aux placeholders du template, avec des contraintes de longueur explicites.
- Un seul appel
batchUpdateregroupant toutes les requêtesreplaceAllText. - Export PDF et diffusion programmés via un Schedule Trigger.
Le principe qui rend ce workflow fiable est le même qui traverse tous nos guides de reporting IA sur ce blog : le modèle rédige, il ne calcule pas, et la mise en forme reste pilotée par un template stable plutôt que par l'improvisation d'un agent. Une fois ce socle en place, brancher n'importe quel rapport existant — SEO, Ads, audit — sur une sortie Slides devient une question de placeholders, pas de nouvelle architecture.
FAQ
Questions fréquentes
Le node Google Slides natif de n8n suffit-il pour ce workflow ?
Pas seul. Le node natif couvre la création et la lecture de présentations, mais pas le remplacement de texte dans des placeholders : cette opération passe par l'endpoint presentations.batchUpdate de l'API Google Slides, accessible via le node HTTP Request avec le type d'identifiants prédéfini « Google Slides OAuth2 API ». Le node natif et le HTTP Request se complètent, ils ne s'excluent pas.
Peut-on insérer des graphiques générés dynamiquement dans les slides ?
Oui, par l'image plutôt que par un graphique natif Google Slides éditable : une requête replaceAllShapesWithImage dans le même batchUpdate remplace une forme placeholder par une image dont l'URL pointe vers un service de génération de graphiques à la volée (QuickChart, par exemple) alimenté par vos propres données. C'est moins flexible qu'un graphique natif, mais entièrement scriptable.
Combien coûte la génération IA du texte d'une présentation ?
Le texte d'un rapport (dix à vingt placeholders, quelques phrases chacun) reste un prompt court : de l'ordre de quelques centimes par présentation avec un modèle économique comme gpt-4o-mini ou Claude Haiku. Le coût dominant reste le temps de préparation du template la première fois, pas les exécutions récurrentes.
Bundle FlowKit Complet
269 €