im pretty new to Make and my goal is to push the data of items on two specific “Status” property changes in Notion to Discord via Discord Bot. Problem is, that my current setup pushes database items on every change (as its watching “by updated time”), not just on change to a specific status, which ends up spamming in Discord because its triggered many times by other changes. How can i approach this in my setup? I am currently
- Watching database by updated time
- Filtering for the the desired statuses to only push the data of items with that status
- Sending a message to a discord channel, using some properties of the items mentioned above.
Thank you guys for any suggestions that point me in the right direction! Let me know if you need any further details.
I see your point - and one way you could achieve your desired outcome is to use a Data Store in Make, and compare the data between the updated Notion database item and the Data Store data for that item.
So, at a high level, the flow could look something like this:
- [Notion] watch updated database items
- [filter for the desired status as you’re currently doing]
- [Data Store] Check if the data item ID from Notion already exists in the Data Store
→ [route A filter]: it doesn’t already exist
- [Discord] send message
- [Data Store create record] map the data from the Notion database item
→ [route B filter]: it exists in the Data Store AND the Status differs AND the Notion Status is one of your desired statuses
- [Discord] send message
- [Data store update record]
I will try this now - chances are that i am coming back here for follow up qestions. But thank you for the quick input!
Could you get more into detail on those steps? i’m trying to figure out what to do with existing records and how i can check if the status differs from before, and (probably) also how my data store should be designed - currently i have the database item id from Notion as key, the Status from Notion Properties as Text and another ID (for readability) from my Notion Properties as Number.
Yes, this looks like the right direction to me. To check if the status differs, you could add a filter where it says “exists” in your screenshot. In this filter, you can compare the status in the data store with the status from the Notion trigger module
Hi, thanks for confirming! I added a filter now after getting the record from data store, working like the description in the attached screenshot. I also added a module to update the record when the status differs, to make sure the store is up to date. Now the first run i did for testing it looks like this. it does not send a message, expected would be that it runs in the “does not exist” branch because there are no entries in the data store on first run of course, but it still goes to “exists” after the router, even though “exists” from the second module (check the existence) is set to false. (the basic operators “doesnt exist” and “exists” are configured in the right way, i already checked that. Any clue why this happens?
(EDIT - just changed the filter after “get a record” to “isn’t equal to” instead of “equal to” > was just an unrelated error in my logic here)
Could you kindly share the scenario blueprint, please? You can export it from the Make scenario
There you go! blueprint.json (154.2 KB)
Just a quick word of caution to keep an eye on the number of bundles (Operations) being used. It looks like doing it this way will end up being costly and deplete your operations quota fast.
Here are the few changes that could make this scenario work properly.
I realize the audio is low-quality at times, and I noticed that the main points I want to share are understandable in the video, so I am sharing it anyway. If anything is unclear or doesn’t work as expected, please let me know.