Hi, I’m encountering a recurring issue where my webhook-based workflow is being triggered multiple times by the same Instagram Direct message received via ManyChat, even though my n8n workflow responds correctly with HTTP 200 using the Respond to Webhook
node.
Workflow context:
- Platform: n8n cloud
- Trigger:
Webhook
node (POST) - Source of requests: ManyChat → Instagram DM trigger
- Webhook settings:
- Method: POST
- Respond: Using
Respond to Webhook
node - URL used: Production URL
- Response settings:
- Status Code: 200
- Response Body: basic JSON (
{"status":"ok"}
)
Behavior:
- During testing and manual usage, the workflow works as expected.
- However, hours later (usually at night) the same message re-triggers the flow and gets processed again — sometimes once per minute.
- This results in the same AI response being generated and sent repeatedly to the same user.
Questions:
- Is it possible that n8n cloud delays webhook responses, causing ManyChat or Meta to retry delivery?
- Are there any known webhook response timeouts or edge cases where a request is considered incomplete despite 200 status?
- What is the best approach within n8n to ensure a webhook executes only once per message (e.g. based on
sessionId
ormessage.id
)?