Describe the problem/error/question
Unable to Execute the Telegram trigger. This is the only node in my workflow. I am using self-hosted Docker image with tunneled https url.
What is the error message (if any)?
Method not allowed - please check you are using the right HTTP method
Show Details
Telegram Trigger: 405 Not Allowed 405 Not Allowed nginx/1.18.0
Please share your workflow
(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)
{
"nodes": [
{
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"type": "n8n-nodes-base.telegramTrigger",
"typeVersion": 1.2,
"position": [
0,
0
],
"id": "e9d1bf5f-f903-46f4-9ad9-67908fd7a973",
"name": "Telegram Trigger",
"webhookId": "decc8417-ae91-4659-b093-ce12cbb44f20",
"credentials": {
"telegramApi": {
"id": "X3NiBlJnflGP98SS",
"name": "Telegram account 2"
}
}
}
],
"connections": {},
"pinData": {},
"meta": {
"templateCredsSetupCompleted": true,
"instanceId": "251886e0a54e5a279d030dc0c6f02554bac3900ba1d23b9e75a7901f04a4720e"
}
}
Share the output returned by the last node
Information on your n8n setup
- n8n version: 2.4.8
- Database (default: SQLite): No DB
- n8n EXECUTIONS_PROCESS setting (default: own, main): Don’t know.
- Running n8n via (Docker, npm, n8n cloud, desktop app): Docker
- Operating system: Windows 11
Hey @Moloy_Sengupta Welcome to the n8n community!
This error isn’t coming from the Telegram node at all. It’s coming from your Nginx.
When you click Execute on the Telegram Trigger, n8n tells Telegram “hey, send updates to this webhook URL”. Telegram then sends a POST request to that URL. Your Nginx responds with 405 Not Allowed, so Telegram reports that back, and n8n shows the error.
So the trigger never actually gets registered because the POST never reaches n8n.
I think two things usually cause thiis.
First, n8n isn’t advertising the correct public HTTPS URL.
If you’re self-hosted behind a tunnel or reverse proxy, you must set WEBHOOK_URL to the public HTTPS domain you’re exposing, not localhost. After changing it, restart the container so n8n regenerates the webhook URLs. If the Telegram node still shows http://localhost:5678, it will never work.
Second, Maybe Nginx isn’t allowing POSTs to the webhook paths.
What could be the case is that Nginx is answering the request itself and rejecting it. You need to make sure /webhook/ and /webhook-test/ are proxied straight through to n8n and that POST is allowed. This is a very common issue with default or locked-down Nginx configs.
Once Nginx is correctly proxying those paths and n8n is advertising the right HTTPS webhook URL, the Telegram Trigger will register instantly.
Quick sanity checks after fixing it:
-
The webhook URL shown in the Telegram Trigger should be your public HTTPS domain, not localhost.
-
getWebhookInfo in Telegram should show that same URL and no last error.
Clicking Execute again should no longer throw a 405.
IMO nothing is wrong with your workflow or the Telegram node. Nginx is blocking Telegram’s POST request. Fix the webhook URL and proxy config, restart n8n, and it’ll work.
Let me know if this helps @Moloy_Sengupta ! Happy to support.
1 Like
Hi @Moloy_Sengupta
Welcome to the n8n community 
Just to add official references in case it helps:
Telegram Trigger node documentation | n8n Docs
Telegram Bot API
1 Like
Thanks @Deepankar for the welcome message and the detailed explanation. The Webhook_url is pointing to public https site. I need to figure out the nginx config part.
1 Like
Happy to help 
Tell us if work
@Moloy_Sengupta
Try
headers like Host, X-Forwarded-Proto, and X-Forwarded-For, and proxy the webhook path to the n8n port. Also make sure WEBHOOK_URL and N8N_HOST are set to the public domain.