portfolio-ia

Workflow n8n : prévenir le bon service à chaque nouvelle demande

Projet réalisé dans le cadre de ma formation « Concevoir, développer et déployer des solutions IA-driven » (GDU / Coursenia, 2026). Nova Services est une entreprise fictive décrite par l’énoncé ; les demandes de test sont fictives.

En une phrase : dans l’application Nova Services, une nouvelle demande attendait qu’un collaborateur pense à ouvrir son espace. J’ai conçu un workflow n8n qui prévient automatiquement le bon service, utilise une IA pour proposer une catégorie aux demandes ambiguës et journalise chaque traitement, avec des mécanismes de repli et d’alerte en cas d’erreur.

Ce que ça change : le service concerné est prévenu automatiquement · une demande ambiguë ne bloque plus le processus · chaque traitement est tracé.

n8n · IA (Groq) bornée à une liste fermée · journal Postgres (Supabase) en accès « ajout seul » · workflow d’alerte en cas de panne · 10 cas de test, dont 3 pannes provoquées

Statut : prototype de formation. Le workflow est hébergé sur un serveur OVHcloud (Francfort, Union européenne), en HTTPS, avec un webhook protégé par une clé ; il a été testé par des requêtes envoyées sur son adresse de production. Depuis le 23 octobre 2026, l’application Nova l’appelle elle-même après chaque nouvelle demande.

Le workflow dans l'éditeur n8n, en trois blocs repliables : ① contrôler, ② aiguiller et catégoriser (IA si « Autre », repli), ③ notifier puis journaliser


1. Le contexte

L’application Nova Services (réalisée au module précédent) centralise les demandes des clients : informations, problèmes techniques, rendez-vous, questions administratives. Les demandes sont bien enregistrées, mais personne n’est prévenu de leur arrivée.

2. Le problème

3. Comment j’ai cadré le besoin

Avant de construire, une analyse du processus existant (données reçues, étapes, rôles), puis un tri tâche par tâche : automatiser, ou laisser à un humain ?

Tâche Choix Raison
Enregistrer la demande Déjà fait par l’application Un second enregistrement recréerait une double source de vérité
Proposer une catégorie si « Autre » IA, sans blocage Erreur peu coûteuse et corrigeable : on trace et on corrige après
Prévenir le bon service Automatisé C’est le cœur du gain
Répondre au client, changer un statut Humain seulement Le statut « En cours » indique qui a pris la demande : c’est la parade contre les doublons de traitement

Règle retenue : plus une erreur coûte cher, plus la validation humaine intervient tôt.

4. Ce que j’ai construit

Étape Ce qui se passe
Réception Webhook POST, corps JSON aligné sur le formulaire de l’application
Contrôle Nom, email et description obligatoires ; sinon arrêt visible dans l’historique (Stop and Error)
IA Seulement si la catégorie est « Autre ». Le modèle ne reçoit que la description et doit répondre en JSON structuré, parmi 5 codes fixés
Contrôle de l’IA Une réponse hors liste, ou une panne du fournisseur, envoie la demande « à trier » chez un référent : la demande n’est pas perdue
Notification Email au service concerné (commercial, support, administration ou référent)
Journal Une ligne par traitement dans la base de l’application : catégorie, origine de la catégorie (client, ia, repli), réponse brute de l’IA, service prévenu
Alerte Un second workflow (Error Trigger) prévient le référent de toute exécution de production en échec : workflow, nœud, message, lien vers l’exécution

Email reçu par le service : demande « Autre » classée par l'IA en rendez-vous (demande fictive, adresses masquées)

Journal dans Supabase : catégorie, origine (client, ia, repli) et service prévenu, sans donnée personnelle

5. Choix techniques, et pourquoi

Choix Pourquoi
n8n Workflow lisible par un non-développeur, historique des exécutions intégré, auto-hébergeable (données maîtrisées)
IA en chaîne simple, pas en agent Le besoin est une classification, pas une décision autonome : l’IA ne répond pas au client et ne modifie rien
Sortie structurée + liste fermée + contrôle Un modèle de langage peut répondre n’importe quoi : sa réponse est vérifiée avant d’être utilisée
Groq (modèle openai/gpt-oss-20b) Rapide, offre gratuite suffisante pour le volume ; conditions annonçant l’absence d’entraînement sur les données transmises (à revérifier avant un usage réel)
Journal dans Postgres plutôt que Google Sheets Retour du mentor : une vraie base, reliée à la demande. Le journal vit dans la base de l’application (Supabase, région Paris), avec une clé étrangère vers la demande

Évolution du projet : v1 avec un journal Google Sheets, v2 avec la gestion des pannes et le workflow d’alerte, v3 avec le journal Postgres après la revue du mentor, puis (v3.4) étapes regroupées en trois blocs repliables et commentés pour la lisibilité, la notification et le journal étant désormais enchaînés ; (v3.5) appel direct par l’application, chaque trace rattachée à sa demande ; (v3.6) objet de la demande dans le sujet de l’email, pour que le service repère d’emblée une demande transmise par l’agent IA ou urgente.

6. Qualité, sécurité, données personnelles

7. Résultats

C’est un exercice de formation : pas de mesure chez un vrai client. Ce qui est vérifié : le workflow publié (n8n hébergé sur un serveur OVHcloud à Francfort), appelé par des requêtes de test, reçoit une demande, prévient le bon service, journalise le traitement, et chaque cas de panne testé aboutit à un repli ou à une alerte. Depuis le 23 octobre 2026, l’application en ligne l’appelle elle-même après chaque nouvelle demande (contrôlé sur une vraie demande : email au bon service, trace dans le journal rattachée à la demande). Ce qui ne l’est pas encore : la détection d’une panne de n8n lui-même (si le serveur est arrêté, aucune alerte ne part ; l’application relance pendant 24 heures, puis signale l’échec dans sa propre supervision).

Ordre de grandeur, à titre d’illustration : le gain estimé retenu dans n8n est de 3 minutes par demande (lire, classer, transmettre). Surtout, une demande n’attend plus que quelqu’un pense à regarder. Dans une vraie mission, ce chiffre se mesure pendant le diagnostic.

8. Limites et suites

Les conditions de mise en production sont listées dans la documentation du livrable (hébergement, protection du webhook et durée de conservation faits ; restent la sauvegarde, les adresses réelles, la publication de l’application Google, le RGPD et la surveillance).

9. Ce que ça dit de ma méthode

Je commence par décider ce qui doit rester humain, puis j’automatise le reste. Je traite l’IA comme une source non fiable : sa réponse est bornée, vérifiée, et une panne a toujours un chemin de repli. Je teste les pannes autant que les cas normaux, et je documente ce que la solution ne fait pas.


Jean-Baptiste Josselin · Intégrateur automatisation & no-code · LinkedIn