I have a paid account on n8n. I have a workflow that is triggered every 30 minutes by a schedule trigger node, which uses several http request nodes and I have a whatsapp node, which sends a notification every 30 minutes to a phone number. I activated the workflow and it worked fine. But I noticed that after a few hours the notifications are no longer sent, but if I send a message on whatsapp to the chatbot it comes back.
It seems to me that it goes into some kind of standby, although it should send messages every 30 minutes because it is automated, it would not need a trigger.
To be clear, WhatsApp Cloud API Token Expiration is set at never. So im sure that is not a problem with the token.
Does the execution happen at all? If so, does it error or complete? What is the output of the node with the relevant Whatsapp message action on the executions that works fine vs not fine?
The execution happens, no error appears in the executions flow section. What I noticed is that somewhere after a 24-hour interval, notifications are no longer received on WhatsApp, although in the WhatsApp node it appears that the message has been sent. Can the message be perceived as spam?
Could be! If you compare 2 executions (working vs not working) and they both look the same then this is probably an issue with the recipient WhatsApp endpoint.
I’d try to reach out to their support to see what they say!
No I mean if I was you I would try to reach out to their support. This has to be checked by them as it might be on them (assuming both executions provide the exact same output as I described before)
I misunderstood, I don’t have much confidence in their support. I hope a member of the community can answer my question, maybe someone else has had this problem.
Whenever I suspect some kind of bot-detection or duplicate suppression, I add some slight variability to what I’m doing, just to see if it makes any difference.
You might try:
adding a Wait ahead of the Whatsapp node in your scheduled message workflow, with a random few seconds delay (Wait amount: expression {{ Math.round(Math.random() * 15) }}), or
inserting something superfluous in the message itself to make each one different.