I really hope someone can help out here. I can see the finish line - but my limited knowledge with Make.com isn’t able to solve this issue.
I have a webhook scenario that calls another scenario, if any of the columns are updated on an item.
I don’t want this to run all the time, that would be to expensive - instead maybe a few times a day.
But how do I ensure that duplicates aren’t being sent. Meaning if I update the same items multiple times between intervals, I just want it to call the other scenario one time - not for every single update.
Is it possible to check all BoardIDs and ItemIDs, and only sent the unique ID combination to the other scenario?
Hope it makes sense
I think you should use the Watch Board’s Item with a scheduled trigger to save operations. It will work same way how the instant trigger works but it will return only unique Item ids as per their latest changes done.
Also, you can use the array aggregator and the Deduplicate function to remove the duplicate item ids from the first module output.
@GrowwStacks , thank you for the input
Sorry for the late reply, I have been looking at it and I really hope I’m missing something.
Now there are two versions of “Watch Board’s Item”, one where you define the board and the other is a webhook. I’m presuming you are referring to the first one?
If that is correct, wouldn’t I need to create a scenario per board to define it?
My idea initial idea was having a template within Monday where the webhook is defined, so whenever the template is used the scenario will watch the new board and everything works out of the box.
That way I didn’t have to make new scenarios every time a new boards was created and become a bottleneck.
But this approach seems to have two issues as the moment:
- It seems quite expensive
- If I run it on an interval it only includes 1 change at a time.
Let me try to explain, if we say the scenario runs every 5 minutes and I change the status of the item in Monday 3 times within that interval - it will take 3 intervals before everything is synced. Becomes it only gets a single webhook per interval.
What I expected was either you would get the latest webhook call per item or you would get all webhook made within the interval. So my task would be to filter through them and ensure I only use the lastest update per item.
Hope that made sense
Now I’m a bit puzzled of how to solve this, if it’s even possible
Yes that would be correct. You will have to decide if you want to go for;
- the cheap option with more effort (the watch boards, with a scenario for each board)
- or go for the bit more expensive option where you have a general webhook which is called by all the board when a change happens
This is a good idea @Kega , when going for this option you could still make it more efficient and not have scenario number 2 run with every change:
- Scenario 1 with the webhook saves data with an identifier in a local storage
- Every time an update comes in, check the local storage and update it (or not)
- Scenario 2 gets all records from the storage every X hours, and processes the rest of the flow
This way you have a little bit of both, were its still a scalable system.
@Bjorn.drivn , uhh that is really smart. And just to be sure when you say local storage, is that make.com’s “Data stores”?
Didn’t know that was a possibility. Odd what makes one happy, but this option really made my day much better
Hey @Kega , yes that would be the Make “Data Stores”. You can build your own structure and system in there.
Let me know how it goes