Un bot Telegram avec n8n et une IA peut traiter au­to­ma­ti­que­ment les messages entrants et y répondre de manière in­tel­li­gente. Dans cet article, nous vous montrons étape par étape comment connecter un bot Telegram à n8n, le con­fi­gu­rer et l’enrichir avec des fonctions d’IA.

Quels sont les avantages d’un bot Telegram avec n8n et l’IA ?

Un bot Telegram avec n8n vous permet de mettre en place une com­mu­ni­ca­tion au­to­ma­ti­sée sans dé­ve­lop­pe­ment logiciel classique. Au lieu de pro­gram­mer vous-même un bot complet, vous assemblez dif­fé­rents blocs dans l’outil low-code n8n pour créer un workflow clair. Vous pouvez ainsi recevoir des messages, les analyser, les trans­mettre à une in­tel­li­gence ar­ti­fi­cielle et renvoyer au­to­ma­ti­que­ment une réponse à Telegram.

Il est également pratique de pouvoir étendre le workflow à tout moment, par exemple avec des requêtes de base de données, des con­nexions à des API ou des no­ti­fi­ca­tions. Les petites en­tre­prises, les équipes et les par­ti­cu­liers peuvent ainsi sim­pli­fier les tâches de com­mu­ni­ca­tion ré­cur­rentes. De plus, n8n convient par­ti­cu­liè­re­ment si vous souhaitez héberger vous-même votre bot et garder le contrôle de vos au­to­ma­ti­sa­tions.

Quelles sont les étapes à suivre pour créer un bot Telegram avec n8n ?

Étape 1 : préparer les prérequis pour le bot Telegram

Avant de commencer à créer con­crè­te­ment votre bot Telegram avec n8n, vous devez remplir quelques prérequis de base. Il s’agit notamment des éléments suivants :

  • Une instance n8n en cours d’exécution : votre en­vi­ron­ne­ment n8n doit être ac­ces­sible afin que vous puissiez créer des workflows et utiliser des Webhooks ou des dé­clen­cheurs.
  • Un compte Telegram : vous avez besoin d’un compte uti­li­sa­teur Telegram classique pour créer un bot via le BotFather.
  • Un accès API pour l’IA : vous avez besoin d’un service per­met­tant de générer des réponses tex­tuelles, par exemple via un grand modèle de langage (LLM) ou un four­nis­seur d’IA adapté.
  • Un accès de base à l’interface n8n : vous devez pouvoir créer des workflows, ouvrir des nœuds et en­re­gis­trer des iden­ti­fiants d’accès.
Conseil

Si vous n’avez pas encore configuré n8n, il est re­com­mandé de l’installer avec Docker. Une ins­tal­la­tion de n8n avec Docker se met en place ra­pi­de­ment et convient aussi bien aux premiers tests qu’aux en­vi­ron­ne­ments de pro­duc­tion sur des serveurs. Pour des en­vi­ron­ne­ments plus im­por­tants ou évolutifs, il peut également être judicieux d’exécuter n8n avec une or­ches­tra­tion de con­te­neurs. Ainsi, une ins­tal­la­tion de n8n sur Ku­ber­netes permet par exemple d’exécuter des workflows hautement dis­po­nibles et flexibles dans des in­fras­truc­tures complexes.

Étape 2 : créer un bot Telegram avec le BotFather

Avant de pouvoir créer votre workflow n8n, vous devez d’abord con­fi­gu­rer votre propre bot dans Telegram. Pour cela, utilisez le compte officiel BotFather, qui permet de créer et de gérer des bots. Ouvrez Telegram, re­cher­chez « BotFather » dans vos chats et démarrez la con­ver­sa­tion.

Image: Telegram BotFather : démarrer BotFather
En cliquant sur le bouton Démarrer, vous lancez le service BotFather dans Telegram.

Envoyez ensuite la commande /newbot pour créer un nouveau bot.

Image: Telegram BotFather : créer un nouveau bot
Avec la commande `/newbot`, vous pouvez créer un nouveau bot avec BotFather.

Telegram vous demande d’abord de choisir librement un nom d’affichage pour le bot. Vous devez ensuite définir un nom d’uti­li­sa­teur unique qui se termine par « bot », par exemple « n8n_di­gi­tal­guide_test_bot ». Une fois le nom accepté, BotFather vous fournit un jeton API. Ce jeton est essentiel : vous l’en­re­gis­tre­rez ensuite dans n8n afin d’autoriser votre workflow à envoyer et à recevoir des messages.

Image: Telegram BotFather : jeton
Une fois le nom défini, vous recevez votre jeton. Conservez-le pré­cieu­se­ment.

Étape 3 : préparer n8n et créer un nouveau workflow

Une fois le bot créé, accédez à votre interface n8n. Créez-y un nouveau workflow afin de définir gra­phi­que­ment le trai­te­ment des messages Telegram. Dans n8n, chaque étape du processus est re­pré­sen­tée par un nœud distinct. Le dé­rou­le­ment reste ainsi clair, même pour les débutants : vous voyez pré­ci­sé­ment quand un message arrive, quand il est transmis à l’IA et quand la réponse est renvoyée à Telegram.

Donnez idéa­le­ment un nom explicite au workflow dès le départ. Vous pourrez ainsi le retrouver fa­ci­le­ment par la suite, notamment si vous gérez plusieurs au­to­ma­ti­sa­tions dans votre instance n8n. Pensez à en­re­gis­trer le workflow dès le début afin de ne pas perdre vos premières mo­di­fi­ca­tions.

Étape 4 : con­fi­gu­rer le dé­clen­cheur Telegram dans n8n

Ajoutez main­te­nant le premier nœud important : le dé­clen­cheur Telegram. Ce nœud garantit que n8n réagit au­to­ma­ti­que­ment dès que quelqu’un envoie un message à votre bot. Dans la liste des nœuds n8n, re­cher­chez « Telegram » et sé­lec­tion­nez le nœud dé­clen­cheur approprié.

Image: n8n : déclencheur Telegram
Sé­lec­tion­nez le nœud Telegram parmi les nœuds n8n et choi­sis­sez l’action de dé­clen­che­ment souhaitée, dans notre cas la réception d’un message.

Vous devez ensuite ren­seig­ner les iden­ti­fiants de votre bot. Pour cela, créez d’abord de nouveaux iden­ti­fiants Telegram dans n8n et saisissez-y le jeton pré­cé­dem­ment reçu de BotFather. n8n peut alors com­mu­ni­quer avec votre bot. Le dé­clen­cheur détecte di­rec­te­ment les messages Telegram entrants et met leur contenu à dis­po­si­tion sous forme de données dans le workflow.

Image: n8n : identifiants Telegram
Créez les iden­ti­fiants Telegram dans votre nœud à l’aide du jeton de bot que vous venez d’en­re­gis­trer.
Note

Pour que le dé­clen­cheur Telegram dans n8n fonc­tionne de manière fiable, votre instance n8n doit être ac­ces­sible pu­bli­que­ment via HTTPS. Telegram transmet gé­né­ra­le­ment les messages entrants à votre en­vi­ron­ne­ment n8n au moyen d’un Webhook. Si l’instance n’est pas ac­ces­sible de l’extérieur ou n’est pas cor­rec­te­ment sécurisée en HTTPS, Telegram ne peut pas appeler cor­rec­te­ment le dé­clen­cheur. Vérifiez donc au préalable que votre URL n8n est valide, pu­bli­que­ment ac­ces­sible et équipée d’un cer­ti­fi­cat SSL.

Étape 5 : envoyer un message de test au bot et vérifier la réception

Avant de connecter di­rec­te­ment l’IA, vérifiez d’abord que votre bot reçoit cor­rec­te­ment les messages. Ouvrez votre workflow, cliquez sur le nœud Telegram et sé­lec­tion­nez l’option « Execute Step » en haut de l’éditeur. n8n se met alors en attente d’évé­ne­ments entrants, en l’oc­cur­rence d’un message.

Ouvrez ensuite l’ap­pli­ca­tion Telegram. Re­cher­chez le nom d’uti­li­sa­teur de votre bot et ouvrez la con­ver­sa­tion. Si vous utilisez le bot pour la première fois, cliquez d’abord sur « Start » ou envoyez la commande /start pour l’activer. Vous pouvez ensuite saisir un message, par exemple « Bonjour ». Telegram transmet alors ce message à n8n.

Si tout est cor­rec­te­ment configuré, n8n devrait recevoir le message im­mé­dia­te­ment. Revenez dans l’interface n8n : le nœud dé­clen­cheur affiche alors une exécution réussie et vous pouvez consulter les données reçues dans la sortie. Celles-ci con­tien­nent toutes les in­for­ma­tions per­ti­nentes con­cer­nant le message. Ce test in­ter­mé­diaire est par­ti­cu­liè­re­ment important, car il vous permet de vérifier dès le début si la connexion entre Telegram et n8n fonc­tionne cor­rec­te­ment.

Portez une attention par­ti­cu­lière à la structure des données dans la sortie. Le texte du message se trouve gé­né­ra­le­ment dans le champ message.text, tandis que l’ID du chat est stocké sé­pa­ré­ment dans message.chat.id. Ces deux valeurs seront ensuite es­sen­tielles pour trans­mettre le message à l’IA et renvoyer la réponse au bon uti­li­sa­teur.

Par exemple, un extrait de données reçues pourrait res­sem­bler à ceci :

{
    "message": {
        "message_id": 12,
        "text": "Bonjour",
        "chat": {
            "id": 123456789,
            "type": "private"
        },
        "from": {
            "id": 987654321,
            "username": "utilisateurexemple"
        }
    }
}
json

Étape 6 : préparer le texte entrant pour l’IA

Ensuite, vous devez mettre le texte du message entrant dans un format fa­ci­le­ment ex­ploi­table par le service d’IA. Pour cela, utilisez dans n8n un nœud Edit-Fields. L’objectif est de réduire les données Telegram im­bri­quées aux deux in­for­ma­tions es­sen­tielles : le texte du message et l’ID du chat.

Ajoutez un nouveau nœud et reliez-le di­rec­te­ment au dé­clen­cheur Telegram. Ouvrez le nœud et créez deux nouveaux champs. Dans le premier, saisissez user_message comme nom. Comme valeur, cliquez sur « Ex­pres­sion » et sé­lec­tion­nez dans les données entrantes le champ contenant le texte du message. Créez ensuite un deuxième champ nommé chat_id et sé­lec­tion­nez l’ID du chat. n8n reprend alors au­to­ma­ti­que­ment ces valeurs à partir de la sortie du nœud précédent.

Un mappage de champs possible dans le nœud ressemble alors à ceci :

Image: n8n : Set-Node
Prenez la sortie de votre nœud précédent et créez, dans un nœud Edit-Fields (Set), un mapping manuel vers des variables que vous pouvez nommer librement.

Après cette étape, vous disposez de deux valeurs clai­re­ment struc­tu­rées que vous pouvez trans­mettre di­rec­te­ment à l’IA et réu­ti­li­ser pour envoyer la réponse au bon chat.

Étape 7 : ajouter un nœud d’IA ou une requête HTTP pour la gé­né­ra­tion de texte

L’étape suivante constitue le véritable cœur de votre bot : le trai­te­ment par l’IA. Selon votre con­fi­gu­ra­tion, vous pouvez soit utiliser un nœud d’IA existant, soit appeler un service d’IA externe via une requête HTTP. Le principe reste toujours le même : le texte reçu depuis Telegram est transmis à un modèle de langage, traité par celui-ci, puis renvoyé à n8n sous forme de résultat.

Nous utilisons ici le nœud OpenAI intégré. Vous pouvez y accéder aux données du nœud précédent et formuler un prompt adapté à vos besoins.

Étape 8 : extraire la réponse de l’IA à partir du retour

Une fois la requête envoyée avec succès à l’IA, vous devez extraire sa réponse à partir des données re­tour­nées. La structure exacte dépend du four­nis­seur ou du nœud utilisé. Examinez donc at­ten­ti­ve­ment la sortie du nœud dans n8n.

Un nœud Edit-Fields sup­plé­men­taire peut également être très pratique pour cela. Vous pouvez y en­re­gis­trer la réponse de l’IA dans un champ dédié, par exemple bot_reply. Votre workflow reste ainsi clai­re­ment structuré et vous évitez des ex­pres­sions complexes dans les nœuds suivants. Cette étape est également utile si vous souhaitez encore re­tra­vail­ler la sortie de l’IA, par exemple pour la rac­cour­cir ou filtrer certains contenus.

Étape 9 : renvoyer la réponse à l’uti­li­sa­teur avec un nœud Telegram

Dès que la réponse de l’IA est dis­po­nible, ajoutez un autre nœud Telegram pour la renvoyer à l’uti­li­sa­teur. Dans ce nœud, sé­lec­tion­nez l’action ap­pro­priée pour envoyer un message. Indiquez ensuite comme des­ti­na­taire l’ID du chat extrait pré­cé­dem­ment. Utilisez comme contenu le champ contenant la réponse de l’IA.

Vous obtenez ainsi un cycle complet : Telegram reçoit un message de l’uti­li­sa­teur, n8n traite les données, l’IA génère une réponse, puis celle-ci est au­to­ma­ti­que­ment renvoyée dans Telegram.

Étape 10 : tester l’ensemble du workflow

Vous devriez main­te­nant tester l’ensemble du processus. Envoyez pour cela une question à votre bot Telegram et observez dans n8n les dif­fé­rents nœuds qui s’exécutent suc­ces­si­ve­ment. Vous pouvez ainsi vérifier pré­ci­sé­ment à quel endroit les données sont cor­rec­te­ment trans­mises et où d’éventuels problèmes sur­vien­nent. Si la réponse de l’IA apparaît dans Telegram, le fonc­tion­ne­ment de base de votre bot est cor­rec­te­ment configuré.

En cas d’erreur, vérifiez les données à chaque étape du workflow. Les causes fré­quentes sont des chemins de champs in­cor­rects, des accès API mal con­fi­gu­rés ou une structure de réponse dif­fé­rente de celle attendue. Lors des premiers essais, il est tout à fait normal de devoir effectuer quelques ajus­te­ments. Une fois le test réussi, vous pouvez fa­ci­le­ment étendre les fonc­tion­na­li­tés de votre bot.

Étape 11 : améliorer le bot avec des règles simples

Un bot de base fonc­tion­nel est un bon début, mais en pratique, vous sou­hai­te­rez gé­né­ra­le­ment avoir davantage de contrôle sur son com­por­te­ment. Il est donc judicieux d’intégrer des règles sup­plé­men­taires dans votre workflow. Vous pouvez par exemple utiliser un nœud IF pour vérifier si un message est vide, s’il contient certains mots-clés ou si certaines entrées doivent dé­clen­cher une réponse standard. Vous évitez ainsi des requêtes inutiles à l’IA tout en amé­lio­rant l’ex­pé­rience uti­li­sa­teur.

Il est pertinent de limiter les messages trop longs ou inadaptés. Vous pouvez par exemple définir que les messages très longs soient rac­cour­cis ou qu’une réponse ex­pli­ca­tive soit envoyée. Les simples sa­lu­ta­tions peuvent elles aussi être gérées plus ef­fi­ca­ce­ment avec une réponse fixe qu’avec l’IA. Votre workflow reste ainsi plus éco­no­mique, plus rapide et plus facile à contrôler.

Un exemple simple de règle spéciale serait :

Si message = /start → envoyer un message de bienvenue fixe Sinon → trans­mettre le message à l’IA

Étape 12 : activer le workflow et l’utiliser en pro­duc­tion

Si tous les tests se sont déroulés avec succès, vous pouvez publier le workflow dans n8n en cliquant sur « Publish » en haut à droite. À partir de ce moment, votre bot Telegram avec n8n réagira au­to­ma­ti­que­ment aux messages entrants, sans que vous ayez à relancer le mode test. La version publiée fonc­tionne alors en pro­duc­tion, à condition que le Webhook Telegram soit cor­rec­te­ment ac­ces­sible.

Image: n8n : publier le workflow
Un clic sur « Publish » active votre workflow.

Quels bots Telegram peut-on créer avec n8n et l’IA ?

Avec un simple bot de questions-réponses, le potentiel de n8n est loin d’être épuisé. Les pos­si­bi­li­tés de­vien­nent par­ti­cu­liè­re­ment in­té­res­santes lorsque vous décidez de connecter un bot Telegram à n8n avec d’autres services, sources de données ou processus internes. Un simple chatbot se trans­forme alors en assistant d’au­to­ma­ti­sa­tion qui ne se contente pas de répondre, mais prend également en charge certaines tâches de manière active.

Exemple 1 : créer un bot de support pour les questions fré­quentes

Un cas d’usage évident est un bot de support qui répond au­to­ma­ti­que­ment aux questions ré­cur­rentes. Les uti­li­sa­teurs peuvent lui poser des questions sur les horaires d’ouverture, les processus de retour, les produits ou les pro­cé­dures internes. Le message entrant est d’abord transmis par Telegram à n8n. Une IA peut ensuite com­prendre la question et formuler une réponse adaptée à partir d’ins­truc­tions pré­dé­fi­nies ou de contenus de référence. Les demandes standard n’ont ainsi plus besoin d’être traitées ma­nuel­le­ment.

Image: Workflow n8n-Telegram : exemple 1
Vous pouvez con­fi­gu­rer un bot de support dans n8n en combinant des nœuds Telegram et l’IA.

Cette approche est par­ti­cu­liè­re­ment utile lorsque votre équipe reçoit ré­gu­liè­re­ment les mêmes questions. Vous pouvez aussi étendre le workflow afin que certains termes soient reconnus et combinés avec des in­for­ma­tions fixes. Pour les demandes plus complexes, le bot peut trans­mettre la requête à une personne ou l’acheminer en interne par email ou de n8n vers Discord. De plus, il est possible de trans­fé­rer les résultats vers un système de tickets grâce à une in­té­gra­tion n8n de Jira. Vous obtenez ainsi un pré-filtrage pertinent qui fait gagner du temps et accélère les réactions.

Exemple 2 : utiliser un assistant interne pour les demandes rapides de l’équipe

Un autre cas d’usage pratique est un assistant Telegram interne destiné aux petites équipes ou aux groupes de travail. Les col­la­bo­ra­teurs peuvent lui envoyer de courtes questions, par exemple sur l’état des projets, les échéances, les res­pon­sa­bi­li­tés ou certaines in­for­ma­tions internes. n8n peut non seulement trans­mettre la demande à une IA, mais aussi récupérer des in­for­ma­tions provenant d’autres systèmes, comme des données de ca­len­drier, des entrées de base de données, des in­for­ma­tions CRM ou des contenus issus d’API internes.

Image: Workflow n8n-Telegram : exemple 2
En sé­lec­tion­nant un post de canal comme événement dé­clen­cheur, vous pouvez également créer des as­sis­tants pour des équipes entières avec n8n.

Dans ce cas, l’IA se charge prin­ci­pa­le­ment d’in­ter­pré­ter la demande et de formuler une réponse claire. Les uti­li­sa­teurs n’ont donc pas besoin de connaître des commandes précises et peuvent écrire en langage naturel. Cela simplifie les échanges au quotidien. Un tel bot convient par­ti­cu­liè­re­ment aux petites au­to­ma­ti­sa­tions qui per­met­tent d’obtenir ra­pi­de­ment des in­for­ma­tions sans devoir ouvrir plusieurs outils.

Exemple 3 : créer un bot de contenu ou d’idées avec n8n

Une autre pos­si­bi­lité consiste à utiliser un bot Telegram avec n8n pour générer des contenus ou proposer des idées. Vous pouvez par exemple lui demander de générer des idées pour les réseaux sociaux, des brouil­lons d’emails, de courtes synthèses, des listes de sujets ou des pro­po­si­tions de texte. L’uti­li­sa­teur envoie sim­ple­ment sa demande dans Telegram. n8n transmet alors le message à l’IA, qui génère une pro­po­si­tion struc­tu­rée. Le résultat est ensuite renvoyé di­rec­te­ment dans Telegram.

Image: Workflow n8n-Telegram : exemple 3
Avec seulement quelques nœuds, vous pouvez demander, créer et sau­ve­gar­der au­to­ma­ti­que­ment du contenu et le renvoyer à Telegram.

Ce cas d’usage est pratique, car Telegram fonc­tionne comme un canal de saisie rapide. Vous n’avez pas besoin d’ouvrir un outil d’IA séparé et pouvez en­re­gis­trer des idées spon­ta­nées di­rec­te­ment dans le chat. Le workflow peut aussi être étendu afin que les résultats soient sau­ve­gar­dés, ca­té­go­ri­sés ou transmis à d’autres systèmes. Les idées peuvent ainsi être au­to­ma­ti­que­ment en­re­gis­trées dans Google Sheets ou dans un outil de gestion de projet.

Aller au menu principal