Good afternoon, I would like to know if there is any way when receiving an event via webhook, it can only continue if the same workflow is not running at the time of receipt.
I’m talking about the aspect of workflow delaying the continuation, not delaying the response
It would be something similar to the photo, or using the IF node to check if the workflow is active, and if it is active it waits, instead of continuing
Or in the configuration of the webhook itself, it receives the data, but does not proceed further
My application in practice:
I use Google Sheets to make triggers on WhatsApp, where it reads the user’s data in the spreadsheet and then proceeds, doing them one by one, but the webhook happens to receive the trigger twice in a short period of time, which causes that the second workflow tries to send repeatedly to the user that the first workflow is already sending.
I tried to check Gogole Sheets at the beginning of the workflow, to check if a certain field has a value equal to or greater than 10, if so, the flow continues, if not, it should wait, in order to continue only if the first workflow had completed its 10 shots, however it happens to receive two messages in parallel in the webhook, and both end up interpreting that the value is greater than 10 and work in parallel. Is there any way to configure your own webhook or another node to check if there isn’t another similar workflow already working?
I’m not exactly sure what you’re filtering requirement is from this so i’ll keep this more vague. Let me know if you have follow up questions, if you do please specify more what factor should tell the workflow if it runs again or not.
There is a few ways to go about this. I don’t think you can check workflows that are currently running.
You could have the first step in your workflow to be editing a field in the sheet. So you can make a column called “Ran” or something, and check the value from that.
You could still have the same issue if two requests came in within the same second or so.
I would probably prefer this method instead, the one you choose may depend on the details of your implementation, like how often the webhook will be called.
This separates the trigger into it’s own separate workflow. It checks past executions and calls on another workflow if it has not ran with that data before. Of course you will need to add in the data to be compared
Then you would just have it trigger another workflow that looks something like this