Webhook running multiple twice despite only sending one message

When I run my AI Chatbot that’s connected to facebook, it sometimes runs multiple times, even though the user only sends one message, any idea on how I can fix this?

Dear @gorgle_fornel Quick solution, please change your webhook path name, as this will quickly help.

Long term solution,

Please check with your facebook response sending flow, may be facebhook is sending two messages to the webhook, when user send one.

Please try out both of them and let me know which one works.

Happy to help…

One common reason for this is webhook retries.

Many services (including Facebook / Messenger APIs) use at-least-once delivery. If the platform thinks the webhook call failed (timeout, slow response, network issue), it will send the same event again.

From n8n’s perspective this looks like a new trigger, so the workflow executes twice.

A safe pattern is to add idempotency before the side effect in the workflow.

For example:

Webhook → HTTP Request (gate) → IF → your action

The idea is to generate a stable key for the event and check if it was already processed.

For example:

{{ $json.id }}

or

{{ $execution.id }}_{{ $node.name }}

If the same key appears again, you stop the workflow before executing the action.

I wrote a short explanation of the pattern here:

https://community.n8n.io/t/stopping-duplicate-stripe-charges-in-n8n-webhook-retries-simple-idempotency-pattern

This usually fixes duplicate executions caused by webhook retries.