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.