Instant lead alerts on WhatsApp with n8n
A webhook catches the form submission, n8n validates and enriches it, sends a template message to the salesperson on duty, and starts a timer that escalates if nobody claims the lead. The point is not the notification. The point is the escalation, because that is what stops leads going cold.
Last reviewed:
What this workflow does
Email alerts do not work because email is where notifications go to be ignored. WhatsApp works because your salespeople already have it open. Add an escalation step or you have just built a faster way to ignore leads.
| Step | n8n node | What it does |
|---|---|---|
| Trigger | Webhook | Receives the form submission the instant it is sent, with signature verification on |
| Validate | IF | Drops obvious spam and malformed submissions before anyone is notified |
| Enrich | HTTP Request | Adds whatever context you have: company, campaign source, previous contact |
| Route | Switch | Picks the salesperson on duty by region, product or a simple rota |
| Notify | WhatsApp Business Cloud | Sends a template message with the lead details and a claim link |
| Log | HTTP Request | Writes the lead and the notification time into the CRM |
| Escalate | Wait + IF | After a set interval, checks whether the lead was claimed and notifies a manager if not |
Sources: n8n docs: Webhook node · n8n docs: WhatsApp Business Cloud node · Meta developer docs: WhatsApp pricing · last reviewed: Aug 26, 2026
Setup, step by step
1. Catch the submission
Point the form at an n8n Webhook node rather than at an email inbox. A form that emails a shared address has already lost, because nobody owns a shared address. Verify the signature and reject unsigned posts.
2. Filter before you notify
An IF node dropping obvious spam protects the thing that makes this work: your team trusting the alert. Two junk notifications and people start ignoring the channel, and then the whole workflow is decorative.
3. Route to a person, not a group
A Switch node picking one owner by region, product or rota is what creates accountability. Broadcasting to a group means everybody assumes somebody else has it, which is how a lead sits untouched for an afternoon.
4. Send a template message
Business-initiated WhatsApp messages have to be templates, so the alert is a pre-approved template with the lead details filled in. Approve it in the Meta console before you build the node, because approval is the step that takes days.
5. Escalate on silence
A Wait node followed by an IF that checks whether the lead was claimed is the part that actually changes the numbers. Fifteen minutes is a reasonable first interval. Without it you have built a notification, not a process.
6. Log everything
Write the notification time and the claim time to the CRM. Once you can see time-to-first-contact per salesperson, the conversation about response times stops being about opinions.
Notes from running it
The reason this workflow exists is that the gap between a form submission and a human reply is where most marketing budget dies. The lead filled in your form because they were thinking about it right then. Forty minutes later they are doing something else and have probably filled in two more forms. Nothing in the funnel is as cheap to fix as that gap, and nothing is as consistently ignored.
Teams usually try email alerts first and conclude that alerting does not work. Email is not the problem; ownership is. An alert that goes to everyone belongs to no one, and an alert with no follow-up has no consequences for being ignored. So the two nodes that matter here are the Switch that assigns exactly one owner and the Wait that escalates when the lead is still unclaimed. On the messaging side there is a useful quirk of WhatsApp billing worth knowing: your replies inside a customer-initiated 24-hour window are free, and everything sent in the 72 hours after a click-to-WhatsApp ad is free across all categories, which is written up in WhatsApp Business API pricing. The data behind the response-time argument is in why 78% of Meta Ads leads never answer.