FlowKit

Le node Chat Trigger de n8n : guide complet du point d'entrée conversationnel

Publié le 2 août 2026 · 7 min de lecture

Tout workflow conversationnel n8n commence par le même node : le Chat Trigger. C'est lui qui reçoit les messages de l'utilisateur, les transforme en données exploitables (chatInput, sessionId) et déclenche le reste du workflow — typiquement un node AI Agent. Ce guide couvre le node lui-même : ses deux modes (chat hébergé par n8n vs embarqué dans votre site), ses options clés, les données émises et ce qui le distingue d'un Webhook classique. Pour le cas d'usage complet, voyez notre article dédié à l'intégration d'un widget de chat IA sur un site web — ici, on se concentre sur le node.

À quoi sert le Chat Trigger

Le Chat Trigger est le point d'entrée conversationnel d'un workflow : il s'exécute chaque fois qu'un utilisateur envoie un message dans une interface de chat reliée au workflow. Il joue trois rôles :

  • Exposer une interface ou un endpoint de chat : page hébergée par n8n accessible par URL, ou endpoint de type webhook appelé par votre propre front.
  • Normaliser le message entrant : quel que soit le canal, le workflow reçoit la même structure — le texte dans chatInput, l'identifiant de conversation dans sessionId.
  • Porter la session : le sessionId généré par le node est la clé qui permet aux nodes de mémoire de reconstituer l'historique à chaque tour.

À ne pas confondre avec le panneau de test « Chat » de l'éditeur : quand vous discutez avec votre workflow depuis le canvas, c'est bien le Chat Trigger qui s'exécute, mais en mode manuel, réservé au développement. Tant que Make Chat Publicly Available n'est pas activé, personne d'autre que vous ne peut parler au workflow. Le panneau de test est un outil de debug ; le node est la porte d'entrée de production.

Les deux modes : Hosted Chat et Embedded Chat

Le paramètre Mode du node propose deux fonctionnements distincts.

Hosted Chat : l'interface clé en main

En mode Hosted Chat, n8n génère et héberge une page de chat complète, accessible par une URL publique affichée dans le node (une fois le workflow activé et l'accès public ouvert). Vous n'écrivez aucune ligne de front : titre, sous-titre, placeholder et Initial Message(s) (les messages d'accueil affichés à l'arrivée) se configurent dans le node. C'est le mode recommandé pour partager un assistant interne, prototyper un chatbot RAG ou faire tester un agent, sans rien déployer.

Embedded Chat : le widget dans votre propre front

En mode Embedded Chat, le node expose un endpoint que votre propre interface appelle. Le cas le plus courant est le package officiel @n8n/chat, qui fournit un widget prêt à l'emploi :

<link href="https://cdn.jsdelivr.net/npm/@n8n/chat/dist/style.css" rel="stylesheet" />
<script type="module">
  import { createChat } from 'https://cdn.jsdelivr.net/npm/@n8n/chat/dist/chat.bundle.es.js';
  createChat({
    webhookUrl: 'URL_DU_CHAT_TRIGGER',
    mode: 'window' // ou 'fullscreen'
  });
</script>

Le widget envoie les messages au format attendu par le node : les clés chatInput et sessionId sont les valeurs par défaut des options chatInputKey et chatSessionKey de createChat. Vous pouvez aussi appeler l'endpoint depuis une application maison tant que vous respectez ce format. Dans ce mode, renseignez l'option Allowed Origins (CORS) avec les domaines autorisés — même logique de durcissement que pour sécuriser un webhook n8n.

Les options qui comptent

Quatre réglages méritent votre attention :

  1. Make Chat Publicly Available : tant que ce commutateur est désactivé, le chat n'est accessible que via le panneau de test de l'éditeur. Activez-le (et activez le workflow) pour ouvrir l'URL publique ou l'endpoint embarqué.
  2. Authentication : trois niveaux — None (accès libre), Basic Auth (identifiant/mot de passe via un credential n8n) et n8n User Auth (réservé aux utilisateurs connectés à votre instance). Pour un assistant interne, n8n User Auth est le plus simple ; pour un widget public, on reste en None avec filtrage CORS et garde-fous côté agent.
  3. Allow File Uploads : autorise l'utilisateur à joindre des fichiers, qui arrivent dans le workflow en données binaires aux côtés du texte. L'option Allowed File Mime Types restreint les types acceptés (par exemple image/*,application/pdf) — vide, tous les types passent, ce qui est rarement souhaitable.
  4. Response Mode : détermine comment la réponse repart. When Last Node Finishes renvoie la sortie du dernier node ; un mode à base de nodes de réponse dédiés permet d'envoyer plusieurs messages en cours d'exécution — même logique que le node Respond to Webhook pour les webhooks classiques ; et Streaming Response diffuse les tokens au fil de la génération, si le node aval le supporte — c'est le cas de l'AI Agent. Pour un chat, le streaming change tout : la réponse démarre immédiatement au lieu de laisser l'utilisateur devant un spinner.

Une option Load Previous Session permet aussi de recharger les messages précédents quand l'utilisateur revient — utile avec le widget embarqué, dont le paramètre loadPreviousSession est actif par défaut.

La donnée reçue : chatInput et sessionId

À chaque message, le node émet un item dont les champs essentiels sont :

{
  "sessionId": "8d2f4a…",
  "chatInput": "Quels sont vos horaires d'ouverture ?"
}

{{ $json.chatInput }} est le texte de l'utilisateur : c'est lui que vous passez en prompt à l'agent ou à une chaîne LLM. {{ $json.sessionId }} est l'identifiant de conversation, stable pendant toute la session : c'est la clé de voûte de la mémoire. Les nodes de mémoire (Simple Memory, Postgres Chat Memory, Redis…) l'utilisent par défaut pour stocker et retrouver l'historique — fonctionnement détaillé dans notre guide de la mémoire de conversation d'un agent IA. Sans sessionId cohérent, chaque message repartirait de zéro.

Ce soin apporté au fil de la conversation n'est pas un luxe : l'étude de Brandtzaeg et Følstad publiée en 2017, « Why People Use Chatbots » (Google Scholar), montre que la première motivation des utilisateurs de chatbots est la productivité — une aide rapide et efficace — ce qui suppose de ne pas répéter son contexte à chaque message. Et une étude d'Adam, Wessel et Benlian publiée en 2021 dans Electronic Markets, « AI-based chatbots in customer service and their effects on user compliance » (Google Scholar), montre que des signaux conversationnels proches de l'humain augmentent significativement la coopération des utilisateurs : messages d'accueil, continuité du dialogue et réponses fluides ne sont pas cosmétiques.

Le branchement typique : Chat Trigger → AI Agent

Le pattern standard tient en deux nodes principaux :

  1. Chat Trigger — reçoit chatInput et sessionId.
  2. AI Agent — reçoit le message en prompt ; on lui branche un Chat Model (OpenAI, Anthropic, Mistral…), un node Memory (qui lit le sessionId automatiquement) et d'éventuels outils personnalisés.

La réponse repart vers l'interface selon le Response Mode choisi. Pour un simple question-réponse sans outils, une Basic LLM Chain suffit — le choix est détaillé dans notre comparatif Basic LLM Chain vs AI Agent.

Chat Trigger ou Webhook classique ?

Le Chat Trigger est, techniquement, un webhook spécialisé. Les différences pratiques avec le node Webhook :

  • Interface fournie : le Webhook n'offre aucune UI ; le Chat Trigger apporte une page hébergée ou un widget officiel.
  • Format normalisé : chatInput/sessionId sont attendus par tout l'écosystème IA de n8n, alors qu'un Webhook vous laisse définir votre propre contrat.
  • Session native : la continuité de conversation est gérée pour vous ; avec un Webhook, il faudrait générer et transporter vous-même un identifiant de session.

Le Webhook reste le bon choix quand le canal n'est pas une interface de chat web : pour un chatbot WhatsApp, c'est un Webhook qui reçoit les messages de l'API Meta, et vous mappez le numéro de téléphone vers un sessionId.

Bonnes pratiques et limites

  • Ne laissez pas un chat public sans garde-fous : limitez le périmètre de l'agent dans le system message, activez l'authentification quand le public le permet, filtrez les origines CORS en mode embarqué.
  • Testez avec le panneau de l'éditeur avant d'ouvrir l'accès public : mêmes données, zéro exposition.
  • Restreignez les uploads : n'activez Allow File Uploads que si le workflow en fait quelque chose, et verrouillez les types MIME.
  • Attention au coût : un chat public branché sur un LLM consomme vos tokens ; prévoyez suivi et limites.
  • L'interface hébergée reste générique : pour une personnalisation poussée, passez en mode embarqué avec @n8n/chat ou un front maison.

En résumé

Le Chat Trigger transforme n8n en plateforme de chatbot : il fournit l'interface (hébergée ou embarquée via @n8n/chat), normalise chaque message en chatInput et sessionId, et porte la session dont dépend toute la mémoire de conversation. Choisissez le mode selon votre besoin, verrouillez l'accès, activez le streaming pour la réactivité, et branchez le tout sur un AI Agent avec mémoire. Le node est simple ; c'est la rigueur de sa configuration qui sépare un prototype d'un assistant de production.

FAQ

Questions fréquentes

Quelle est la différence entre le Chat Trigger et un Webhook classique dans n8n ?

Un Webhook expose un endpoint HTTP générique : à vous de définir le format des données, la gestion de session et l'interface côté client. Le Chat Trigger est spécialisé pour la conversation : il fournit une interface de chat prête à l'emploi (ou un endpoint compatible avec le widget @n8n/chat), normalise chaque message en chatInput et génère un sessionId par conversation, ce qui permet aux nodes de mémoire de suivre le fil sans code supplémentaire.

À quoi sert le sessionId émis par le Chat Trigger ?

Le sessionId identifie une conversation : il est généré au début de la session de chat et renvoyé avec chaque message. Les nodes de mémoire (Simple Memory, Postgres Chat Memory…) l'utilisent comme clé pour stocker et retrouver l'historique. Sans lui, l'agent traiterait chaque message comme s'il venait d'un inconnu, sans aucun contexte des échanges précédents.

Peut-on protéger l'accès au chat public du Chat Trigger ?

Oui. Le node propose un paramètre Authentication avec trois choix : None (accès libre), Basic Auth (identifiant et mot de passe via un credential n8n) et n8n User Auth (seuls les utilisateurs connectés à votre instance n8n peuvent utiliser le chat). Pour un widget embarqué sur votre site, restreignez aussi les domaines autorisés via l'option Allowed Origins (CORS).

Le Chat Trigger permet-il de streamer la réponse de l'agent en temps réel ?

Oui, à condition de choisir le mode de réponse Streaming Response dans les options du node et que le node aval supporte le streaming — c'est le cas du node AI Agent. Les tokens s'affichent alors au fil de la génération au lieu d'attendre la réponse complète, ce qui améliore nettement la latence perçue par l'utilisateur.

Bundle FlowKit Complet

269 €