n8n – l’interface ultime pour l’automatisation ?

n8n : trois caractères que je voyais passer régulièrement sans jamais comprendre pourquoi tout le monde en parlait. Il a fallu que je prenne le temps de vraiment m'y intéresser pour réaliser ce que je ratais. Spoiler : ça valait le détour.

Cet article a été mis à jour le 4 août 2025 ; il prend 18 minutes à lire et comporte 4413 mots.

Des mois que j’en­tendais par­ler de n8n. Et je n’en voy­ais pas l’u­til­ité. En fait, je ne com­pre­nais même pas à quoi ça servait.

Mais à force d’en enten­dre par­ler, j’ai fini par me doc­u­menter. His­toire de ne pas mourir idiot. Du coup j’ai com­pris son util­ité, et j’ai même appris à m’en servir.

Et dans cet arti­cle, je vais te mon­tr­er, à toi aus­si, com­ment tir­er par­ti de cet outil.

Mais avant tout, tu te deman­des peut-être…

n8n, c’est quoi exactement ?

n8n est une plate­forme d’au­toma­ti­sa­tion open source qui per­met de con­necter dif­férentes appli­ca­tions, ser­vices et API entre elles pour automa­tis­er des tâch­es, des work­flows ou des proces­sus métiers.

Autrement dit :

  • C’est un Zapi­er open source et auto-héberge­able, sou­vent plus puis­sant et flex­i­ble, surtout si tu veux tout con­trôler toi-même.
  • C’est un out­il qui relie automa­tique­ment tes apps entre elles, comme une con­nex­ion intel­li­gente entre tes out­ils du quo­ti­di­en. Par­fait pour gag­n­er du temps, sans coder. Idéal si tu n’es pas développeur !

Pour te don­ner un exem­ple con­cret de ce que tu peux faire avec n8n, quand un client s’in­scrit sur ton site, tu peux créer un nou­veau con­tact dans ton CRM, lui envoy­er un cour­riel de bien­v­enue, envoy­er un mes­sage à tes col­lab­o­ra­teurs sur un canal Slack dédié, l’a­jouter à une feuille Google Sheet… tout ça sans avoir à rien faire, automa­tique­ment, dès que tu as défi­ni les actions à mener.

Si tu n’as qu’un nou­veau client par mois, tu peux te per­me­t­tre de gér­er manuelle­ment, en moins de 10 min­utes tu as ter­miné. Sur un an, tu y auras passé 2 heures peut-être, l’in­térêt n’est pas flagrant.

Mais imag­ine que tu aies ne serait-ce que 3 clients par jour à enregistrer.

À rai­son de 5 min­utes par client, tu y pass­es 1/4 d’heure. Tous les jours. Sur une semaine, 75 min­utes. Sur un mois, 5 heures. Sur un an, en comp­tant 11 mois à tra­vailler (tu es sup­posé pren­dre des vacances), 55 heures.

En automa­ti­sant, tu auras peut être passé quelques heures à tout met­tre en place, mais ensuite, c’est un gain net de 5 heures par mois que tu peux con­sacr­er à des tâch­es à plus forte valeur ajoutée, comme l’ac­qui­si­tion de nou­veaux clients. Et si vous êtes ne serait-ce que 3 à ce poste dans l’en­tre­prise, le gain est expo­nen­tiel. C’est plus d’un mois de tra­vail gag­né en automa­ti­sant quelques tâch­es simples.

Et le truc génial, c’et que tout le monde peut se servir de n8n : les développeurs pour automa­tis­er des tâch­es com­plex­es, les entre­pris­es pour inté­gr­er leurs out­ils sans coder, les indépen­dants pour gag­n­er du temps, mais aus­si les data engi­neers pour orchestr­er des pipelines sim­ples. Une sorte d’outil uni­versel, puis­sant et facile à manipuler.

Et n8n n’est pas seule­ment un Zapi­er gra­tu­it mais une vraie plate­forme d’au­toma­ti­sa­tion méti­er, ses usages en entre­prise le prouvent :

Ges­tion commerciale

  • Lead nur­tur­ing : nou­veau prospect → ajout CRM → séquence d’emails per­son­nal­isés → assig­na­tion d’un commercial
  • Suivi com­man­des : com­mande WooCom­merce → créa­tion fac­ture → envoi trans­porteur → noti­fi­ca­tion client + équipe

RH et onboarding

  • Nou­veau salarié → créa­tion de comptes (Slack, Google Work­space, etc.) → envoi d’un kit de bien­v­enue → plan­i­fi­ca­tion de formations
  • Absence déclarée → val­i­da­tion man­ag­er → mise à jour du plan­ning → noti­fi­ca­tion de l’équipe

Sup­port client

  • Tick­et sup­port → clas­si­fi­ca­tion automa­tique → assig­na­tion expert → escalade si délai dépassé
  • Avis client négatif détec­té → alerte équipe → créa­tion s’une tâche de suivi

Marketing/Communication

  • Nou­veau con­tenu sur le blog → pub­li­ca­tion réseaux soci­aux pro­gram­mée → ajout dans la newslet­ter → analyse de l’engagement
  • Webi­nar → emails relance → syn­chro­ni­sa­tion CRM → rap­port de participation

Finance/Comptabilité

  • Fac­ture reçue → extrac­tion des don­nées via OCR → val­i­da­tion → compt­abil­i­sa­tion → archivage
  • Seuil de stock atteint → com­mande four­nisseur → val­i­da­tion achat → suivi livraison

IT/Monitoring

  • Alerte serveur → diag­nos­tic automa­tique → créa­tion tick­et → noti­fi­ca­tion équipe si critique
  • Nou­v­el employé → pro­vi­sion­ing automa­tique de comptes → poli­tique de sécu­rité → audit accès

Et l’au­toma­ti­sa­tion avec n8n peut s’ap­pli­quer à pra­tique­ment tous les secteurs :

  • San­té : Prise RDV → rap­pels patients → syn­chro­ni­sa­tion plan­ning → fac­tura­tion assurance 
  • Édu­ca­tion : Inscrip­tion étu­di­ants → créa­tion comptes → plan­ning cours → suivi assiduité 
  • Immo­bili­er : Nou­veau bien → pub­li­ca­tion mul­ti-plate­formes → plan­i­fi­ca­tion vis­ites → suivi prospects 
  • BTP : Devis validé → com­mande matéri­aux → plan­ning équipes → fac­tura­tion étapes 
  • Asso­ci­a­tions : Adhé­sion → envoi carte → newslet­ter → relance cotisation 
  • Restau­ra­tion : Réser­va­tion → con­fir­ma­tion → rap­pel → enquête satisfaction 
  • Transport/Logistique : Com­mande → opti­mi­sa­tion tournées → suivi livrai­son → facturation 
  • Indus­trie : Com­mande → plan­i­fi­ca­tion pro­duc­tion → suivi qual­ité → expédition

En fait, dès qu’il y a des proces­sus répéti­tifs et des don­nées qui cir­cu­lent entre sys­tèmes, n8n peut apporter de la valeur. Peu importe le secteur.

C’est l’équiv­a­lent de Zapi­er, mais c’est aus­si son con­traire. Mêmes out­ils, même final­ité, mais un mod­èle financier dif­férent. Un tableau te per­me­t­tra de visu­alis­er plus facile­ment les dif­férences entre les deux :

Out­ilOpen source ?Auto-héberge­ment ?Gra­tu­it ?Notes
n8nOui✅ Oui✅ (self-host­ed)Puis­sant, tech­nique, flexible
Zapi­er❌ Non❌ Non❌ (freemi­um)Très sim­ple, mais payant et fermé

Et même si Zapi­er reste une référence incon­testable, n8n a lui aus­si des argu­ments pour séduire :

  • il est open source, auto-héberge­able et gra­tu­it
  • son inter­face graphique (drag & drop) te per­met de con­stru­ire des work­flows visuelle­ment, sans écrire une ligne de code – elle est plus avancée, plus libre, plus tech­nique et plus flex­i­ble que celle de Zapier
  • chaque étape du work­flow est un nœud (« node »), avec des con­necteurs pour Gmail, Out­look, Slack, Dis­cord, Microsoft Teams, Google Sheets, Airtable, Notion, Trel­lo, Shopi­fy, WooCom­merce, GitHub, Jira, et des cen­taines d’autres services
  • il est per­son­nal­is­able avec JavaScript ou Python (tu insères une fonc­tion dans un nœud) et exten­si­ble (tu peux créer tes pro­pres nœuds en Typescript)

Mais n8n n’est pas sans inconvénients :

  • Courbe d’apprentissage plus raide
    Même si l’interface est bien faite, n8n demande de com­pren­dre la logique des nœuds, des inputs/outputs, des vari­ables… Ce n’est pas du drag & drop simpliste.
  • Tu gères l’hébergement (et donc les pannes)
    Si tu veux du gra­tu­it, tu dois avoir un VPS ou un con­teneur Dock­er, gér­er les back­ups, installer les mis­es à jour manuelle­ment et prévoir une mon­tée en charge si ton usage devient mas­sif. Avec Zapi­er, tu ne te pos­es pas la ques­tion : tu crées ton compte, tu con­nectes les apps, tu dors tranquille.
  • Moins de con­necteurs « plug and play« 
    Même s’il y en a beau­coup, cer­tains con­necteurs dans n8n néces­si­tent une con­fig­u­ra­tion manuelle d’API et des étapes d’authentification que Zapi­er gère automa­tique­ment. Tu as plus de lib­erté, mais aus­si plus de friction.
  • Pas (encore) de ges­tion fine des util­isa­teurs
    Si tu veux gér­er une équipe dans une inter­face unique, avec des droits par pro­jet ou work­flow, n8n self-host­ed ne te le per­met pas facile­ment (sauf avec la ver­sion « Enter­prise » ou des con­tourne­ments). Mais rien ne t’empêche de créer plusieurs instances — une par équipe, par pro­jet ou par client — cha­cune isolée dans son pro­pre envi­ron­nement. C’est sim­ple à faire avec Dock­er, et ça per­met une sépa­ra­tion claire des usages.
  • Pas de dash­board de suivi com­plet inté­gré
    Tu n’as pas de con­sole native pour suiv­re les exé­cu­tions ratées, les quo­tas, les logs cen­tral­isés pro­pres, ni les alertes en cas d’échec.

Voici un tableau com­para­tif plus com­plet des deux outils :

Critèren8nZapi­er
Prise en mainMoins intu­itive au départInter­face ultra-simplifiée
Courbe d’apprentissageMoyenne à élevée selon les casTrès faible, tout est guidé
Main­te­nance / HébergementÀ ta charge si self-hostedAucune ges­tion côté utilisateur
Fia­bil­ité / monitoringTu dois met­tre en place toi-mêmeSuivi natif avec alertes mail
Mul­ti-util­isa­teur / droitsBasique (1 util­isa­teur par défaut)Com­plet (équipe, rôles, accès limités)
Con­necteurs métiersBeau­coup, mais par­fois moins poussésTrès nom­breux, bien intégrés
Web­hooks / PollingPlus sou­ple, mais plus “brut”Inté­gré, sim­ple à activer
Scal­a­bil­ité / haute disponibilitéPos­si­ble, mais à construireGéré native­ment par Zapier
Sup­port / assistanceCom­mu­nau­taire ou plan entrepriseSup­port client inté­gré, livechat
PrixGra­tu­it si hébergé soi-mêmeFreemi­um, mais vite payant

Zapi­er peut sem­bler gra­tu­it… mais seule­ment en apparence.
Dès que tu veux un peu de logique con­di­tion­nelle, plus de 2 – 3 con­nex­ions, ou une exé­cu­tion toutes les 5 min­utes, tu pass­es très vite aux plans payants.
Et si tu montes en charge (work­flows com­plex­es, vol­ume impor­tant), tu peux dépass­er les 100€/mois sans t’en ren­dre compte.

Dès que tu dépass­es le stade du hob­by ou que tu veux de l’au­toma­ti­sa­tion sérieuse (mul­ti-étapes, fil­tres, branche­ments con­di­tion­nels, accès à la logique méti­er…), la fac­ture monte très vite.

Zapi­er pra­tique en fait une stratégie de pric­ing pure­ment com­mer­ciale (c’est une entreprise) :

  • Plan gra­tu­it : 100 tâches/mois seule­ment, work­flows basiques
  • Pro à par­tir de 17€/mois : là ça devient intéres­sant avec 750 tâch­es par mois et l’ac­cès à toutes les fonctionnalités
  • Team à 60€/mois pour le mul­ti-util­isa­teur (jusqu’à 25) et 2000 tâch­es mensuelles
  • Enter­prise - pas de prix affiché, vous avez un négo­ci­a­teur au bout du fil. Prévoyez un défib­ri­la­teur – juste au cas où…

Et le piège : une tâche = une action. Un work­flow sim­ple comme celui que je prends en exem­ple (web­hook → récup users → fil­tre → IA → email) = 5 tâch­es par arti­cle pub­lié. Avec 3 articles/semaine, tu explos­es vite le quo­ta gra­tu­it, tu es déjà à 60 tâch­es sur un mois. Pour 1 abon­né. Plus 1 tâche par abon­né sup­plé­men­taire. Et en plus, vu que j’u­tilise une logique con­di­tion­nelle, tu as besoin au min­i­mum du plan Pro à 17€42/mois (si paiement annuel, 26€13 sinon). Hors tax­es, cela va sans dire. 😉 Met­tre en pro­duc­tion un tel work­flow, gra­tu­it avec n8n, te coûterait a min­i­ma 209€04 HT par an chez Zapi­er (soit 250€85 TTC).

À l’inverse, n8n est gra­tu­it si tu l’auto-héberges, et ses lim­i­ta­tions ne sont pas com­mer­ciales : ce sont celles que tu choi­sis de t’imposer (ressources serveur, quo­ta API des ser­vices con­nec­tés, etc.). Mais la gra­tu­ité a un coût : celui du temps et des com­pé­tences néces­saires pour l’héberge­ment et la maintenance.

Ok. Tout ça c’est bien, mais un exem­ple con­cret d’au­toma­ti­sa­tion, tout sim­ple, juste pour illus­tr­er le pro­pos, c’est mieux encore.

Si tu n’as jamais instal­lé d’ex­ten­sion Word­Press, je te ren­voie à un arti­cle sur mon blog Tout sur Word­Press : Installer, activ­er, met­tre à jour et sup­primer une exten­sion Word­Press. Tu ver­ras, ce n’est pas sor­ci­er. L’ar­ti­cle date de 2017, mais il est tou­jours d’ac­tu­al­ité, le modus operan­di pour installer une exten­sion n’a pas changé.

Héberger n8n en local ou sur un VPS via Docker Compose

Tu veux tester n8n sans t’inscrire à un ser­vice cloud ? Tu peux l’auto-héberger très facile­ment avec Dock­er. Voici un exem­ple de con­fig­u­ra­tion de base :

services:
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    ports:
      - "5678:5678"
    volumes:
      - ./n8n_data:/home/node/.n8n
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=mon-Mot~2PasseFort
      - N8N_HOST=localhost
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
    restart: unless-stopped

À savoir :

  • Par défaut, n8n ne met pas de mot de passe. Ici, on active une authen­tifi­ca­tion basique.
  • Les don­nées sont stock­ées dans un vol­ume local (./n8n_data).
  • Pour la prod, prévois un reverse proxy (Trae­fik ou Nginx), un nom de domaine et un cer­ti­fi­cat SSL.

Une fois le fichi­er docker-compose.yml créé, tu lances depuis ta con­sole SSH :

docker compose up -d

Et tu accèdes à ton inter­face n8n sur http://localhost:5678.

Prise en main de n8n

Avant de pass­er à l’ex­em­ple lui même, je t’ex­plique rapi­de­ment l’in­ter­face de n8n.

Chez n8n, tout est nœud, et chaque nœud est une action, un traite­ment, un appel d’API ou un bloc logique (if, loop, etc.).

Dans ton inter­face vierge n8n, tu as un bou­ton + en haut à droite de l’écran, et un tout au cen­tre. C’est avec l’un de ces bou­tons que tu vas ajouter le pre­mier nœud. Ensuite, tu auras un bou­ton plus à droite de chaque nœud, si tu cliques dessus, tu obtien­dras un écran de ce type :

n8n – ajouter un nœud
n8n – ajouter un nœud

Vu le nom­bre de nœuds disponibles (plusieurs cen­taines), tu peux faire une recherche pour trou­ver ce que tu veux – tu sai­sis AI et tous les nœuds inclu­ant AI vont appa­raître – dont Airtable, AI agent et même Wait.

À chaque fois, tu auras 3 blocs prin­ci­paux dans ta vue (comme tu le ver­ras plus bas sur le cap­ture d’écran n8n : n8n web­hook) :

  1. le bloc cen­tral, où tu effectues les réglages
  2. à gauche, les don­nées reçues, que tu vas traiter dans ton bloc
  3. à droite, les don­nées en sor­tie, une fois le traite­ment appliqué

J’ai rajouté un 4ième bloc, qui n’en est pas vrai­ment un, mais qui est impor­tant lui aus­si en phase de test : c’est un « menu » du bloc 3 qui te per­met d’ef­fectuer une recherche dans la sor­tie obtenue, de garder la sor­tie pour pou­voir l’u­tilis­er dans l’ensem­ble des opéra­tions qui suiv­ent (pin/unpin), de visu­alis­er tes don­nées au for­mat json, sous forme de tableau ou encore de schéma.

Main­tenant que tu sais tout ce qu’il y a à savoir sur n/n, sur Word­Press, sur l’en­vi­ron­nement de test, on peut pass­er à…

Un exemple pour prendre en main n8n

On va pren­dre un exem­ple sim­ple, le but ici c’est de com­pren­dre le con­cept. Un work­flow sim­ple, mais pas inutile non plus… comme par exem­ple l’en­voi d’un email à vos abon­nés après pub­li­ca­tion d’un arti­cle de blog. Avant de nous atta­quer à la réal­i­sa­tion, nous allons pass­er par une phase dite de…

Visualisation conceptuelle

Mieux vaut réfléchir en amont, ce qui nous évit­era d’ou­bli­er une étape lors de la con­struc­tion dans n8n. Voici le détail du workfow :

graph TD
    A[Enregistrement de l'article WordPress] --> B(Envoi du webhook à n8n);
    B --> C(Récupération des données de l'article);
    C --> D(Récupération de la liste des abonnés);
    D --> E{Y a-t-il des abonnés?};
    E -- Oui --> F[Génération d'un résumé par un LLM];
    F --> G[Envoi du mail via SMTP];
    G --> H[Workflow terminé];
    E -- Non --> H[Workflow terminé];

Main­tenant que tu sais où tu va, tu peux te lancer dans l’aven­ture, avec…

La construction de ton workflow

n8n n’est pas un out­il mag­ique, il faut lui don­ner la matière pre­mière, d’une manière ou d’une autre. Dans notre exem­ple, c’est une action dans Word­Press qui va tout déter­min­er. Mais pour que le work­flow fonc­tionne comme prévu, il faut en bous­culer l’or­dre quand on le con­stru­it, les étapes de con­struc­tion ne seront donc pas for­cé­ment dans l’or­dre déter­miné lors de la visu­al­i­sa­tion con­ceptuelle. La toute pre­mière étape, pour nous, ce sera la…

Récupération des données de l’article

Dès qu’un arti­cle est mis à jour, Word­Press envoie un flux de don­nées à n8n, qui le traite. Ce qui déclenche les actions suiv­antes, toutes con­di­tion­nées par la pre­mière (for­cé­ment). Pour que n8n écoute, il lui faut un Web­hook, c’est le point d’en­trée du Workflow.

Dou­ble clique sur le bloc pour ouvrir une fenêtre modale et gér­er le web­hook (c’est le com­porte­ment habituel de n8n, tu déclares un élé­ment, tu dou­ble cliques pour les réglages (inser­tion de code, ajout d’i­den­ti­fi­ants, ajout d’ac­tions et d’op­tions…). Tu as main­tenant ta fenêtre modale :

n8n webhook
n8n web­hook

En phase de créa­tion / test, tu cliques sur Lis­ten for test event (tu l’as dans les blocs 1 et 2). 

Tu retournes dans l’ad­min Word­Press, tu vas dans Réglages > WP Web­hooks, en haut de ta page tu cliques sur Send data, dans le champ de recherche Search trig­gers tu com­mences ta saisie avec post, tu sélec­tionnes Post cre­at­ed. Tu cliques sur Add Web­hook URL(1), tu nommes ton web­hook (2), tu ren­seignes l’URL de test, pour le moment (3). Tu vas dans le menu à trois points ver­ti­caux à droite de ton nou­veau hook, tu cliques sur Send demo. Si tout es bien réglé, tu vas avoir le bloc 3 qui ressem­ble étrange­ment à celui de la cap­ture d’écran (nor­mal, ce sont les don­nées de démo).

Une fois que tu as réglé le web­hook, on peut pass­er à…

Enregistrement de l’article WordPress

Là, sérieuse­ment, tu veux que je détaille ? 😉 On peut pass­er au point suivant…

Envoi du webhook à 8n8

Dif­fi­cile de faire plus sim­ple ! Le work­flow n8n démarre après l’en­voi du web­hook… déclenché par le change­ment d’é­tat de l’ar­ti­cle : quand tu cliques sur Pub­li­er, l’ar­ti­cle passe automa­tique­ment de Brouil­lon à Pub­lié, et c’est pré­cisé­ment ce qui déclenche l’en­voi du web­hook à n8n. Sim­ple, via un plu­g­in, celui que je t’ai demandé d’in­staller et d’ac­tiv­er précédem­ment (WP Web­hooks). Donc, tu n’as rien à faire de spé­cial. Juste à enreg­istr­er ton arti­cle. Le plu­g­in fait le reste.

Récupération de la liste des abonnés

n8n - WordPress Get many users
n8n – Word­Press Get many users

Pour récupér­er les util­isa­teurs, il faut d’abord con­fig­ur­er un compte Word­Press. Tu cliques sur le cray­on à côté de Cre­den­tial to con­nect with. La fenêtre ci-dessous apparaît :

n8n - configuration d'un compte WordPress
n8n – con­fig­u­ra­tion d’un compte WordPress

Tu vas avoir besoin d’un mot de passe d’ap­pli­ca­tion. Pour le créer, va dans l’ad­min­is­tra­tion de ton site Word­Press, à Comptes > Administrateur/administratrice et sélec­tionne ton compte ou un compte avec les mêmes droits. S’il ne s’ag­it pas d’un site per­so, tu devrais même créer un compte admin­is­tra­teur pour ce type d’ac­tions (nomme le automa­ti­sa­tion par exem­ple), ça évit­era de cass­er l’ap­pli si ton compte à toi est sup­primé. Rends toi à la sec­tion suivante :

WordPress - Mot de passe applicatif
Word­Press – Mot de passe applicatif

Une fois que tu as ton mot de passe d’ap­pli­ca­tion, retourne dans n8n.

  1. Com­mence par nom­mer le compte, surtout si tu n’en as pas qu’un. Compte Word­Press 1, ça ne te dit pas de quel compte il s’agit.
  2. Ren­seigne ton identifiant.
  3. Puis ton mot de passe d’application.
  4. Enfin l’URL.

Une fois la con­nex­ion Word­Press enreg­istrée, tu peux retourn­er à ton nœud Get Many Users. Le bloc 1 ne te sert pas, par con­tre tu as tout à voir dans le bloc 3. C’est là que se trou­ve ce qui te servi­ra plus tard dès que tu as cliqué sur Exe­cute step : les first_name et email.

Et on passe au troisième nœud, un nœud Code, parce qu’il faut par­fois en pass­er par là. n8n sup­porte le javascript et main­tenant, Python à titre expéri­men­tal. Pour notre exem­ple, on va utilis­er javascript.

n8n - nœud code
n8n – nœud code

Insère le code suiv­ant (dans le bloc 2) :

// Filtrer les utilisateurs qui ont le rôle "subscriber"
const subscribers = items.filter(item => {
  const roles = item.json.roles;
  return Array.isArray(roles) && roles.includes('subscriber');
});

// Créer un tableau d'objets { email, display_name }
const emails = subscribers.map(item => ({
  email: item.json.email,
  display_name: item.json.name || item.json.display_name || 'Abonné'
}));

// Vérifier s'il y en a au moins un
const hasSubscriber = emails.length > 0;

// Sortie
return [{
  json: {
    hasSubscriber,
    emails // <-- maintenant un tableau d'objets [{email, display_name}, ...]
  }
}];

Et tu obtiens un tableau json des abon­nés et de leurs noms. Utile pour envoy­er un email per­son­nal­isé. Et pour véri­fi­er qu’il y a au moins un abon­né. Ce qui nous emmène au point suivant…

Y a‑t-il des abonnés ?

Ce nœud ne per­met qu’une chose : une suite con­di­tion­nelle, gérée via un nœud if. Si la con­di­tion est vraie, on pour­suit le flux. Si elle est fausse, dans notre cas, on s’ar­rête. Inutile de déclar­er une fin d’ap­pli­ca­tion, sauf pour informer d’une absence d’abon­nés que nor­male­ment tu n’ig­nores pas. 😐

    Ne man­quez plus un article… 

    Abon­nez-vous à la newsletter ! 

    n8n - nœud if
    n8n – nœud if

    Tu cliques dans le bloc 1 sur une don­née, tu le gliss­es dans le champ Con­di­tions du bloc 2. En fonc­tion du type de don­née, le bloc 2 va se mod­i­fi­er. Tu vas gliss­er sur la don­née hasSubscriber, et ton choix va se porter sur is true ou is false dans une liste déroulante. Dans notre cas, il y a un abon­né (il valait mieux pour l’ex­em­ple), on con­tin­ue avec la…

    Génération d’un résumé par un LLM

    C’est sans aucun doute la par­tie la plus touf­fue de cet exemple.

    Tu com­mences par ajouter un nœud Edit Fields. C’est un des nœuds essen­tiels pour nous, c’est ici qu’on va agencer les don­nées reçues pour les traiter plus tard.

    n8n - nœud Edit Field
    n8n – nœud Edit Field

    Dans le bloc 1, tu peux choisir le nœud dans lequel tu vas piocher les don­nées. Comme tu le vois dans la cap­ture d’écran, il y a plusieurs orig­ines. Et pour chaque don­née, tu as l’in­dex du tableau json que tu obtien­dras en sor­tie, le type de don­née, la don­née et un exem­ple de la sortie.

    Tu cliques sur Add Field (en bas du boc 2) – tu as un bloc qui appa­raît, pour nom­mer la don­née, (l’in­dex du json généré), définir le type de don­née et enfin la don­née que tu récupères dans le bloc 1.

    Dans le bloc 3, tu as la sor­tie json. C’est la don­née que tu utilis­eras dans les nœuds suiv­ants. Et le nœud suiv­ant, c’est un nœud AI Agent. Je ne te fais pas l’af­front de t’ex­pli­quer à quoi il sert… 😀

    n8n - AI Agent
    n8n – AI Agent

    Prend soin de bien rédi­ger ton prompt, dans lequel que peux insér­er des don­nées issues du bloc 1.

    Dans un pre­mier temps, tu as à définir le mod­èle à utilis­er, dans le nœud dérivé (le rond en-dessous d’AI Agent). C’est un nœud à part entière, que tu choi­sis en cli­quant sur le + [model] du nœud AI Agent. En cli­quant tu as directe­ment les Lan­guage Mod­els. Tu choi­sis ton API, puis tu procèdes comme pour la ges­tion des iden­ti­fi­ants Wor­Press, avec le cray­on en haut à gauche dans le bloc 2, à côté de Cre­den­tials to con­nect with – ici j’u­tilise Open­Router pour me con­necter au LLM.

    n8n - AI Agent Chat Model
    n8n – AI Agent Chat Model

    Tu défi­nis le LLM à utilis­er, les options que tu veux gér­er (la tem­péra­ture par exem­ple), et c’est tout.

    Pour autant, jamais la con­nex­ion à un LLM n’au­ra été aus­si sim­ple : tu prends ton nœud AI Agent, tu défi­nis l’API à utilis­er, tu rédi­ges ton prompt et c’est ter­miné. Bon, ça prend un peu plus de temps à faire qu’à lire, mais en moins de 5 min­utes, tu as géré.

    Une fois les don­nées traitées par l’AI Agent, on passe à la dernière étape…

    Envoi du mail via SMTP

    Tu as à nou­veau besoin d’un nœud Code, pour for­mater les don­nées avant l’en­voi. Insère le javascript suivant :

    const emails = $('Edit Fields').item.json.emails;
    const postTitle = $('Edit Fields').item.json.post_title;
    const aiAgent = $('AI Agent').item.json.output;
    
    return emails.map(e => ({
      json: {
        email: e.email,
        display_name: e.display_name,
        post_title: postTitle,
        ai_agent: aiAgent
      }
    }));

    Et tu peux pass­er au nœud suiv­ant – le dernier de cet exem­ple, Send Email.

    n8n - Send Email
    n8n – Send Email

    Encore une fois, il te faut déclar­er ton compte email (les don­nées SMTP), exacte­ment comme lorsqe tu utilis­es Out­look ou Thun­der­bird – sauf que n8n n’a pas de fonc­tion autodiscover.

    Tu prends les don­nées du bloc 1, tu les insères là où tu en as besoin dans le bloc 2 (et c’est là que tu retrou­ve le nom de l’u­til­isa­teur, qui te per­met de per­son­nalis­er ton envoi). Cliques sur Exe­cute step, et mir­a­cle, tu vas recevoir ton pre­mier email, qui t’in­forme de la paru­tion d’un nou­v­el article.

    Ça y est, c’est ter­miné, tout est fait. Voici le résul­tat obtenu dans n8n :

    workflow n8n
    work­flow n8n

    Tu remar­queras de suite que tu as plus d’é­tapes dans le work­flow n8n que dans le work­flow con­ceptuel : c’est nor­mal, il y a des étapes qui néces­si­tent un post-traite­ment. Quand tu as récupéré les util­isa­teurs dans Word­Press par exem­ple, c’é­tait de la récupéra­tion brute, il a fal­lu récupér­er le nom et l’adresse email, le reste ne te ser­vait à rien dans le flux.

    Activation du webhook

    Dernière étape : tu as tout géré avec l’url de test, il te faut main­tenant retourn­er au Web­hook (le point d’en­trée de ton work­flow, copi­er l’url de pro­duc­tion et créer un nou­veau web­hook dans WP Web­hooks avant de sup­primer l’an­cien – une fois créé, il n’est pas mod­i­fi­able. Pas top, mais vu que l’opéra­tion ne prend que quelques sec­on­des, ce n’est pas très grave.

    Et surtout, tu actives ton work­flow :

    n8n-  activation du workflow
    n8n- acti­va­tion du workflow

    Voilà, tu as un out­il prêt à informer tes lecteurs de la pub­li­ca­tion d’un nou­v­el arti­cle. Mais atten­tion ! Pour l’en­voi d’une noti­fi­ca­tion ou d’une let­tre d’in­for­ma­tion, autant pass­er par un ser­vice externe tel que Jet­Mail, Send­Grid ou Mailchimp. Ton email aura un autre ren­du et tu ne sur­charg­eras pas ton serveur SMTP.

    Mais en changeant quelques paramètres tu pour­ras envoy­er une alerte à ton équipe quand l’ar­ti­cle passe en relec­ture, quand il est pub­lié, quand il est sup­primé… Ce ne sera plus un mail pour informer tes lecteurs, mais tes collaborateurs.

    Aller plus loin

    Je t’ai détail­lé un exem­ple sim­ple, qui peut te servir sur un blog per­so par exemple.

    Le code est disponible sur Github : Alerte Nou­v­el Arti­cle – Work­flow n8n sous licence Apache 2. Sens toi libre de le récupér­er, de l’adapter, d’en faire ce que tu veux.

    Mais en pro­duc­tion, en entre­prise, il te fau­dra égale­ment prévoir la ges­tion des erreurs, et des fall­backs en cas d’indisponi­bil­ité de ton mod­èle IA préféré par exem­ple… tu ne peux pas te per­me­t­tre de lancer un work­flow et de t’en remet­tre au ciel pour sa bonne exécution.

    Si tu veux informer tes lecteurs, tu pour­ras aus­si pass­er par un hook Word­Press, ça t’évit­era de pren­dre une exten­sion (plug’n play mais lim­itée dans ses actions). Tu pour­ras par exem­ple décider d’en­voy­er l’ar­ti­cle via curl, et prévoir dans n8n de ne pas réin­former si il y a déjà eu un envoi pour cet article…

    Bilan

    n8n fait le job et hon­nête­ment, il le fait bien. Je mets le temps passé à met­tre en place ce work­flow sur le compte de mon inex­péri­ence avec ce type d’outils – une fois qu’on a com­pris com­ment s’en servir, il peut vite devenir addic­tif pour effectuer des tâch­es répéti­tives en entre­prise, ou même pour soi.

    Cet out­il mérite-t-il pour autant le label ultime ? Pas vrai­ment. n8n est l’un des meilleurs com­pro­mis actuels entre puis­sance, lib­erté et coût, mais il n’est pas (encore) l’interface « ultime » pour tout le monde. Il excelle dans cer­tains cas d’usage et reste per­fectible dans d’autres.

    Il est open source. Il a plus de 350 con­necteurs. Et on peut en con­stru­ire en Type­script. Son coût d’u­til­i­sa­tion est qua­si-nul. Il a une com­mu­nauté active, des tem­plates prêts à l’emploi, un forum réac­t­if, des mis­es à jour mensuelles.

    Pour autant, sa courbe d’ap­pren­tis­sage est assez raide, le sup­port n’est disponible qu’en abon­nement Pro, tu n’as pas une ges­tion intu­itive des erreurs, son UX mobile n’est pas extra­or­di­naire, il n’est pas franche­ment scalable…

    Alors il est plus qu’in­téres­sant, presque l’in­ter­face ultime pour un free­lance ou petite équipe tech­nique qui veut du gra­tu­it et de la lib­erté, pour une entre­prise avec une cul­ture DevOps ou un ser­vice interne capa­ble de main­tenir l’infrastructure, pour des data-engi­neers qui ont besoin d’orchestrer des pipelines ETL/ELT légers.

    Par con­tre les DSI d’une PME sans ressources DevOps préféreront Make ou Zapi­er. Les grands comptes avec exi­gences de gou­ver­nance (SSO, RBAC fin, audit logs) opteront soit pour la ver­sion Enter­prise (payante), soit pour une alter­na­tive (Zapi­er ou Make à nouveau).

    C’est l’interface la plus promet­teuse du marché open-source, mais « ultime » dépend du profil.

    Dans l’état actuel, il est :

    • ultime pour les tech-savvy qui veu­lent con­trôler leur stack
    • très bon mais per­fectible pour les pro­fils métier
    • encore trop DIY pour les grandes struc­tures non-tech

    D’ici 12–18 mois, avec une UX sim­pli­fiée et un mode SaaS mature, il pour­rait effec­tive­ment devenir l’interface de référence.

    Pas­cal CESCATO

    Je ne me con­tente pas de refor­muler des com­mu­niqués ou de dérouler des specs. Je teste, je creuse, je démonte quand il faut – parce qu’un sujet mal com­pris est un sujet mal écrit. J’écris avec les mains dans le cam­bouis, sans sim­pli­fi­er à out­rance ni recracher du mar­ket­ing. Mon truc, c’est de ren­dre clair sans trahir, lis­i­ble sans liss­er. Et non, je ne “fais pas du con­tenu”. Pas pour faire du con­tenu, en tout cas.

    S’abonner
    Notification pour
    guest
    0 Commentaires
    Le plus ancien
    Le plus récent Le plus populaire
    Commentaires en ligne
    Afficher tous les commentaires
    Table des matières
    Retour en haut
    Les cookies que nous utilisons sont indispensables au bon fonctionnement de ce site. Il n'y a aucun pistage publicitaire et les données statistiques recueillies sont anonymisées.
    J'ai compris