Hi everyone,
I’m working on an n8n workflow that receives messages from WhatsApp (using the official WhatsApp Cloud API + n8n WhatsApp Trigger).
I want to combine multiple short user messages into a single input before sending them to GPT or another processor.
My goal:
- When a user sends a message, I want to wait 8 seconds to see if any more messages are coming.
- If additional messages come within that window, I want to append them to the previous ones.
- Once there’s an 8-second pause, I consider the input complete and then send the combined message to the AI.
The problem:
- WhatsApp sends each message as a separate webhook call, so each message starts a new execution in n8n.
- I’m trying to store the messages temporarily (using Simple Memory) and track the
last_message_time
. - But since each execution is isolated, I can’t easily set up a delay inside the same flow that checks for future messages.
- I tried using
Wait
+IF
nodes with timestamp comparison, but it doesn’t feel reliable because the workflow finishes before new messages arrive.
What I’m looking for:
- Has anyone successfully built a “delayed input merge” system in n8n?
- Is there a way to delay response until user input is silent for X seconds, across multiple executions?
- Or should I use an external system (e.g. Redis, database + cron job) to collect and check messages before triggering GPT?
Any design patterns or ideas are welcome
Thanks in advance!