Tutoriel n8n

Automatiser vos certificats avec n8n

Une ligne arrive dans votre feuille Google Sheets : un certificat PDF à vos couleurs part par e-mail au participant, s'archive dans Drive, et son lien permanent est réécrit dans la feuille. Sans écrire une seule ligne de code.

Vincent Ventalon
Vincent Ventalon
· Mis à jour le
TemplateFox

À propos du nœud TemplateFox

Le nœud communautaire TemplateFox officiel pour n8n génère des PDF à partir de vos templates et de données dynamiques. Il fonctionne en synchrone : l'URL du PDF revient tout de suite. Compatible avec les agents IA de n8n.

Pourquoi automatiser vos certificats ?

Quelqu'un vient de terminer votre formation. Il faut maintenant ouvrir un fichier Word, taper son nom, changer la date, exporter en PDF, joindre le fichier à un e-mail, déposer une copie dans Drive et tout noter dans le tableur de la promotion. Pour un diplômé, passe encore. Pour une promotion de 80, c'est votre après-midi qui y passe.

Bonne nouvelle : vous avez très probablement déjà une feuille Google Sheets qui liste qui a terminé quoi. Sinon, votre LMS, votre outil de quiz ou votre formulaire peut y verser des lignes en 30 secondes. Une fois la ligne en place, le reste est mécanique : c'est exactement le travail de n8n.

Voici ce que nous allons construire : une ligne arrive dans votre feuille, TemplateFox produit un certificat au format d'archivage PDF/A-2b, le PDF part par e-mail au participant et s'archive dans Drive, puis le lien Drive permanent est réécrit dans la ligne d'origine. Six nœuds, aucune étape Code, une seule chaîne horizontale.

1

Trouvez ou créez un certificat sur Canva

Inutile de concevoir un certificat de zéro pour ce tutoriel. Vous en avez déjà un ? Passez à l'étape 1.3.

Pas envie de partir de zéro ? Parcourez les templates de certificats : choisissez-en un, remplacez le logo et les signatures, c'est prêt.

1.1 — Trouver un template

Prenons un template et personnalisons-le :

  1. Ouvrez canva.com et créez un compte (ou connectez-vous)
  2. Dans la barre de recherche, tapez « certificat »
  3. Parcourez les templates et choisissez celui qui vous plaît
Recherche de templates de certificat dans Canva

1.2 — Personnaliser le template

Cliquez sur Customize this template pour l'ouvrir dans l'éditeur Canva. Ajoutez votre identité visuelle : logo, couleurs, polices.

Bouton Customize this template dans Canva

1.3 — Retirer les textes variables

Supprimez tout texte qui change d'un certificat à l'autre (nom du destinataire, date, etc.). Vous les ajouterez ensuite comme champs dynamiques dans TemplateFox.

Ici, pour faire simple, je retire seulement le prénom et le nom de l'élève.

  1. Sélectionnez le texte du nom du destinataire
  2. Supprimez-le entièrement
Certificat dont le nom du destinataire a été retiré, dans Canva

Astuce : gardez les éléments graphiques (bordures, ornements) et videz seulement les textes qui changent d'un certificat à l'autre.

1.4 — Exporter en PNG

Exportez votre certificat en image :

  1. Cliquez sur Share → Download
  2. Choisissez le format PNG
  3. Cliquez sur Download

Pourquoi le PNG ? Plus simple à manipuler : aucun problème d'intégration de polices. Votre design devient une image de fond.

2

Importez et configurez dans TemplateFox

2.1 — Importer le design

Créez un nouveau template et importez votre design Canva :

  1. Ouvrez Templates dans votre tableau de bord
  2. Cliquez sur Create Template
  3. Choisissez Fixed (documents d'une seule page)
  4. Passez le format en A4 Landscape
  5. Réglez le zoom sur 75 % pour voir la page entière
  6. Étirez la section initiale pour qu'elle couvre toute la page
  7. Cliquez sur New Element → Image
  8. Importez votre PNG et étirez-le sur tout le fond : il doit s'ajuster parfaitement

2.2 — Ajouter les champs dynamiques

Ajoutez les champs de texte que n8n remplira. Pour cette démo, commençons par le nom du destinataire, {{participant_name}} :

  1. Ajoutez un élément Text
  2. Tapez {{participant_name}}
  3. Placez-le là où le nom du destinataire doit apparaître
  4. Choisissez la police Great Vibes en taille 90, pour un rendu élégant façon signature
  5. Centrez le texte horizontalement et alignez-le en bas de la zone de texte
  6. Ajustez l'interligne pour que le texte repose bien en bas (pour Great Vibes, 0.8 fonctionne bien)
  7. Activez Autoscale Down : les noms longs rétrécissent automatiquement pour tenir dans la zone

Répétez l'opération pour les autres champs que le workflow n8n remplira. Les quatre ci-dessous correspondent aux colonnes que nous créerons en section 3 :

  • {{participant_name}} — Nom du destinataire
  • {{course_name}} — Nom de la formation ou du programme
  • {{completion_date}} — Date de fin de formation
  • {{instructor}} — Nom du formateur

Astuce : ouvrez l'onglet Preview et saisissez des données de test dans le panneau JSON. Testez un nom court et un nom long pour vérifier la réduction automatique : essayez {"participant_name": "Jo"} puis {"participant_name": "Christopher Montgomery-Williams"}, et vérifiez que le texte s'ajuste dans les deux cas.

Tout ce qui est identique sur chaque certificat (logo, signatures, nom de l'organisme, ligne de pied de page) se place dans l'éditeur, pas dans n8n. Moins vous exposez de champs au workflow, moins il y a de choses à relier ensuite.

Workflow n8n complet de certificats : Google Sheets Trigger → TemplateFox → Download PDF → Archive to Google Drive → Email Certificate → Update Sheet Row

Le workflow n8n complet. Nous allons le construire de gauche à droite.

3

Construisez le workflow n8n

Avant de relier les nœuds, préparez la feuille. Le déclencheur lit les colonnes de gauche, l'étape de réécriture remplit les colonnes de droite : ces deux dernières doivent être vides au départ.

Colonnes d'entrée

Participant Name · Email · Course · Completion Date · Instructor

Colonnes de réécriture (à laisser vides)

Certificate URL · Issued At

3.1 — Déclencheur Google Sheets

Déposez un nœud Google Sheets Trigger sur le canevas et connectez Google OAuth (n8n vous guide si vous n'avez jamais connecté Google : comptez une trentaine de secondes). Ensuite :

  • Choisissez votre feuille de calcul dans la liste déroulante
  • Choisissez l'onglet à l'intérieur, en général Sheet1
  • Réglez Event sur Row Added

n8n interroge la feuille toutes les minutes. Dès qu'une nouvelle ligne apparaît, le déclencheur lance une exécution où chaque colonne est disponible sous la forme {{ $json["Participant Name"] }}, et ainsi de suite. Cliquez sur Test step avec une ligne déjà présente dans la feuille : toutes vos colonnes doivent s'afficher dans le panneau de sortie.

3.2 — Relier les champs à TemplateFox

Ajoutez le nœud TemplateFox. Première fois ? Il vous faut une clé API : ouvrez la section des clés API de votre tableau de bord, créez-en une (elle commence par sk_) et collez-la dans la fenêtre d'identifiants de n8n. Tous les détails sont dans la documentation sur l'authentification si vous voulez la version longue.

Configurez ensuite le nœud :

  • Réglez Operation sur Generate PDF
  • Choisissez votre template de certificat dans la liste déroulante : les quatre champs ajoutés en section 2 s'affichent automatiquement
  • Faites glisser chaque colonne du panneau d'entrée sur le champ du template correspondant
  • Dans Options, réglez PDF Variant sur PDF/A-2b, un standard d'archivage moderne
// Drag-and-drop mapping in the TemplateFox node
participant_name: {{ $json["Participant Name"] }}
course_name: {{ $json.Course }}
completion_date: {{ $json["Completion Date"] }}
instructor: {{ $json.Instructor }}

Besoin de mettre en forme une date ? Pas besoin d'un nœud Code : utilisez une expression n8n directement dans le champ, par exemple {{ $json["Completion Date"].toDateTime().setLocale('fr').toFormat('d MMMM yyyy') }} pour transformer 2026-04-30 en 30 avril 2026. n8n s'appuie sur Luxon pour gérer les dates.

3.3 — Télécharger et archiver dans Drive

Un piège à connaître : l'URL renvoyée par TemplateFox est valable 24 heures par défaut. C'est largement assez pour la télécharger, mais bien trop court pour la mettre dans un e-mail que quelqu'un ouvrira peut-être dans trois mois. On télécharge donc le PDF une fois, et on en range une copie permanente dans Drive. Deux nœuds :

  1. HTTP Request : méthode GET, URL {{ $json.url }}, Response Format File. Vous obtenez le PDF sous forme de données binaires.
  2. Google Drive : opération Upload, puis choisissez votre dossier d'archive. Important : dans Options, désactivez Simplify Output. Sinon, le champ webViewLink ne revient pas, et vous en avez besoin pour les deux étapes suivantes.

Ce webViewLink est la clé de tout : c'est une URL permanente vers le fichier dans Drive, que vous, le participant et tout audit futur pourrez utiliser sans limite de durée.

3.4 — Envoyer l'e-mail au participant

Ajoutez un nœud Gmail, ou Outlook, ou l'outil de votre équipe : le branchement est le même. Reliez le destinataire et l'objet à la ligne du déclencheur, et mettez le lien Drive dans le corps du message :

To: {{ $('New Completion Row').first().json.Email }}
Subject: 🎓 Votre certificat pour {{ $('New Completion Row').first().json.Course }}
Email Type: html
// In the body, link to the permanent Drive URL:
href={{ $json.webViewLink }}

Pourquoi $json.webViewLink et pas l'URL TemplateFox ? Parce que Gmail se trouve après l'envoi dans Drive : $json désigne donc la sortie du nœud Drive. Le participant reçoit le lien permanent plutôt que celui valable 24 heures, et l'e-mail fonctionne encore des mois plus tard.

3.5 — Réécrire dans la feuille

Dernier nœud. C'est lui qui fait passer le workflow de « j'envoie et j'oublie » à « j'envoie et je garde une trace ». Ajoutez un second nœud Google Sheets, sur la même feuille de calcul et le même onglet, avec l'opération Update :

  • Même feuille de calcul et même onglet que le déclencheur
  • Matching Columns : Email
  • Certificate URL → {{ $('Archive to Google Drive').first().json.webViewLink }}
  • Issued At → {{ $now.toISO() }}

C'est tout. Chaque ligne terminée a désormais une URL de certificat permanente et un horodatage. Vous cherchez les participants dont le certificat n'est pas parti ? Filtrez sur Issued At vide. Vous devez prouver qu'une personne a reçu son certificat à une date donnée ? Tout est là. Besoin de le renvoyer ? Cliquez sur le lien dans la feuille.

Variantes : lots et LMS

Google Sheets couvre la plupart des cas. Voici trois autres versions possibles, toutes de petites variantes de la même chaîne :

  • Envoi groupé chaque nuit. Vous ne voulez pas que vos diplômés reçoivent un e-mail à 2 h du matin, à la seconde où la ligne est ajoutée ? Remplacez le déclencheur Sheets par un Schedule Trigger suivi d'une étape Get Many Rows qui filtre les lignes où Issued At est vide. Lancez-le à 9 h chaque jour ouvré : le reste de la chaîne ne change pas.
  • Directement depuis le LMS. Vous pouvez aussi vous passer de la feuille. La plupart des LMS (Teachable, Thinkific, LearnDash, Kajabi, Podia) et des outils de formulaire (Typeform, Tally) savent envoyer un webhook quand un participant termine. Ajoutez un déclencheur n8n Webhook, faites-le appeler par votre LMS et reliez le payload JSON aux champs de votre template. Vous perdez la piste d'audit, mais vous gagnez une étape.
  • Seuil de réussite. Pas question de délivrer un certificat à quelqu'un qui a obtenu 42 % ? Ajoutez un nœud IF avant TemplateFox, qui compare Score à votre seuil de réussite. En dessous, la ligne est ignorée. Au-dessus, tout se déroule normalement.

Le même workflow, sur d'autres plateformes

Vous utilisez un autre outil d'automatisation ? La même configuration fonctionne aussi ailleurs :

Questions fréquentes

Faut-il écrire du code ?

Non. Le workflow est no-code : vous reliez par glisser-déposer les colonnes du déclencheur Google Sheets aux champs de votre template TemplateFox. Aucune étape JavaScript.

Comment authentifier le nœud TemplateFox ?

Créez une clé API dans la section des clés API de votre tableau de bord (les clés commencent par sk_), puis ajoutez-la une fois pour toutes comme identifiant TemplateFox dans n8n. Tous les détails dans la documentation sur l'authentification.

Où le certificat émis est-il stocké ?

Le PDF est envoyé dans le dossier Google Drive de votre choix, avec un lien permanent webViewLink. Ce même lien est ensuite réécrit dans la feuille source : votre piste d'audit tient en deux endroits, Drive (le fichier) et Sheets (les métadonnées).

Puis-je utiliser un LMS ou un outil de quiz à la place de Google Sheets ?

Oui. La plupart des LMS et des outils de quiz (Teachable, Thinkific, Typeform, Tally, etc.) savent ajouter une ligne à une feuille Google Sheets quand un participant termine. Dès que cette ligne existe, le workflow prend le relais. Pour les plateformes qui ne proposent que des webhooks, remplacez le déclencheur Sheets par un déclencheur n8n Webhook et reliez le payload JSON aux champs du template.

Comment attribuer un identifiant de certificat unique à chaque participant ?

Ajoutez une colonne Certificate ID à votre feuille (à la main ou avec une formule comme =CONCAT("CERT-",ROW())), reliez-la au champ d'identifiant de votre template, et reliez-la à elle-même à l'étape de réécriture.

Pourquoi générer le certificat en PDF/A-2b ?

Un certificat est un document officiel : il doit s'afficher à l'identique dans plusieurs décennies. PDF/A-2b est un standard d'archivage moderne. Passez à pdf/a-3b si vous devez aussi y joindre les données sources, ou à Standard PDF si vous n'avez pas besoin de conformité d'archivage.

Puis-je générer les certificats en masse pour toute une promotion ?

Oui. Remplacez le déclencheur Google Sheets par un Schedule Trigger suivi d'une étape Get Many Rows pour émettre les certificats chaque nuit. Les nœuds suivants traitent chaque ligne automatiquement.

Combien coûte cette automatisation ?

n8n auto-hébergé est gratuit. TemplateFox inclut 60 PDF gratuits par mois. Voir les tarifs.

Automatisez votre génération de PDF

Une documentation complète, des intégrations no-code et une API solide pour générer vos PDF à grande échelle. On s'occupe de la partie ingrate.