How to receive data by Webhook

I sure don’t get the difference. And the test webhook gives a 404.

The Test-Webhook only exists for the time while it says “Waiting for Webhook” and afterwards it does get removed again. As it is only for testing. So you have to make sure that it says that when you call it.

OK, let me try that.
But why does the webhook node just show empty data after a few seconds instead of waiting for the test webhook?

Hm strange. It should not do that after a few seconds. It should wait 120 seconds for a Test-Webhook to be called before it aborts.

1 Like

Yay! Query data received.

But the node/workflow “waiting for webhook” behaviour still feels/seems wrong.

@jan and with only one webhook node active - shouldn’t the workflow execution also finish after receiving the one webhook? Could other nodes keep it waiting?

What do you mean it feels/seems wrong? Not sure how else it could work to be able to test webhooks and get data from them. But any improvement advise is always welcome. Are totally open to anything that makes n8n better and easier.

Do sadly not understand what you mean with the second comment.

I meant

  1. that running the node directly just fails (you seems to suspect a too early timeout)
  2. running the overall workflow does not stop until I stop it manually (which was again waiting for the test hook - so it was a user error or an UI/communication issue)

So what is left as problem is primarily the premature failure when running the node individually.

Ah, now I understand what you mean. That it resolves immediately empty when pressing the Play-Button directly on the Webhook-Node.

I was not aware of that. Was a bug and got fixed:
https://github.com/n8n-io/n8n/commit/247e4d5c6f13441b44778ebbecdc395592d87077

Will be released with the next version.

2 Likes

Hi,
I’m going to bounce back on this, because I also have a problem with the webhook. Let me explain:

I have a contact form (Wordpress) that sends information via a webhook. I tested the webhook on https://webhook.site/, and it receives the information well.
When I now enter the URL of the n8n instance, the form doesn’t send the webhook, or rather n8n doesn’t receive it.
Did I misconfigure the module?
Do you have an idea or advice to help me unblock the situation?
Thanks

Welcome to the community @collejack!

Could have multiple reasons but one thing that is for sure a problem right now is the slash in the path. They are not allowed and cause problems.

Hey @collejack, welcome to the community.

The only thing that comes to mind it’s that the Webhook URL is not well-formed. Can you check that out?

If you notice that it’s the issue, you can set the environment variable WEBHOOK_TUNNEL_URL. More info about that here Introduction | Docs

Of course, this is assuming you hosted n8n. if you are running n8n locally, then you have to make sure n8n is reachable from the internet by using a local tunnel (which is already built-in within n8n).

Thank you @jan @RicardoE105 for your welcome.
I took @jan advice and removed the slash.
My n8n instance is hosted on a VPS and not locally.
Now URL is formed as follows:
https://n8n.domain.tld/webhook-test/1/webhook/newsletter
When I test the n8n webhook with Postman, it works perfectly. But still not from my Wordpress form.
Do you have other ideas?

You have the webhook set to “GET” is it possible that Wordpress is sending it via “POST”?

1 Like

@collejack @jan:
I think @jan hit the nail on the head. Many forms are submitted using the POST function rather than the GET function. This would definitely cause some issues for you.

Indeed, the form used the POST function, but not only !
There was also a problem with the AJAX format. The problem is solved. Thanks @jan & @Tephlon

Jan, may I ask you about the reasons to separate the webhooks that way?

Why can’t production webhook trigger things to happen in editor-ui?

And, what about renaming “Production” to “Headless” and “Test” to “Graphical test”, or something like that? I’ve spend quite a while debugging one flow today and I though that I can have like staging vs production URLs, not that the production won’t show up on the UI :slight_smile:
(Luckily n8n have a good documentation indexed by Google!)

Thanks in advance!

Some reasons bellow. Points apply or do not apply depending on how it would get implemented:

  1. Would send constantly a lot of data to the UI
  2. Would make everything super slow and increase risk of browser and even worst n8n crashes because of increased memory usage
  3. If you receive a lot of webhook calls, doing anything in the UI would be totally impossible
  4. Even if there would be a toggle to “redirect” it only at a certain time, you could not be sure that you receive/intercept the one you want and not another production one
  5. Making workflow changes would always come with an even bigger risk of breaking important production systems as they can not be tested separately anymore

Honestly not sure about naming. Feels like it could be clearer for some people but more confusing for others.