Which is better (faster) multiple specific webhooks or a single one

Hi fellow developers,

I would really appreciate a good discussion here on webhooks (column specific or generic column change). I have an app that needs to watch numerous columns on numerous boards. For this discussion let’s say I have 15 boards, each board with 15 columns (where I need to watch 8). All the webhooks sends requests to a single endpoint. I can do either of these two things:

  • insert (in every of the 15 boards) 8 webhooks (change_specific_column_value) which looks kind of messy when the users see all of these webhooks. The advantage is that my single endpoint will receive less request (request from column changes I am not interested in will not be sent)
  • insert a single generic webhook (change_column_value) to each of the 15 boards (looks better for the user). This will send more request where my endpoint will throw away approx. 40% of them as they are not triggered by the columns I am interested in.

So, from how it looks to the user I would say option 2. But which of these options do you think is faster? Sending more request and throw them away in my endpoint or send less request but insert 8 webhooks in each of those 15 boards (120 webhooks)? I understand it is hard to compare as we need to compare monday performance (handling 120 or 8 webhooks) and my endpoint performance (get more request).

Any idea?

I would say it would depend on what is the cost of receiving column updates for columns you are not interested in.
It almost feels that Monday.com should allow to subscribe to multiple column updates instead of just one at the time. Something like when [columns] changed do …

Hi @tpaktop, Maxim

It is kind of hard to define the “cost of receiving updates that are of no interest”. On my side I just check the columnId in the event and ignore the event for those columns. Not too expensive although I need to do a few database queries before I know if this column should be processed. There is also “an expense” on network traffic for unneeded events.

On the other hand there is probably a difference in monday between a watch on all column changes and 8 watches for 8 specific columns. Your suggestion would make it easier.

Let’s see what monday.com has to say on this.

Hey Bas!

As Maxim said, it really depends on your definition of better.

We maintain tons of webhook subscriptions on our side (they are the backbone of our integrations and automations infrastructure) so the difference between one webhook or eight are negligible on our side.

I would agree with your earlier comment that a user seeing eight webhook subscriptions on their board is messy – so a single webhook is more elegant from a user perspective.

At the same time, using specific webhooks means that your subscription logic can be more generic and “atomic”…

Sorry for the non-answer, but it’s hard to say :laughing:

Hi Dipro

I love the idea from Maxim to have a “mulit column change webhook”. This would be best of both worlds. Looks cleaner to for the user and is lighter on the backend.

Right so if you need to do db calls it can get expensive as every db call is a high cost in terms of performance.
That said I would still go with that as UX is what makes a difference even if you need to get larger servers.
For multi column you would need custom interface as I believe Monday.com sentences don’t have support for lists.