Telegram Trigger Node Won’t Stay in Production Mode (Self-Hosted, No Auth)

I’ve got a fresh Telegram bot and a self-hosted n8n instance (running behind Caddy, valid HTTPS, no auth).


The Issue:

  • Telegram Trigger node works in test mode (receives messages fine)
  • But when switching to production mode, the node reverts to test when reopened
  • No error message shown
  • Telegram confirms the webhook is set ("Webhook was set")
  • The webhook URL is public and returns expected error on GET (no auth prompts)

What I’ve Done:

  • Created brand new bot via BotFather
  • Set N8N_BASIC_AUTH_ACTIVE=false
  • Restarted containers after updating .env
  • Manually set webhook using Telegram’s setWebhook
  • Verified with getWebhookInfo
  • Created Telegram credentials in n8n using the correct token
  • Confirmed no other workflow is using the same bot
  • Only one Telegram Trigger node exists in the system

Expected:

Telegram Trigger should stay in production mode and activate the workflow.


Actual:

It silently reverts to test mode. The workflow cannot be activated in production.


Happy to provide webhook URLs, full env or setup info.

Hey @Bionic-Dongle,

When you open the node we will always display the test url this is just a cosmetic thing so you can see the test and production url as some nodes (not Telegram) let you use both at the same time when testing.

As long as your node is active the production endpoint should work. The N8N_BASIC_AUTH_ACTIVE env option has not existed for about 2 years now so it may be worth updating your configuration or if you have used an AI model to create it check it against the latest documentation.