Help me, how do I stop the workflow from running several times at the same time?

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?

Information on your n8n setup

  • **n8n version: ** Version 0.231.3
  • **Running n8n via Docker

It looks like your topic is missing some important information. Could you provide the following if applicable.

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:
  • **versão n8n: ** Versão 0.231.3
  • **Executando n8n via Docker
    Padrão os demais

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

Instead of webhook you can use workflow trigger node to do that see if that helps