Connecter Chatwoot à n8n : tri IA et réponses suggérées pour un support self-hosted
Publié le 5 août 2026 · 5 min de lecture
Un support client sur Chatwoot pose un problème d'arbitrage familier : la plateforme centralise très bien le live chat, les emails et WhatsApp dans une boîte unique, mais elle ne trie ni ne priorise rien par elle-même — chaque conversation attend son tour dans l'ordre d'arrivée, urgente ou non. C'est exactement le vide que n8n peut combler, sans sacrifier ce qui fait l'intérêt de Chatwoot pour un public self-host : rester maître de bout en bout de ses données conversationnelles. Ce guide couvre l'authentification, le déclenchement d'un workflow depuis Chatwoot (webhook signé, pas de node natif), puis trois cas d'usage IA concrets — tri à la création, brouillon de réponse en note privée, digest hebdomadaire.
Une étude de Graeme McLean et Kofi Osei-Frimpong, Examining satisfaction with the experience during a live chat service encounter (Computers in Human Behavior, 2017), a mesuré sur 302 répondants que la qualité perçue d'un échange en live chat dépend fortement de la rapidité et de la pertinence de la première réponse — bien avant la résolution finale du problème. Un tri automatique à l'arrivée d'une conversation agit précisément sur ce levier : il ne remplace pas l'agent, mais raccourcit le délai avant qu'une conversation urgente ne remonte à la bonne personne.
Pas de node natif : le réflexe Webhook + HTTP Request
n8n ne propose ni node Chatwoot ni Chatwoot Trigger en natif — seuls des nodes communautaires existent, à la maintenance incertaine. L'architecture robuste, identique que votre instance soit Chatwoot Cloud ou self-hosted (Docker, Coolify, VPS), tient en deux briques génériques :
- Un node Webhook n8n pour recevoir les événements poussés par Chatwoot ;
- Un node HTTP Request, avec un credential Header Auth générique, pour appeler l'API Application de Chatwoot dans l'autre sens (lire une conversation, poster une note, mettre à jour une étiquette).
Authentification : jeton d'accès et identifiant de compte
Chatwoot n'expose pas d'OAuth2 pour son API Application, seulement un jeton par agent :
- Dans Chatwoot, ouvrez Profile Settings (avatar en haut à droite) → onglet Access Token : copiez le jeton affiché.
- Dans n8n, créez un credential Header Auth avec le nom d'en-tête
api_access_tokenet ce jeton comme valeur. - Repérez votre account_id dans l'URL de votre interface Chatwoot (
.../app/accounts/<account_id>/...) : il figure dans le chemin de tous les appels API, au formathttps://<votre-domaine>/api/v1/accounts/<account_id>/....
Comme pour Freshdesk, créez ce jeton sur un compte agent technique dédié plutôt que sur un compte personnel : les notes et mises à jour automatiques restent ainsi traçables et ne disparaissent pas si l'agent quitte l'équipe.
Déclencher un workflow : le webhook Chatwoot, signé
Dans Chatwoot, sous Settings → Integrations → Webhooks, ajoutez un nouveau webhook en collant l'URL de production de votre node Webhook n8n, puis sélectionnez les événements à écouter parmi : conversation_created, conversation_status_changed, conversation_updated, message_created, message_updated, contact_created, contact_updated, webwidget_triggered, conversation_typing_on/off. Pour un tri à l'arrivée, conversation_created (ou message_created filtré sur message_type: incoming) est le point d'entrée naturel.
Chaque requête est signée : un en-tête X-Chatwoot-Signature (HMAC-SHA256, préfixé sha256=) et X-Chatwoot-Timestamp accompagnent le corps brut. Le secret associé au webhook s'affiche à sa création (récupérable ensuite depuis son formulaire d'édition). Un node Code placé juste après le Webhook recalcule la signature à partir de timestamp.body et compare le résultat à l'en-tête reçu avant de laisser passer l'exécution — le même mécanisme HMAC que celui détaillé dans notre guide sur les signatures cryptographiques dans n8n, à appliquer ici plutôt que de faire confiance à l'URL seule (voir aussi notre guide général sur la sécurisation des webhooks n8n).
Cas d'usage 1 — Tri et priorisation à la création
Le point d'entrée est le webhook conversation_created, suivi d'un node AI Agent avec un Structured Output Parser en sous-node, qui produit une classification fiable : urgence (1 à 5), categorie (bug, facturation, question_produit, résiliation, autre) et sentiment. Un node Switch route ensuite le résultat vers deux appels HTTP Request : POST /api/v1/accounts/{account_id}/conversations/{conversation_id}/labels pour poser une étiquette de catégorie, et POST .../toggle_priority pour fixer la priorité (urgent, high, medium, low, none). Un IF déclenche une alerte Slack si urgence >= 4. Cette logique de scoring — barème et boucle de feedback — est détaillée pour d'autres plateformes de support dans notre guide sur le scoring et la priorisation des tickets support avec l'IA ; seuls les endpoints d'écriture changent d'un outil à l'autre.
Cas d'usage 2 — Brouillon de réponse IA en note privée
Une fois la conversation classée, un second node AI Agent peut rédiger un brouillon de réponse à partir du dernier message entrant et, si vous exploitez un pack RAG, de votre base documentaire interne. Postez ce brouillon en note privée via POST /api/v1/accounts/{account_id}/conversations/{conversation_id}/messages avec "private": true et "message_type": "outgoing" — jamais private: false, qui enverrait le message directement au client. Un agent relit dans l'interface Chatwoot, corrige si besoin, puis répond lui-même. C'est le pattern d'approbation humaine avant action appliqué à la rédaction plutôt qu'à une action irréversible.
Ce filet humain n'est pas qu'une question de prudence théorique : une étude d'Erik Brynjolfsson, Danielle Li et Lindsey Raymond, Generative AI at Work, publiée en 2025 dans le Quarterly Journal of Economics, a mesuré sur plus de 5 000 agents de support qu'un assistant IA générant des suggestions de réponse augmente la productivité de 14 % en moyenne — jusqu'à 34 % pour les agents les moins expérimentés — sans dégrader la satisfaction client. Le brouillon en note privée reproduit exactement ce dispositif.
Cas d'usage 3 — Digest hebdomadaire des tendances support
Un node Schedule Trigger hebdomadaire déclenche un appel GET /api/v1/accounts/{account_id}/conversations filtré sur les sept derniers jours (paramètre status et tri par date), suivi d'un node AI Agent qui synthétise les catégories dominantes, les conversations restées open trop longtemps et les signaux de sentiment négatif détectés au fil de la semaine. Le résultat part vers un canal Slack ou par email aux managers — un rapport qui prend une minute à lire plutôt qu'une heure de tri manuel dans l'interface.
Limites : ce que l'IA ne doit pas faire seule
Le tri, le brouillon et le digest automatisent la préparation, pas la décision finale. Ne branchez jamais ce pipeline pour qu'il envoie une réponse publique (private: false), résolve une conversation ou confirme un remboursement sans validation humaine explicite. Et comme pour tout appel API à volume soutenu, prévoyez un Error Workflow dédié : voir notre guide sur la gestion des erreurs dans n8n pour éviter qu'une conversation urgente ne disparaisse silencieusement suite à une erreur d'API ou de quota LLM dépassé.
En résumé
Connecter Chatwoot à n8n tient en une authentification simple (jeton d'accès + account_id), un webhook signé HMAC plutôt qu'un trigger natif, et un détour systématique par HTTP Request pour toutes les opérations d'écriture — labels, priorité, notes, messages. Cette architecture webhook signé + IA + sortie structurée + routage est exactement celle du Pack Inbox IA (79 €), pensé pour la priorisation automatique de flux entrants ; si votre support gère aussi des documents ou des demandes de conformité, le Bundle FlowKit Complet (269 € au lieu de 347 €) couvre l'ensemble en une fois.
FAQ
Questions fréquentes
Existe-t-il un node Chatwoot natif dans n8n ?
Non, n8n ne propose ni node Chatwoot ni Chatwoot Trigger en natif. Il existe des nodes communautaires, mais leur maintenance dépend de contributeurs tiers. L'approche robuste et pérenne consiste à utiliser un node Webhook pour recevoir les événements Chatwoot, et un node HTTP Request avec le jeton d'accès pour appeler l'API Application — exactement le même réflexe que pour Freshdesk ou d'autres outils sans node dédié.
Chatwoot self-hosted fonctionne-t-il aussi bien que Chatwoot Cloud avec n8n ?
Oui, l'API et les webhooks sont strictement identiques entre les deux : seule l'URL de base change (votre domaine self-hosted plutôt que app.chatwoot.com). C'est même l'intérêt principal pour une audience self-host : les conversations clients ne transitent que par votre instance Chatwoot et l'API du modèle IA choisi, sans passer par un service tiers supplémentaire.
Comment vérifier qu'un webhook reçu vient bien de Chatwoot et n'a pas été falsifié ?
Chatwoot signe chaque requête webhook avec un en-tête X-Chatwoot-Signature (HMAC-SHA256 du couple horodatage + corps brut, préfixé sha256=) et un en-tête X-Chatwoot-Timestamp. Un node Code placé juste après le Webhook recalcule cette signature avec le secret affiché à la création du webhook et compare les deux valeurs avant de laisser passer l'exécution — le même principe que détaillé dans notre guide sur les signatures HMAC dans n8n.
Peut-on répondre directement au client depuis n8n sans passer par un agent ?
Techniquement oui, en appelant l'endpoint de création de message avec private: false, mais ce n'est pas recommandé sans garde-fou : un message envoyé ainsi part immédiatement, sans relecture. Réserver l'automatisation complète aux cas simples et bien testés (accusé de réception, FAQ figée) et garder une validation humaine pour tout le reste est l'approche la plus sûre en production.
Bundle FlowKit Complet
269 €