Multiple workflow executions per individual Whatsapp message

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”

Information on n8n setup

  • n8n version: 1.66.0
  • Database (default: SQLite): no db
  • n8n EXECUTIONS_PROCESS setting (default: own, main): default
  • Running n8n via (Docker, npm, n8n cloud, desktop app): n8n cloud
  • Operating system: mac Os 13.7

Hi @erzio

Thanks for posting here and welcome to the community! :cake:

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.

nformation on n8n setup

  • n8n version: 1.67.1
  • Database (default: SQLite): no db
  • n8n EXECUTIONS_PROCESS setting (default: own, main): default
  • Running n8n via (Docker, npm, n8n cloud, desktop app): n8n cloud
  • Operating system: Windows 64

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

1 Like

Hi @erciop @erzio

Thanks for the detailed description. We will test this internally and put out a fix if necessary. Will keep you updated :pray:

2 Likes

@ria Any updates to share? I’ve seen several people with this same issue.

1 Like

@ria any update?

1 Like

Hey, sorry for the late response.

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 :pray:

1 Like

Any progress? We are developing a chatbot with a WhatsApp connection. It increases the costs by a factor of 4. A filter would be very helpful.

@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.

Hi @jakobwowy

At the moment this is still in our backlog and I cannot give you a forecast, I’m afraid :frowning: It should hopefully get picked up in our next Bug Bash session!

Its really bad, because worflow usage cost is 3x more expensive because of this status triggers…

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.

I’m having the same issue. Commenting to keep this thread alive!

Bumping this! As of today it’s unfeasible to use the whatsapp trigger on the cloud offering due to this unexpected behavior

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?

Would appreciate any insights! Thanks! :raised_hands:

I’m facing the same issue. :disappointed: @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!

New version [email protected] got released which includes the GitHub PR 13751.

1 Like

Hello! Thanks for the update. Was this issue resolved in this new version? I am still facing this issue

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.