Advanced triggers for Webhooks

Hey y’all,

I’m currently trying to clean the mess at my company and get them to migrate away from Google Sheets to Baserow, which is looking really promising and worked amazingly during my little testing.

Since were making a lot of automations, triggered by webhooks, I wanted to share an Idea with you, and ask if you would be able or interested to integrate it into Baserow.

At the moment Baserow can trigger webhooks on 3 different ways (row updated, created or deleted).

An advanced Idea I had for better automatization and more efficient use, would be to add another option to the webhook triggers: Trigger a webhook and send the entire row if changes inside a specific column are detected.

If, as an example, a drop-down inside a specific column is changed it could send the entire row over a webhook. This would be a really amazing addition, since it wouldn’t send the row every time you update the contents, but only when you update a specific field.

Thank you for taking your time and reading this. I really like Baserow so far and hope to see it grow more and more :slight_smile:

1 Like

Hello @one-juru! First of all, welcome to Baserow :wave:

Thank you for your kind words, we’re happy to hear you decided to migrate your company workflows to Baserow.

Your idea sounds like a great feature, we’re going to discuss the suggestion with the team at the nearest team call and I’ll get back to you with some updates afterwards. While exploring Baserow, feel free to share your feedback and other ideas :raised_hands:

I was just doing some investigating into how webhooks work in Baserow, and I stumbled upon a super cool feature that unfortunately isn’t available in Baserow yet - but it is in Airtable!

It’s great to know that others have recognized the value of this feature as well)

This feature is a trigger that automatically sends a webhook when a record matches certain conditions. And let me tell you, it’s a total game-changer when it comes to managing clients, orders, and other business processes.
So, I wanted to share a bit about how this feature works and give you some examples of how it can be used to make managing processes easier. Let’s dive in!

Check out the pic below to see what I’m talking about:

  1. Let’s say you want to send a message to a client when their order status changes to “completed” and their contact status is “client”. All you have to do is set up those conditions in Airtable and voila - it’ll automatically send a webhook to n8n, which can then send a message to your client. Plus, you can use other conditions too if you want!
  2. Or let’s say you want to remind your client about a payment that’s due today. You can set up a trigger so that when the payment date matches “today”, it’ll send a webhook to n8n, and n8n will send a message to your client.
  3. Or you need to remind your client about a rental deadline that’s coming up, you can set up a trigger so that when the rental deadline matches “now”, it’ll send a webhook to n8n, and n8n will send a message to your client.
  4. Or to ensure timely delivery of an order, you can set up a reminder to be sent to the courier when it’s one hour before the scheduled delivery time, as well as another reminder 15 minutes before the delivery time. Then the time field match that criteria… baserow send a webhook to n8n, and n8n will send a message to a curie. This can help ensure that the courier is prepared and ready to make the delivery on time, and can also help avoid any delays or issues that may arise during the delivery process.

Would be happy to use it in Baserow :metal:

1 Like

and then you will finish the rollup’s it can also be used for notifications for low inventory: a webhook trigger to notify when inventory level for a specific product falls below a certain threshold. This can help to quickly restock and avoid any stockouts.

I want to contribute to the discussion because I encountered a challenge with webhook implementation in my project. My workspace consists of three tables, and one requires updates upon every access. Implementing a trigger for this action would be beneficial.

Hi, Olga! Did you manage to discuss this idea with the team?

1 Like

Hey folks, my apologies, I might have overlooked this. Based on all the posts shared in this thread, I can outline these three suggestions for webhooks:

  • Trigger a webhook and send the entire row if changes inside a specific column are detected.
  • Trigger a webhook when a record matches certain conditions.
  • Trigger a webhook on updates upon every access of a table.

I will discuss them with the team as soon as possible. :raised_hands:

2 Likes

I’d love to see this feature in Baserow too!

Helo Baserow Community,

I want to support this feature.
I just lost 10,000 operations in Make.com because I didn’t know the webhook will be trigger even from Make.com.
I am testing baserow, because of its fasted execution, and because eventually I want to move my company from google docs and Sheets to baserow in a self hosted way.
I have many automations done using airtable and nocodb, after triggering a conditional webhook, it updates the column that triggers using a specific value, to a new value to know that the automation is working. At the end of the flow it changes the column value again to show that the automation is done.
I was testing my first flow using Baserow, and I just changed the modules from nocodb to baserow in a clone scenario, and then every update to the table triggered the flow again and in less than a minute I lost all my operations, and I didn’t realize it until next execution.
This is insane.
So what I am doing now is filtering the column value immediately after the webhook is triggered, and it works, but it is still non optimum because it triggers the webhook two unnecesary extra times. The filter stop it from continuing the execution.

While the Baserow Team works in this topic. I was wondering if it is possible to include manually into the JSON the conditions we need to set I don’t understand how this work very well, so if there is someone who know how to do this, I will appreciate a lot to tell us how to modify the JSON file to include conditions.

For example: I need to trigger the webhook only when MapStatus changes to “Send”.

{
"table_id”:00000,
“database_id”: 0000,
“workspace_id”: 0000,
“event_id”: “00000000-0000-0000-0000-000000000000”,
“event_type”: “rows.updated”,
“items”: [
{
“id”: 0,
“order”: “1.00000000000000000000”,
“ManualCode”: “”,
“ManualTitle”: “”,
“ManualType”: ,
“FileName”: “”,
“ImageWide”: null,
“Notes”: null,
“FrontPageImageFileName”: “”,
“FunctionList”: “”,
“MapStatus”: null,
“Sent2Oracle”: null,
“Json”: null,
“AllJson”: “”,
“ManualFunctions”:
}
],
“old_items”: [
{
“id”: 0,
“order”: “1.00000000000000000000”,
“ManualCode”: “”,
“ManualTitle”: “”,
“ManualType”: ,
“FileName”: “”,
“ImageWide”: null,
“Notes”: null,
“FrontPageImageFileName”: “”,
“FunctionList”: “”,
“MapStatus”: null,
“Sent2Oracle”: null,
“Json”: null,
“AllJson”: “”,
“ManualFunctions”:
}
]
}

Thanks a lot for your help!!!

This is not possible in my opinion since a row update will always:

  1. trigger the webhook
  2. check if the flow needs to be executed

So, you will always have at least 2 nodes for an update.

Hey folks, we’ve discussed the idea of introducing advanced triggers, and the general answer would be the same as here:

I also would like to add that the two requests are accepted, and we will create issues for them:

  • Trigger a webhook and send the entire row if changes inside a specific column are detected.
  • Trigger a webhook when a record matches certain conditions.

Regarding this one:

  • Trigger a webhook on updates upon every access of a table.

@Ruslan, could you please elaborate a bit more on your use case?

running into the same challenge and looking for similar solution. Going to review Olga’s link she shared below though now.

@olgatrykush
yet another little issue that basically makes it impossible for me to setup my teams’ workflow with webhooks, while using any 3rd party integrator with limited number of executions… so Make or Zapier or non-self-hosted N8N are out of the question, as any batch update to a table would immediately drain all “operation points”.

While I understand that development requires a lot of time and effort, this is yet another seemingly small hindrance which aggregates with many small UI issues and various annoying bugs, which all add up and essentially result in either slowed down workflows or sometimes completely blocked workflows.

To be clear - I love the idea of Baserow and I wholeheartedly support you. However, as it stands right now, it seems that Baserow may not yet be “production ready” for larger projects, especially in the “no-code” space.

Many larger, data heavy projects, which work relatively OK in Excel+power automate, Monday, Airtable, etc, in Baserow essentially require a dev team to come up with workarounds duct-taped together to make it somewhat usable for normal users. This basically cancels out a huge part of the real-world cost advantage over competitors such as Airtable for many potential use-cases.

I do hope the recent price increase will directly translate into faster implementation times for both features and bug squashing. On a brighter note - it is great news that you plan to introduce Baserow-native automations! I would love an ETA on this, though (need to know for upcoming projects if I will be able to set them up in Baserow).

Thanks again for being so active on the forum and responsive!

Hey @dev-rd, we understand your point. This year we’re focusing a lot on polishing existing features to remove the limitations that lead our users to use workarounds. This will continue as we aim to polish the product. Also, the team has grown, so development is now much faster.

We can’t provide ETAs on the automation builder yet because development hasn’t started, but the team is currently working on the designs.

Thank you!

I really appreciate the focus on removing current limitations.

I passed the same problem here, lost all my operations due to an infinite loop of triggers.

We’re releasing new webhook types with our 1.28 update:

  • Trigger webhooks when specific fields change
  • Introduce field and view webhook types

Next on our list is triggering a webhook when a row enters a view filter.

1 Like

@olgatrykush

I’m playing around with the new webhook features.

I love the “manual” triggers - simple and easy.

However, it seems they do not work for many values changed - so when I change many rows (more than 3) by pasting one field value into many single select cells MAKE registers only the first two webhooks.

Another case - when I copy-paste a list of values - for example - 10 values in one operation - I get usually 3 webhooks but they all point to the first changed cell and I get an “action not completed” error message in Baserow front end.

If the trigger is a “Single line text” field update - I seem to get only one webhook sent/registered (by MAKE) no matter how many fields I change with a paste operation.

That seems like a bug - but I may be missing sth obvious here (?)
I have not checked other fields yet.

Hey @dev-rd, glad to hear that you like the manual triggers. :rocket:

I’m trying to reproduce your problem, but it seems to working as expected for me. I might not be executing the right steps to reproduce this.

  • I’ve created a table with a single select field.
  • I’m using https://webhook.site to debug the webhook call.
  • I’ve pasted a single value into three different cells.
  • On webhook.site. I’m seeing that Baserow made the HTTP request containing all three cell changes.

Would you be able to specify the exact steps I would need to do to reproduce your problem, or maybe record a video? That will help us to debug this potential problem.

Thanks for the info - I’ll double check if that is not an error on MAKE.com side.
Will get back to you with exatct steps.