N8n webhooks not working? Have a rant, chaps, have a rant

The automation system is excessively complicated when it comes to setting dynamic variables in the JSON imo. I should just be able to do something like

{
“RecordId”: "{{RecordId}}
}

Instead, it took me 20 minutes to discover that variables are hidden behind a / which opens a super-clunky window that leads to confusion city. Something that I only found out after Perplexity led me to this community with the claim that Bika doesn’t do dynamic variables at all!

Having worked that out, this is what I get. It doesn’t matter what record I’m trying to get, it’s the same malformed syntax which doesn’t even correspond with the RecordId it ought to. I accept that due to the horribly confusing / stuff and choices, I may have accidentally picked something else, but…

Guys? All I want is a RecordId so I can HTTP my way through the rest without the horror show that is internal automations.

I apologize for being combative, but I’ve just spent almost TWO HOURS trying to figure out how to even get to this point, only to get whatever mess that is up there.

All I want is that when a Record updates, it triggers a webhook in n8n. In NoCoDB, for example, I just add the webhook, add the conditions, test, and go. Takes a minute. NoCoDB sends everything for that record and I do whatever I want with it in n8n.

Is that not how Bika webhook automations are meant to work? Now, I did notice that the URL for the webhook was placeholdered with bika.ai base URL, but surely that doesn’t mean I can only use this in Bika? Otherwise why isn’t there are warning or soft-lock to stop me making this mistake?

Sort it out, Bika. For an automation-first platform, this entire system is unintuitive, poorly documented, and seemingly broken once you get it to succeed. Like, I don’t even think that the RecordId data is passing through correctly from trigger to send HTTP, because if it were, why isn’t it showing at all in the test run in n8n unless I specifically choose a field? And if I choose a field I get image related.

Now, maybe I’m a complete idiot and I have no idea what I’m doing. I am open to education from smarter people than me. Otherwise, please fix this. Bika is unusable without this working, for me at least.

A WILD SOLUTION APPEARS!

Or, as my mother always said, if you want something done, you do it yourself. Or with an automation system that you designed because let’s face it, only you know what you want.

Unfortunately, you’ll have to live without the illustrative screenshots I took and shared to make things easier because…

So, for any other lost souls suffering. You set up something like this. Basically, create a single select field in your database, then add an option that says something like Go. Set up the stuff in the automation so that every time you select ‘Go’ in this field, it will activate:

Screenshot Not Allowed :frowning:

Then you go to Send HTTP request, add your n8n webhook to the URL field, use the raw JSON to set what you want. Here’s an example that you probably won’t want to copy and paste, since it’s functionally useless and annoyed:

{
  "callThisWhateverYouWant": "/stupidTriggerGames"
}

In reality, what you’re going to do is write / which will open up a little window. What you want to do in this little window to get nothing but the recordId is click away. You’re going to do some clicking:

Screenshot Not Allowed :frowning:

You want Record id, not Record URL.

Now, the testing. Just ignore everything and anything on Bika’s side. Save this. Click the warnings away. Turn the automation on.

  1. Go to n8n and click the listen for test event button
  2. Go back to your database and set your status to ‘go’ or whatever
  3. n8n will get the webhook, you will get the recordId, and then you can start doing stuff with HTTP nodes because there are no official or community nodes yet.

And that’s how you get the recordId. As far as I can tell, other methods do not work returning all sorts of cray-cray as shown in OP and below:

Screenshot not allowed :frowning:

Hi @jabbathegutt , really sorry for all the confusion and frustration — we’re actively improving our docs and the overall experience around dynamic variables to make this much easier soon.

By the way, has the issue been resolved on your side yet?

Normally, Record ID should be available and pass through. But in some cases — like when using “Manually Run” as the trigger — Record ID and other context variables may not be captured properly.

Could you share a quick screenshot of your automation setup?

That’ll help us figure out exactly why it’s not working as expected.