My workflow gets executed multiple times for each message from whatsapp, resulting in high consumptions and costs
The issue appears to be the Whatsapp web hook triggers every time a “Message” is received - and Whatsapp submits multiple message at once, while only one contains the filed “text”
Thanks for posting here and welcome to the community!
The WhatsApp Trigger is designed to fire on every message received.
What’s the reason that you’re getting swamped? Can you share some examples of the multiple messages you are getting?
I have the same problem.
The trigger is capturing all interactions.
For example, when the contact sent a message, the trigger fired, so far so good. Then my flow sends a message. At that moment the trigger captures this message too. But it captures it 2 or 3 times.
The only difference I noticed is that with each capture the status changes. Sometimes the status is read, other times it is sent and sometimes it is delivered.
Hi @ria. What @erciop is describing is the same issue I witness. The whatsapp hook gets triggered by the extra message whatsapp delivers to convey metadata (“message received”, “read”, and so on). I have tried to filter them, but no matter what, the flow gets activated every time, resulting in 3x / 4x the consumption of n8n hosting for a single whatsapp chat message
We will probably add a filter for Status that allows to select delivered, read or sent as an option and only pass those on to the workflow. This will be a node enhancements for future consideration.
We will update this thread once the PR has been made
@jakobwowy I ended up hosting on a VPS server and using Coolify to configure N8N. It was the best solution I found to avoid this excessive cost until this filter is implemented by the N8N team itself.
At the moment this is still in our backlog and I cannot give you a forecast, I’m afraid It should hopefully get picked up in our next Bug Bash session!
I actually have a similar experience with Slack and enabling it to view all events. I put a Sanity filter node as the 2nd node with a condition to process if it passes or do a no-op if it doesn’t.
Just an alternative thought here @jakobwowy but maybe triggers could be billed differently if there’s a short-circuit or it doesn’t exceed some minimal duration?
I’d like to also connect up WhatsApp and am afraid of what this will do to my executions if I’m listening to WhatsApp and also Slack.
Hey n8n team, any update on the WhatsApp Trigger status filter?
I saw that there were plans to add a filter for statuses (delivered, read, sent) so that only selected ones trigger the workflow. Just wondering if there’s been any progress on that?
Right now, the WhatsApp Trigger node executes multiple times per message because WhatsApp sends different webhook events for the same conversation:
Execution 1: When a message is received (contains "messages" field).
Then the workflow replies to that message, and these additional events trigger executions:
Execution 2: When my reply is sent ("status": "sent" inside "statuses").
Execution 3: When my reply is delivered ("status": "delivered").
Execution 4: When my reply is read ("status": "read").
So for every single incoming message that I reply to, I get 4 executions (sometimes 3 if the reply isn’t read), which increases execution costs by a factor of 4.
I tried adding an IF condition to check if {{ $json.statuses }} exists and filtering those out, but the executions are still counted, even if they don’t proceed.
Any ideas on how to prevent n8n from counting these extra executions? Or any updates on the planned enhancement?
I’m facing the same issue. @ria, do you have any updates on this?
This limitation makes it nearly impossible to use n8n cloud for WhatsApp automation due to the excessive execution costs. Please prioritize this fix—it’s a major blocker for implementing efficient workflows. Thanks!
I am having this issue as well. Client messages me, and I save their number and ask for their name. It then reruns the whole process 2 or 3 more times.