Hi guys,
Webhook Tester
n8n Ac1demy | N8N102 Webhook Assessment Tool
at the click link open second tab write input assessment ID and webhook URL production then click on run then loading stuck is there any way fixing?
Also how can i do fixing url webhook it’s ngrok tunnelling when I turn down terminal but webhook url won’t change back to localhost:5678 I tried too docker-compose editing so euhm any idea?
Two things are probably going on here.
The tester runs on n8n’s servers, so it can only reach a URL that is public. A localhost:5678 address will just hang with the loading spinner. That is why the ngrok URL is needed, and the workflow also has to be active, because a production URL (/webhook/…) does not answer while the workflow is off. The test URL (/webhook-test/…) only answers after you click Listen for test event.
For the URL not going back to localhost, n8n builds the webhook address from the WEBHOOK_URL environment variable. If you set it to your ngrok address in docker-compose.yml, or started n8n with the --tunnel flag, it keeps using that until you change it and recreate the container. Editing the file alone does nothing to a running container. Try this:
- Remove the WEBHOOK_URL line (or set it to http://localhost:5678/) in docker-compose.yml.
- Run docker compose down, then docker compose up -d.
- Open the workflow, deactivate and reactivate it, then re-open the Webhook node and check the shown URL.
When you do the assessment again, start ngrok first, put its https address in WEBHOOK_URL, recreate the container, and paste the production URL from the node into the tester.
I wrote up the longer version here (my own site, disclosure): n8n WEBHOOK_URL and N8N_WEBHOOK_URL: Fix Localhost Webhooks
When your ngrok tunnel goes down but n8n keeps serving the external URL, it is usually because the WEBHOOK_URL environment variable is statically baked into your Docker container configuration rather than reading dynamically. Updating that variable in your docker-compose file and running a full container restart will force n8n back to your local port. Let me know what your current environment variable block looks like and I can paste the corrected docker-compose snippet right here.
The tester spinning forever usually means the request never reaches n8n. The production URL only answers while the workflow is active, and the ngrok tunnel has to be up during the test, because the tester can’t reach localhost:5678 on your machine. Keep the ngrok inspector open at http://localhost:4040 while you click run. If nothing shows up there, it’s the tunnel or the URL you pasted.
The webhook URL n8n displays comes from the WEBHOOK_URL env var. Remove it, or set it to http://localhost:5678/, in docker-compose.yml and then run docker compose up -d. A plain docker compose restart keeps the old environment, which is why editing the file looked like it did nothing.
I haven’t taken the N8N102 assessment, so I can’t tell you what response it expects once the request does arrive.
hmm I just did editing docker-compose.yml webhookurl: https://localhost5678/
and I did update file start docker then go to workflow node already set public green turning on and on webhook tester assessment id put in and webhook url click on run step 1 but didn’t run successful failed it say:
**
Validation Failed**
Please correct the following errors:
- webhook_url is not valid. Please ensure your hostname resolves and is publicly accessible. Status Code: undefined
this is docker-compose.yml file:
environment:
- N8N_WEBHOOK_URL=https://localhost:5678/
- Location
- GENERIC_TIMEZONE=Time zone
- N8N_HOST=name url ngrok
- N8N_PROTOCOL=https
- N8N_PROXY_HOPS=1
look like still stuck hmm what i am supposed to do?