I’m encountering an issue where my Webhook node continues to use the test URL (/webhook-test/) even though the workflow is active and properly configured.
Environment:
n8n version: 1.98.2
Deployment: Docker
Domain: custom domain over HTTPS (with port 5678 exposed)
N8N_WEBHOOK_URL is correctly set in the environment (e.g. https://<my-domain>)
Workflow is active and correctly receives test payloads
The executionMode in webhook data still shows "test" even when hitting the production URL (/webhook/...)
What I’ve tried:
Restarted Docker container after updating .env and docker-compose.yml
Verified all environment variables via docker exec
Rebuilt the workflow manually
Confirmed the external service (e.g., Slack) points to the production webhook URL
Still, the Webhook URL recorded in logs always shows .../webhook-test/..., and the mode is stuck in test.
Is there a cache, known bug, or configuration that might cause this behavior?
Hi,
When you click on the web hook node it always defaults to showing the text url. You just need to click on the production tab to show the prod link or just remove the -test from the url
As I said, it always shows the test URL first that’s just displaying the URL.
Can you use postman or Bruno to send a test post request to your web hook then show a screenshot of your executions?
I had a screenshot of what you have in postman/Bruno as well
If you don’t want to use an API client, you can temporarily change it to a get request and then just put the web hook URL in the browser and it will work like that as well (only with get requests though)
I have the same issue. When I toggle to the Production tab, the -test disappears as expected. However, as soon as I click away and return, it is automatically defaulted back to the Test toggle and the -test has returned. Similarly, I can’t get executions with post call webhooks to run in production, only in test scenarios when I actively click Listen first. But, I need this to work automatically in production as well.
So I made this same mistake and it’s a little confusing but both @joe2 and @Ellor_Sofer. The functionality of it switching back and forth when you click the webhook trigger is fine. it actually doesn’t change anything. What changes is when you activate your workflow.
When you activate the workflow, the production URL becomes active. So copy the production URL and activate the workflow. Then send your POST to the production URL and you should get your trigger you are looking for.
I attempted to reach the production endpoint (which I’ve already updated in Slack to point to the correct production webhook URL), but it’s not working. No logs are appearing in the Execution tab