Hello everyone,I am trying to build a workflow in n8n to monitor WhatsApp chats using community nodes. My goals:
- receive incoming WhatsApp messages with full metadata (sender, content, timestamp)
- automatically reply or follow up if no response within a set time
*-track conversation state
*-use free or self-hosted tools (avoid Business API costs)
What I’ve tested so far
WAHA (WhatsApp HTTP API)
• Works for sending messages but does not reliably detect incoming messages.
EvolutionAPI (WhatsApp Web–based, self-hosted)
• There is a community node (n8n-nodes-evolution-api).
• A Reddit user explains what to do:
“If you are after just messages then just create a webhook using the evolution node for MESSAGES_UPSERT and point it to a webhook instance … then when you receive a new whatsapp message it will call the webhook you defined with the message details” youtube.com+13reddit.com+13community.n8n.io+13community.n8n.io+1community.n8n.io+1community.n8n.ioyoutube.com+1community.n8n.io+1
• A discussion on the n8n forum confirms that the EvolutionAPI node registers the webhook but you need a separate Webhook Trigger node to receive incoming data community.n8n.io+1community.n8n.io+1.
Wassenger
• Another community node that supports webhooks and is SaaS-based; easier to set up but not free community.n8n.io+11medium.com+11youtube.com+11.
Questions
- Has anyone set up EvolutionAPI + n8n so that the MESSAGES_UPSERT event delivers full message content (text, sender, timestamp)?
- What does a complete n8n workflow look like? (which nodes and how are they connected?)
- How do you handle message state or timeout logic (e.g. detecting no response for X hours)? Are you using Switch/Wait/Function nodes or external DB/caches?
My proposed workflow
Any help would be greatly appreciated, including sample JSON exports, screenshots, or configuration advice. Thank you!