Aller au contenu
WSC DIGITAL

Maîtriser n8n · Chapitre 3

Chapitre 3

Premier workflow, l'éditeur pas à pas

Rien ne vaut un vrai workflow pour comprendre l'éditeur. Celui de ce chapitre reçoit des demandes de devis par un formulaire, les classe selon leur budget et les range dans une table. Il ne demande aucun compte chez personne, et chaque geste de l'éditeur y passe au moins une fois.

Dans ce chapitre

  • Créer une table de données dans n8n pour y ranger des résultats.
  • Créer un workflow, le nommer, et se repérer dans l'éditeur.
  • Ajouter un déclencheur et régler un nœud dans son panneau.
  • Essayer un nœud seul, puis tout le workflow, avec des données de test.
  • Faire glisser une donnée d'un nœud vers un autre pour écrire une expression sans la taper.
  • Aiguiller les données avec un nœud If et les compléter avec un nœud Edit Fields.
  • Publier le workflow, l'utiliser pour de vrai et retrouver ses exécutions.
  • Exporter un workflow en JSON et l'importer ailleurs.

Avant de commencer

Une instance n8n où vous êtes propriétaire, comme celle du chapitre 2. Les captures viennent de l'instance du livre, livre-n8n.wscdigital.net ; sur votre poste, l'adresse sera http://localhost:5678. Le workflow terminé est fourni dans exemples/ch03/demandes-de-devis.json.

3.1Ce que vous allez construire

Une petite agence propose trois services : sites web, applications mobiles, automatisation. Ses clients demandent des devis par un formulaire. Elle veut que chaque demande soit enregistrée, et que celles dont le budget atteint un million de francs CFA soient marquées « haute » priorité pour qu'on les rappelle en premier.

Le workflow tiendra en cinq nœuds :

  1. un formulaire n8n, qui déclenche le workflow à chaque envoi ;
  2. un nœud If, qui compare le budget au seuil ;
  3. deux nœuds Edit Fields, un par branche, qui ajoutent la priorité ;
  4. un nœud Data table, qui enregistre la demande dans une table.
Le workflow terminé, tel qu'il apparaîtra dans l'éditeur à la fin du chapitre.
Figure 3.1 Le workflow terminé, tel qu'il apparaîtra dans l'éditeur à la fin du chapitre.

3.2La table qui recevra les demandes

Les demandes doivent être rangées quelque part. On pourrait utiliser un tableur en ligne ou une base de données, mais il faudrait un compte et des identifiants. n8n possède ses propres tables de données (data tables). Ce sont de petits tableaux à colonnes typées, rangés dans la base de n8n, que les workflows peuvent lire et écrire.

Depuis l'accueil (Overview), ouvrez l'onglet Data tables et cliquez sur Create data table. Nommez la table demandes et laissez From scratch coché ; l'autre choix, Import CSV, crée la table à partir d'un fichier.

La création d'une table de données.
Figure 3.2 La création d'une table de données.

La table naît avec trois colonnes gérées par n8n : id, un numéro attribué à chaque ligne, puis createdAt et updatedAt, les dates de création et de modification. Ajoutez les vôtres avec Add Column. Chaque colonne a un nom et un type, parmi quatre : string (texte), number (nombre), boolean (vrai ou faux) et datetime (date et heure).

L'ajout de la colonne budget, de type number.
Figure 3.3 L'ajout de la colonne budget, de type number.

Créez ainsi cinq colonnes : nom, email, service et priorite de type string, budget de type number. Évitez les accents et les espaces dans les noms de colonnes : on les écrira souvent dans des expressions.

La table prête, encore vide.
Figure 3.4 La table prête, encore vide.

Note · Les limites des tables de données

Elles conviennent à des volumes modestes : par défaut, l'ensemble des tables d'une instance ne peut pas dépasser 200 Mio. Sur une instance auto-hébergée, la variable N8N_DATA_TABLES_MAX_SIZE_BYTES relève ce plafond. Au-delà, ou dès que d'autres logiciels doivent lire les données, une vraie base de données s'impose : c'est le sujet du chapitre 11.

3.3Un workflow vide

Créez un workflow : bouton + en haut de la barre latérale (Add new item), puis New workflow. n8n l'appelle My workflow. Cliquez sur ce nom, en haut de l'éditeur, et remplacez-le par Demandes de devis.

L'éditeur d'un workflow vide.
Figure 3.5 L'éditeur d'un workflow vide.

L'écran se partage en trois zones.

  • L'en-tête rappelle où se trouve le workflow (ici Personal, votre espace personnel) et son nom. À droite, le bouton Publish le mettra en production. Au centre, trois onglets : Editor (l'éditeur), Executions (l'historique de ses exécutions) et Evaluations (les jeux de tests des workflows d'IA, chapitre 19).
  • Le canevas, la grande surface pointillée, reçoit les nœuds. On s'y déplace en faisant glisser le fond, on zoome avec la molette ou les boutons en bas à gauche. Le bouton Tidy Up range les nœuds automatiquement.
  • La barre de journal (Logs), en bas, s'ouvre pour suivre une exécution nœud par nœud.

Il n'y a pas de bouton d'enregistrement : n8n enregistre seul chaque modification, en général dans les cinq secondes. Ce qu'il enregistre ainsi est un brouillon. Le workflow ne tournera pour de vrai qu'une fois publié, et c'est la version publiée qui s'exécutera, pas vos dernières retouches. Ce fonctionnement, apparu avec n8n 2.0, évite de casser la production en modifiant un workflow qui tourne.

3.4Le déclencheur : un formulaire

Cliquez sur Add first step… au centre du canevas. Le panneau des nœuds s'ouvre sur une question : qu'est-ce qui déclenche ce workflow ?

Le choix du déclencheur.
Figure 3.6 Le choix du déclencheur.
Déclencheur Le workflow part…
Trigger manually Quand on clique sur un bouton dans n8n
On app event Quand quelque chose se passe dans une application : Telegram, Notion, Airtable…
On a schedule À heure fixe, ou à intervalle régulier
On webhook call Quand une autre application appelle une adresse web de n8n
On form submission Quand quelqu'un remplit un formulaire servi par n8n
When executed by another workflow Quand un autre workflow l'appelle
On chat message Quand quelqu'un écrit dans une fenêtre de discussion (pour les workflows d'IA)
Other ways… Sur l'erreur d'un autre workflow, le changement d'un fichier, etc.

Le chapitre 6 les passe tous en revue. Choisissez On form submission.

Le panneau d'un nœud

n8n ouvre le panneau du nœud, l'écran où l'on règle un nœud. Il a trois colonnes : à gauche, ce que le nœud reçoit (Input) ; au centre, ses réglages ; à droite, ce qu'il produit (Output). Un déclencheur ne reçoit rien : sa colonne de gauche invite seulement à l'essayer.

Les réglages se répartissent en deux onglets. Parameters contient ce qui est propre à ce nœud. Settings contient ce qui est commun à tous : le comportement en cas d'erreur, les nouvelles tentatives, des notes (chapitre 9).

En haut des paramètres, Form URLs montre deux adresses. L'adresse de test, en /form-test/…, sert pendant la construction. L'adresse de production, en /form/…, ne répondra qu'une fois le workflow publié. Remplissez ensuite le titre du formulaire, Form Title, avec Demande de devis, puis sa description, Form Description, avec Décrivez votre projet : nous vous répondons sous 48 heures.

Les champs du formulaire

Chaque champ s'ajoute par Add Form Element. Il a un libellé (Label), le texte affiché au visiteur. Il a aussi un type (Element Type), à choisir parmi douze : Checkboxes, Custom HTML, Date, Dropdown (liste déroulante), Email, File, Hidden Field, Number, Password, Radio Buttons, Text Input et Textarea (texte sur plusieurs lignes).

La liste Add Attributes ajoute des réglages facultatifs :

  • Custom Field Name, le nom sous lequel la réponse sortira du nœud ;
  • Placeholder, un texte d'exemple grisé dans la case ;
  • Default Value, une valeur par défaut ;
  • Required Field, qui rend le champ obligatoire.
Libellé Type Nom du champ Obligatoire
Votre nom Text Input nom oui
Votre e-mail Email email oui
Service souhaité Dropdown service oui
Budget (FCFA) Number budget oui
Votre projet en quelques lignes Textarea message non

Pour la liste déroulante, n8n fait apparaître des cases Option : saisissez Site web, puis Add Field Option pour ajouter Application mobile et Automatisation. Pour l'e-mail, ajoutez un Placeholder : nom@exemple.com.

Astuce · Toujours un nom de champ

Sans Custom Field Name, n8n nomme chaque réponse d'après son libellé : on obtiendrait une donnée appelée Budget (FCFA), avec espaces et parenthèses, pénible à écrire dans une expression. Un nom court, sans accent, rend tout le reste du workflow plus lisible. Il permet aussi de reformuler un libellé plus tard sans rien casser derrière.

Le panneau du formulaire, champs en place.
Figure 3.7 Le panneau du formulaire, champs en place.

Le réglage Respond When dit quand le visiteur reçoit sa confirmation : par défaut, dès l'envoi du formulaire (Form Is Submitted). Les Options, plus bas, permettent de changer le texte du bouton, de filtrer les adresses IP autorisées, d'ignorer les robots ou de personnaliser l'apparence.

3.5Essayer le formulaire

Cliquez sur Execute step. n8n ouvre le formulaire de test dans un nouvel onglet ; un bandeau rappelle qu'il s'agit d'une version d'essai.

Le formulaire de test, rempli.
Figure 3.8 Le formulaire de test, rempli.

Remplissez-le et envoyez-le. Le visiteur voit « Form Submitted », et dans l'éditeur, la colonne de droite du panneau montre ce que le formulaire a produit.

La sortie du déclencheur : un élément, une colonne par champ.
Figure 3.9 La sortie du déclencheur : un élément, une colonne par champ.

Trois boutons changent la présentation de la sortie : Schema montre la structure des données, Table les présente en tableau, JSON dans leur forme brute. En JSON, cette demande s'écrit :

[
  {
    "nom": "Awa Ndongo",
    "email": "awa.ndongo@exemple.cm",
    "service": "Automatisation",
    "budget": 1500000,
    "message": "Relier notre boutique en ligne à notre logiciel de facturation.",
    "submittedAt": "2026-10-05T05:27:13.124+01:00",
    "formMode": "test"
  }
]

C'est un élément (item) : un objet JSON, une suite de paires nom-valeur. Le formulaire a ajouté deux données de lui-même : submittedAt, la date d'envoi, dans le fuseau de l'instance (ici +01:00, l'heure de Douala), et formMode, qui vaut test ou production. Le budget est un nombre, sans guillemets, parce que le champ était de type Number. Tout ce qui circule dans n8n prend cette forme : une liste d'éléments. Le chapitre 4 y est consacré.

Astuce · Épingler une sortie

Le petit bouton en forme de punaise, en haut de la sortie, épingle les données (pin data) : n8n les garde et les réutilise aux essais suivants, au lieu d'attendre un nouvel envoi du formulaire. C'est précieux quand le déclencheur est lent à provoquer, comme un e-mail à recevoir. Les exécutions de production, elles, ignorent toujours les données épinglées.

3.6Décider : le nœud If

Fermez le panneau. Sur le canevas, le formulaire porte une coche verte et l'indication « 1 item » : il a produit un élément. Survolez sa sortie, à droite : un + apparaît. Cliquez dessus, cherchez if et choisissez le nœud If.

Cette fois, la colonne de gauche du panneau n'est plus vide : elle montre les données qu'il reçoit, celles du formulaire. Et c'est de là qu'on les prend. Attrapez le champ budget avec la souris et faites-le glisser dans la première case de la condition.

Le champ budget, glissé de l'entrée vers la condition.
Figure 3.10 Le champ budget, glissé de l'entrée vers la condition.

n8n a écrit à votre place une expression : {{ $json.budget }}. Les doubles accolades marquent un calcul fait à l'exécution, $json désigne les données de l'élément en cours, et .budget en prend le champ du même nom. Sous la case, n8n affiche le résultat pour l'élément reçu : 1500000. Il a aussi deviné le type de la donnée : l'opérateur porte désormais le signe # des nombres. Le chapitre 5 apprend à écrire des expressions bien plus riches.

Cliquez sur l'opérateur, is equal to. Les opérateurs sont rangés par type de donnée : texte (String), nombre (Number), date (Date & Time), booléen, tableau, objet. Dans Number, choisissez is greater than or equal to (supérieur ou égal à), et saisissez 1000000 dans la seconde case.

Les opérateurs proposés pour un nombre.
Figure 3.11 Les opérateurs proposés pour un nombre.

Cliquez sur Execute step : n8n exécute le nœud sur l'élément reçu. Sa sortie a deux onglets, True Branch et False Branch, les deux sorties du nœud. La demande d'Awa, à 1 500 000 francs, est partie du côté vrai.

La sortie du nœud If : l'élément est dans la branche True.
Figure 3.12 La sortie du nœud If : l'élément est dans la branche True.

3.7Compléter : le nœud Edit Fields

Il reste à noter la priorité. Sur le canevas, le nœud If a deux sorties, marquées true et false. Cliquez sur le + de la sortie true, cherchez edit fields et choisissez Edit Fields (Set).

Commencez par lui donner un nom parlant : cliquez sur son titre, en haut du panneau, et tapez Priorité haute. Un workflow dont les nœuds s'appellent « Edit Fields » et « Edit Fields1 » devient illisible au bout de trois semaines.

Puis cliquez sur Add Field. Nommez le champ priorite, laissez son type sur String, et donnez-lui la valeur haute. Enfin, activez Include Other Input Fields : sans lui, le nœud ne laisserait sortir que priorite, et l'on perdrait le nom, l'e-mail et le budget.

Le nœud Priorité haute, exécuté : la priorité s'ajoute aux champs reçus.
Figure 3.13 Le nœud Priorité haute, exécuté : la priorité s'ajoute aux champs reçus.

Faites de même sur la sortie false : un nœud Edit Fields nommé Priorité normale, qui pose priorite à normale, avec Include Other Input Fields activé.

3.8Enregistrer : le nœud Data table

Sur la sortie de Priorité haute, ajoutez un nœud Data table. n8n propose aussitôt la liste de ses actions. On peut insérer, lire, mettre à jour ou supprimer des lignes, vérifier si une ligne existe, et gérer les tables elles-mêmes. Choisissez Insert row et renommez le nœud Enregistrer la demande.

Dans Data table, choisissez demandes dans la liste. n8n lit les colonnes de la table et affiche une case pour chacune, sous Values to insert. Remplissez-les en faisant glisser, depuis la colonne de gauche, le champ du même nom : nom dans nom, email dans email, et ainsi de suite jusqu'à priorite.

Le nœud Data table : une case par colonne, remplie par glisser-déposer.
Figure 3.14 Le nœud Data table : une case par colonne, remplie par glisser-déposer.

Cliquez sur Execute step. La sortie montre la ligne créée, avec son numéro id et ses dates.

Danger · Un essai n'est pas un faux

Exécuter un nœud dans l'éditeur l'exécute pour de vrai. Le nœud Data table vient d'écrire une ligne dans la table. Un nœud d'envoi d'e-mail enverrait un vrai message ; un appel à une API de paiement déclencherait un vrai paiement Mobile Money. n8n n'a pas de mode « simulation ». Quand un workflow agit sur le monde extérieur, on l'essaie avec des comptes et des destinataires de test, ou l'on désactive temporairement le nœud dangereux.

3.9Relier, ranger, exécuter le tout

La branche false doit elle aussi aboutir à l'enregistrement. Faites glisser la sortie de Priorité normale jusqu'à l'entrée du nœud Enregistrer la demande : un seul nœud peut recevoir des données de plusieurs autres. Cliquez ensuite sur Tidy Up pour remettre de l'ordre, puis sur Zoom to Fit.

Le nœud d'enregistrement porte maintenant un petit triangle jaune à la place de sa coche verte. n8n signale ainsi un nœud dont la dernière sortie n'est plus fiable. On a modifié ce qui l'alimente : ici, la nouvelle connexion. Ces nœuds sont dits dirty (« sales »).

Pour essayer tout le workflow, cliquez sur Execute workflow, en bas du canevas. Comme il commence par un formulaire, n8n ouvre le formulaire de test et attend un envoi. Envoyez une demande de 350 000 francs, pour Jean Mbarga et un site web. Chaque nœud s'exécute à son tour et prend une coche verte ; les liens indiquent combien d'éléments les ont traversés.

Le workflow exécuté de bout en bout : la demande de Jean a suivi la branche false.
Figure 3.15 Le workflow exécuté de bout en bout : la demande de Jean a suivi la branche false.

3.10Publier

Le workflow marche, mais seulement quand vous cliquez. Pour qu'il réponde à de vrais visiteurs, il faut le publier. Cliquez sur Publish (raccourci : Maj + P).

La fenêtre de publication.
Figure 3.16 La fenêtre de publication.

Chaque publication crée une version. n8n lui propose un nom, que vous pouvez remplacer, et une description facultative. Sur les formules payantes, on peut nommer les versions importantes pour les protéger de la purge automatique de l'historique. Cliquez sur Publish.

Le message qui suit la première publication.
Figure 3.17 Le message qui suit la première publication.

Le message le rappelle : les exécutions de production n'apparaissent pas dans l'éditeur, mais dans la liste des exécutions. Le bouton de l'en-tête affiche désormais Published, précédé d'un point vert. Si vous modifiez le workflow, il signalera des changements non publiés, et la production continuera d'utiliser la version publiée tant que vous ne republierez pas. Pour retirer un workflow de la production, la flèche à côté du bouton propose Unpublish.

Après la première publication, n8n ouvre aussi une liste de vérification, Production Checklist. Elle suggère trois réglages :

  • prévenir quelqu'un quand le workflow échoue, grâce à un workflow d'erreur (chapitre 9) ;
  • estimer le temps de travail manuel que chaque exécution épargne, pour les statistiques Insights (chapitre 33) ;
  • ouvrir le workflow aux clients MCP, ces assistants d'IA capables d'appeler des workflows (chapitre 18).

On la retrouve dans le menu … du workflow.

La liste de vérification qui suit la première publication.
Figure 3.18 La liste de vérification qui suit la première publication.

Ouvrez maintenant le déclencheur, choisissez Production URL, copiez l'adresse en /form/… et ouvrez-la dans un navigateur. C'est le formulaire que vos clients utiliseront, sans bandeau de test. Envoyez deux demandes : une de 2 800 000 francs, une de 600 000.

3.11Les exécutions

L'onglet Executions de l'en-tête liste tout ce que le workflow a fait.

La liste des exécutions et le détail de la plus récente.
Figure 3.19 La liste des exécutions et le détail de la plus récente.

À gauche, chaque exécution avec sa date, son résultat et sa durée. Celles qui portent une petite fiole ont été lancées depuis l'éditeur ; les deux plus récentes, sans fiole, viennent du formulaire de production. À droite, le détail de l'exécution choisie : le canevas tel qu'il était, avec le chemin suivi et le nombre d'éléments sur chaque lien. Cliquer sur un nœud montre ses données d'entrée et de sortie, exactement comme dans l'éditeur. Le bouton Copy to editor recopie ces données dans l'éditeur pour rejouer et corriger le cas ; pour une exécution en échec, il s'appelle Debug in editor. Il demande la clé gratuite de l'édition Registered Community (chapitre 2) : sans elle, il propose de changer d'édition.

Par défaut, n8n garde toutes les exécutions, réussies, en échec et manuelles. Sur un workflow très sollicité, cela finit par peser : le chapitre 22 montre comment limiter ce qu'on garde et pour combien de temps.

Il reste à vérifier le résultat. Ouvrez la table demandes : les quatre demandes y sont, chacune avec sa priorité.

La table après deux essais et deux demandes de production.
Figure 3.20 La table après deux essais et deux demandes de production.

3.12Exporter et importer un workflow

Un workflow est un document JSON : la liste de ses nœuds avec leurs réglages, et la liste des liens entre eux. Le menu …, à côté de son nom, permet de l'exporter.

Le menu d'un workflow.
Figure 3.21 Le menu d'un workflow.

Export JSON télécharge le fichier. Import fait l'inverse, depuis un fichier ou une adresse web. On peut aussi sélectionner des nœuds sur le canevas, les copier avec Ctrl + C et les coller dans un autre workflow, ou même dans un message : ce qui est copié est du JSON.

Le début du fichier du workflow ressemble à ceci :

{
  "name": "Demandes de devis",
  "nodes": [
    {
      "parameters": {
        "formTitle": "Demande de devis",
        "formDescription": "Décrivez votre projet : nous vous répondons sous 48 heures.",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Votre nom",
              "fieldName": "nom",
              "requiredField": true
            },
[…]

Attention · Ce qu'un export contient

Un export contient les réglages des nœuds, donc tout ce que vous y avez tapé. Il contient aussi les noms et numéros des identifiants utilisés, mais pas les mots de passe eux-mêmes. Relisez un fichier avant de le partager. À l'import sur une autre instance, ce qui désigne un objet de l'instance d'origine est à refaire. Le nœud Data table, par exemple, désigne la table par son numéro : il faudra la choisir de nouveau.

3.13Erreurs fréquentes

Oublier le nom de champ. La réponse sort alors sous son libellé, Budget (FCFA), et l'expression {{ $json.budget }} ne trouve plus rien. Rien n'échoue : la demande part sur la mauvaise branche, et le budget est enregistré vide. L'exercice 1 le montre.

Croire qu'un workflow enregistré est en production. n8n enregistre le brouillon tout seul, mais la production n'exécute que la version publiée. Après une modification, republiez.

Essayer un nœud qui agit sur le monde extérieur. Execute step n'est pas une simulation : il écrit, envoie, paie pour de vrai. Essayez avec des comptes et des destinataires de test.

Oublier une épingle. Une sortie épinglée sert à tous les essais suivants dans l'éditeur, même quand on croit envoyer de nouvelles données. Retirez-la quand l'essai est fini.

Importer un workflow sans refaire ses références. Une table, un identifiant ou un autre workflow se désignent par leur numéro dans l'instance d'origine. Après un import, choisissez-les de nouveau.

3.14Testez-vous

  1. Quelles sont les trois colonnes du panneau d'un nœud ?
  2. Pourquoi donner un nom de champ (Custom Field Name) à chaque réponse d'un formulaire ?
  3. Que se passe-t-il quand on clique sur Execute step dans un nœud qui envoie un e-mail ?
  4. Le workflow est publié, puis vous le modifiez sans republier. Quelle version tourne en production ?
  5. (Chapitre 2) Sur votre poste, à quelle adresse s'ouvre l'éditeur installé au chapitre 2, et pourquoi un téléphone du même réseau Wi-Fi ne peut-il pas l'ouvrir ?

En résumé

  • Les tables de données de n8n rangent de petits volumes de données à colonnes typées, sans base externe.
  • Un workflow commence par un déclencheur. Chaque nœud se règle dans un panneau à trois colonnes : entrée, réglages, sortie.
  • Execute step exécute un nœud, Execute workflow tout le workflow. Dans les deux cas, pour de vrai.
  • Faire glisser un champ de l'entrée vers une case écrit l'expression qui le désigne, par exemple {{ $json.budget }}.
  • Un nœud If sépare les éléments en deux branches ; un nœud Edit Fields ajoute ou modifie des champs.
  • n8n enregistre seul un brouillon ; seule la version publiée tourne en production.
  • Les exécutions se consultent dans l'onglet Executions ; on peut en recopier les données dans l'éditeur.
  • Un workflow s'exporte et s'importe en JSON.

Atelier — Un formulaire d'inscription

Objectif : refaire seul le chemin du chapitre sur un autre sujet. Comptez une heure.

Une association organise des ateliers. Elle veut un formulaire d'inscription qui demande le nom, l'e-mail, l'atelier choisi (parmi trois) et le nombre de places souhaitées.

  1. Créez une table inscriptions avec les colonnes qui conviennent, dont places de type number et statut de type string.
  2. Créez le workflow Inscriptions aux ateliers avec un déclencheur formulaire. Donnez un nom de champ à chaque réponse.
  3. Ajoutez un nœud If : au-delà de quatre places, la demande est à confirmer, sinon confirmée.
  4. Complétez chaque branche par un nœud Edit Fields nommé clairement, puis enregistrez dans la table.
  5. Essayez chaque branche avec le formulaire de test.
  6. Publiez, puis envoyez trois inscriptions par l'adresse de production.

Vérifier

  • La table contient vos inscriptions, avec le bon statut pour chacune.
  • La liste des exécutions distingue les essais de l'éditeur et les envois de production.
  • Exportez le workflow en JSON et retrouvez-y le nom de chacun de vos champs.

Exercices

Exercice 1 — Sans nom de champ

Retirez l'attribut Custom Field Name du champ budget et exécutez le déclencheur. Sous quel nom le budget sort-il ? Que devient l'expression du nœud If ? Que faut-il corriger pour que le workflow fonctionne de nouveau ?

Exercice 2 — Trois niveaux

Remplacez le nœud If par un nœud Switch, qui accepte autant de sorties que de règles, pour distinguer trois priorités : haute à partir d'un million, moyenne à partir de 300 000, normale en dessous. Quel est l'ordre des règles qui donne le bon résultat ?

Exercice 3 — Le brouillon

Le workflow étant publié, changez le seuil du nœud If à 2 000 000 sans republier. Envoyez une demande de 1 500 000 francs par l'adresse de production. Quelle priorité reçoit-elle ? Pourquoi ?

Exercice 4 — Les données épinglées

Épinglez la sortie du formulaire, puis cliquez sur Execute workflow. n8n ouvre-t-il le formulaire de test ? Envoyez ensuite une demande par l'adresse de production : quelles données le workflow utilise-t-il ?

Corrigés

Testez-vous.

  1. À gauche, ce que le nœud reçoit (Input) ; au centre, ses réglages ; à droite, ce qu'il produit (Output).
  2. Sans lui, la réponse sort sous son libellé, avec ses espaces et ses parenthèses, pénible à écrire dans une expression. Un nom court permet aussi de reformuler le libellé plus tard sans rien casser derrière.
  3. Le nœud s'exécute pour de vrai : l'e-mail part. n8n n'a pas de mode simulation.
  4. La dernière version publiée. Le brouillon modifié ne servira qu'après une nouvelle publication.
  5. À http://localhost:5678. Le fichier Compose du chapitre 2 publie le port sur 127.0.0.1 seulement : n8n n'écoute que les demandes du poste lui-même.

Les essais des exercices ont été faits le 16 octobre 2026 sur l'instance du livre, avec des copies du workflow et le vrai formulaire de production (outils/captures/essais-ch03-exercices.mjs, résultats dans exemples/ch03/exercices.json).

Exercice 1. Le budget sort sous son libellé :

{ "nom": "Fatou Bello", "service": "Site web", "Budget (FCFA)": 2800000, … }

L'expression {{ $json.budget }} du nœud If ne trouve plus rien. Le nœud n'échoue pas : la demande de 2 800 000 FCFA part sur la branche false, reçoit la priorité normale, et la table enregistre un budget vide. C'est le pire des cas : une erreur que rien ne signale. Le remède le plus simple est de remettre le nom de champ budget. On peut aussi écrire {{ $json['Budget (FCFA)'] }} dans le nœud If et dans le nœud Data table, mais il faudra tout reprendre au prochain changement de libellé.

Exercice 2. Les règles du Switch se lisent dans l'ordre, et chaque demande part par la première règle satisfaite. Le bon ordre est donc : d'abord haute (budget ≥ 1 000 000), puis moyenne (≥ 300 000), puis normale (< 300 000). Les essais l'ont confirmé : 2 800 000 et 1 000 000 donnent haute, 600 000 et 300 000 donnent moyenne, 100 000 donne normale. Dans l'ordre inverse, avec moyenne en premier, une demande de 2 800 000 sort moyenne : elle a satisfait la première règle.

Exercice 3. Elle reçoit la priorité haute. Le seuil de 2 000 000 n'existe que dans le brouillon ; la production exécute la version publiée, où le seuil vaut toujours 1 000 000. L'API de l'instance le montre : deux numéros de version différents, l'un pour le brouillon, l'autre pour la version publiée.

Exercice 4. Non : avec la sortie épinglée, Execute workflow n'ouvre aucun formulaire. Le workflow s'exécute aussitôt avec les données épinglées, ici un budget de 5 000 000 et la priorité haute. Par l'adresse de production, en revanche, c'est la demande réellement envoyée qui est traitée, un budget de 600 000 et la priorité normale : la production ignore toujours les données épinglées.

Pour aller plus loin

Dans n8n. Le menu … d'un workflow donne accès à ses réglages (Settings). On y choisit son fuseau, le workflow à prévenir en cas d'erreur et les exécutions à conserver. Version history liste les versions publiées et permet d'en restaurer une. Les modèles (Templates, dans la barre latérale) proposent des workflows tout faits, bons à étudier.

En ligne. Dans la documentation, la section « Build » couvre l'éditeur ; les pages « Save and publish workflows » et « Understand executions » détaillent ce chapitre. Les fiches « n8n Form Trigger », « If » et « Data table », dans « Integrations › Built-in nodes », décrivent tous les réglages de ces nœuds.

Faire automatiser votre entreprise

Vous n'avez pas le temps de tout apprendre ? Nous construisons vos automatisations n8n, sur votre serveur, et vous en gardez le contrôle. Décrivez votre problème : en 48 h, vous savez si c'est faisable, combien et en combien de temps.

n8n est une marque de n8n GmbH. Ce livre n'est ni édité ni approuvé par n8n GmbH.