Telegram Trigger fonctionne uniquement en mode Test mais pas après l'activation du workflow

Décrivez le problème/l’erreur/la question

Quel est le message d’erreur (le cas échéant) ?

Veuillez partager votre workflow

(Sélectionnez les nœuds sur votre canvas et utilisez les raccourcis clavier CMD+C/CTRL+C et CMD+V/CTRL+V pour copier et coller le workflow.)

Partagez la sortie renvoyée par le dernier nœud

Informations sur votre configuration n8n

  • Version n8n :

  • Base de données (par défaut : SQLite) :

  • Paramètre n8n EXECUTIONS_PROCESS (par défaut : own, main) : default

  • Exécution de n8n via (Docker, npm, n8n cloud, application de bureau) : n8n cloud

  • Système d’exploitation : macOS
    Bonjour,

    J’utilise n8n Cloud.

    Mon workflow est :

    Déclencheur Telegram

    Agent IA

    Envoyer un message Telegram

    Le workflow fonctionne parfaitement quand je clique sur « Exécuter le workflow » (mode Test).

    Le déclencheur Telegram reçoit immédiatement mon message, l’IA le traite et Telegram envoie la réponse.

    Cependant, après l’activation du workflow, rien ne se passe.

    Le bot reçoit mes messages sur Telegram, mais aucune exécution du workflow ne démarre.

    J’ai déjà vérifié :

    • Les identifiants Telegram sont valides (« Connexion réussie »).

    • Le workflow est actif.

    • Un seul déclencheur Telegram est connecté à ce bot.

    • Le même bot fonctionne parfaitement en mode Test.

    • Aucune exécution n’apparaît après l’activation.

    Informations supplémentaires :

    - Le workflow est publié et actif.

    - Le déclencheur Telegram reçoit les messages uniquement lorsque l’éditeur est en mode Test.

    - Dès que j’active le workflow, le bot arrête de se déclencher.

    - Je soupçonne qu’il pourrait y avoir un problème d’enregistrement du webhook.

    Qu’est-ce que je devrais vérifier d’autre ?

    Merci.
    Version n8n : 2.28.7 (Cloud)

@Ilona_Ilona

Fais ceci

1)Désactive le workflow
2)Attends environ 10 secondes.
3)Active le workflow
4)Ne clique PAS sur « Execute Workflow » après avoir fait cela.
5)Va directement dans ton application Telegram.
6)Envoie un message à ton bot.
7)Vérifie l’onglet Executions dans n8n (dans la barre latérale gauche) pour voir si l’exécution est apparue.

Ça marche maintenant ?

Colle l’URL suivante dans ton navigateur (remplace <YOUR_BOT_TOKEN> par ton jeton réel) :

https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getWebhookInfo

Ce qu’il faut chercher dans le résultat :

  • Si l’url contient /webhook-test/, Telegram est en Mode Test​. Ton workflow actif ne se déclenchera pas. Tu dois activer le workflow à nouveau pour le basculer vers /webhook/.
  • Si l’url contient /webhook/, Telegram est en Mode Production​. S’il ne se déclenche toujours pas, vérifie s’il y a des champs last_error_message dans cette réponse JSON.

@Ilona_Ilona Vérifiez la présence d’un champ last_error_message dans la réponse getWebhookInfo. C’est le journal des erreurs de Telegram lui-même et il affiche souvent exactement pourquoi la livraison échoue, par exemple des problèmes de certificat SSL, un timeout, ou n8n renvoyant une réponse autre que 200. C’est le moyen le plus rapide de diagnostiquer si le webhook est enregistré correctement mais que les messages ne sont pas livrés.

Assurez-vous également que vous vérifiez l’onglet Executions (Exécutions), et pas seulement le canvas, les exécutions en production ne s’affichent pas sur le canvas, uniquement dans la liste des exécutions.

Salut @Ilona_Ilona Bienvenue !
Séparez les bots de test et de production. Créez un deuxième bot dans BotFather, enregistrez son token en tant que deuxième identifiant Telegram, et conservez cet identifiant sur le déclencheur pendant que vous construisez, puis revenez à l’identifiant de votre bot en direct avant de publier.

En vous appuyant sur les suggestions getWebhookInfo ci-dessus — si cet appel affiche l’URL de production /webhook/ et qu’il n’y a toujours pas d’exécution, deux choses méritent d’être vérifiées et qui n’ont pas encore été mentionnées :

  1. Forcez une réinscription complètement propre. Telegram conserve parfois une inscription obsolète même après que n8n l’ait réinitialisée. Avec le workflow DÉSACTIVÉ, appelez :

https://api.telegram.org/bot/deleteWebhook?drop_pending_updates=true

Confirmez que getWebhookInfo affiche maintenant une url vide, puis activez le workflow. n8n enregistrera le webhook de production à nouveau. drop_pending_updates=true vide également une file d’attente engorgée — si pending_update_count dans getWebhookInfo est élevé, Telegram a tenté de relancer d’anciennes mises à jour et peut sembler « mort » pour les nouvelles.

  1. Recherchez un deuxième consommateur du même jeton de bot : un autre workflow (même inactif-mais-testé) utilisant la même credential, une deuxième instance n8n (ancien essai, Docker local), ou tout script externe interrogeant getUpdates. Le polling et les webhooks s’excluent mutuellement — pendant que votre webhook est défini, un appel getUpdates brut renvoie 409 Conflict (le webhook lui-même survit), mais beaucoup de bibliothèques de polling réagissent à cela en appelant deleteWebhook automatiquement, ce qui efface silencieusement l’inscription n8n. Vérifiez tous les endroits où ce jeton a jamais été collé.

Comme vous êtes sur Cloud, aucun problème SSL/reverse-proxy ne s’applique, donc c’est presque certainement l’un de ces deux cas.

Si vous collez le JSON getWebhookInfo complet ici (masquez le jeton dans l’URL), je peux vous dire dans quel cas vous êtes.

Une étape utile consiste à inspecter l’état réel du webhook de production du bot au lieu de simplement réactiver le workflow. Ouvrez cette URL dans un navigateur (remplacez <TOKEN>) :

https://api.telegram.org/bot<TOKEN>/getWebhookInfo

Veuillez partager ces champs masqués : url, pending_update_count, last_error_date, last_error_message, allowed_updates et max_connections. Le résultat identifie généralement rapidement l’échec :

  • URL contient /webhook-test/ : Telegram est toujours enregistré sur le webhook de test temporaire.
  • URL est vide : l’enregistrement de production a échoué.
  • URL contient /webhook/ plus une erreur : suivez l’erreur TLS, DNS, redirection ou non-200 affichée là.
  • Le nombre de mises en attente augmente constamment : n8n n’accuse pas réception des livraisons.
  • L’URL semble correcte et il n’y a pas d’erreur de livraison : vérifiez les conflits de jetons et les types de mises à jour.

Assurez-vous également qu’un seul Telegram Trigger actif utilise ce jeton de bot et qu’aucun autre workflow ou script n’interroge le même bot avec getUpdates. Telegram permet un seul webhook/consommateur par jeton de bot.