My production webhook is not working, only test works

I’ve been using n8n for a while now to handle various automations. Yesterday, while running some tests on a new workflow, I noticed that the production webhooks suddenly stopped working. I tried using other workflows, and it turns out that none of the production webhooks are receiving any requests anymore.

However, when I switch the webhook to “test” mode and click the “Listen for events” button, the exact same webhook that wasn’t working in production starts working again in test mode. This behavior is consistent across different workflows.

i’m using the n8n in portainer

1 Like

I have a couple of questions about what you described (maybe more about the way you said it).

  1. When you say you “switched the webhook to “test” mode,” do you mean you toggled the display in the node dialog from production to test? Just want to be sure you understand that doesn’t do anything but show you the 2 different forms of the URL. You must activate the workflow to make the production URL available.
    Use this to turn the production URL on…
    image
    Not this…
    image

  2. When you say you are using n8n “in portainer,” do you mean you have created the docker container via portainer instead of using docker run or docker compose from the command line? Either way, it’s actually docker running n8n. Portainer is mostly just an alternative way to manage (start/stop/etc) docker containers.

I understand the difference between enabling and disabling a workflow — that’s not the issue here.

What I’m trying to explain is that only the test webhook is working, regardless of which workflow I’m using. When I use the production webhook URL in the Evolution API, no requests appear in the Executions tab.

However, when I replace it with the test webhook URL and click the “Execute Node” or “Listen for events” button in n8n, the flow runs normally and I can see the execution.

Note: During testing, everything was working fine — the production webhook was receiving requests as expected. But at some point, it suddenly stopped working without any changes to the workflow.



About the portainer yes, I have a VPS where n8n is running inside Portainer. What I meant is that I’m using Portainer as a graphical interface to manage the Docker container running n8n.

Thanks for clarifying. Just wanted to rule out simple stuff first. So, on to the less obvious things… (I’m assuming you’ve done most of this, but asking pre-emptively to avoid more speculative troubleshooting steps).

  1. Have you tested the production URL from different sources (e.g. via curl command from another docker container in the same docker environment, from another “manual” workflow, from the docker host machine, or from a completely separate machine in the same local network).
  2. Have you tried restarting n8n?
  3. Have you configured n8n to run with debug loging enabled and watched for messages in the nodejs/n8n console logs (i.e. docker container logs)?
  4. Has anything else changed like…
    • n8n version upgraded
    • docker version upgraded
    • other docker-host libraries upgraded
    • n8n env vars / configuration
    • other instances started in the same docker environment
    • changes to DNS or local network / DHCP
    • any changes to a reverse proxy (traefik, etc.), if you’re using one

It would be unusual for something to selectively block a connection to the production url but not the test url. I would be more suspicious of what is going on within n8n regarding the http(s) listeners, but eliminating other factors 100% would still be my first step.

problem solved by restart the container on VPS. thanks for helping me, i’m just using n8n by 4 months, have a lot to learn.

Sorry about that… I didn’t want to start with the cliché answer.

1 Like

sorry if i mean rude in any text, i’m brazilian so i used gpt for a better message in inglish.