How to prevent duplicate webhook executions within a short time window (e.g. Dropbox)

Hi everyone,

I’m running into an issue where n8n receives multiple webhook calls for what seems to be the same event — for example, when using Dropbox’s webhook to detect new files. This causes my workflow to run more than once for the same change, which I’d like to avoid.

Is there a recommended way to temporarily “lock” webhook processing for a few minutes, so that any incoming webhooks during that period are ignored or deferred? Ideally, I’d like to prevent duplicate executions by skipping or filtering out repeated calls within a short time window (e.g., 2–3 minutes).

I’m open to using Redis, a database, or built-in n8n mechanisms if they exist.

Environment details:

Self-hosted n8n instance

PostgreSQL as the main database

n8n version: 1.92.2 (latest)

Thanks in advance!

2 Likes

n8n Workflows – Filtering Webhook Request Content
You can use an “IF” Node to check whether the webhook data corresponds to the same event and filter out duplicates.

For example, you can check the change timestamp or file ID in the Dropbox webhook payload to skip repeated triggers.
Queueing and Ordering Webhooks
If a large number of webhooks arrive, you can push these requests into a queue system (such as Redis Queue) and process them sequentially.

This way, consecutive triggers for the same event are handled more controllably.

1 Like

You could take a look at this post N8n self-hosted - sequential execution with third party tool - minimal setup with task spooler

might help.

1 Like