WebDev24X7
All articles
AI Automation

Reply to Website Leads on WhatsApp in 60 Seconds with n8n

Most Indian businesses answer website enquiries hours late. Here's how to set up n8n so every lead gets a WhatsApp reply in under a minute, gets logged, and you get pinged.

WD
WebDev24x7 18 September 2026 11 min read

Here's a pattern most business owners in India will recognise. Someone fills in the contact form on your website at 9:40 pm. The email lands in an inbox you check "in the morning". By the time you call at 11 am the next day, they've already spoken to two other vendors, and one of them replied on WhatsApp within minutes.

Speed wins leads. It's not because customers are impatient. They're comparing, and the first person to reply sets the tone.

This post shows how we set up WhatsApp lead automation with n8n. When someone submits your website form, within about a minute:

  1. The lead gets a polite WhatsApp message from your business number
  2. You (or your sales person) get a WhatsApp or Telegram ping with the lead details
  3. The lead is saved to a Google Sheet, so nothing gets lost

It's the same idea we use on client sites and our own projects. You can build it yourself in an afternoon if you're a bit technical, and we've included the actual requests below.

What you'll need

  • An n8n instance. Self-hosted on a ₹500–₹1,000/month VPS, or n8n Cloud. If you're new to n8n, start with our overview of n8n workflows for small businesses.
  • A WhatsApp Business Platform (Cloud API) account from Meta. This is different from the free WhatsApp Business app on your phone. You'll need a Meta Business account and a phone number that isn't already registered on regular WhatsApp.
  • A website form that can send data to a webhook. WordPress (Contact Form 7, WPForms, Fluent Forms), Webflow, Next.js, anything works.
  • A Google Sheet for logging leads.

First, understand the 24-hour rule

This is the one thing that trips everyone up with the WhatsApp API, so it's worth getting clear on before you build anything.

WhatsApp doesn't let businesses send free-form messages to anyone whenever they like. The rules work roughly like this:

  • If the customer messaged you first, a 24-hour customer service window opens. Inside it you can reply with normal, free-form messages.
  • If you're messaging first (which is our case, since the person filled a form, not a WhatsApp chat), you must use a pre-approved message template. You write the template, submit it in WhatsApp Manager, and Meta approves it, usually within minutes to a few hours.

Business-initiated template messages are charged per message. Utility and authentication templates cost much less than marketing ones in India, often a fraction of a rupee each. Rates change, so check Meta's current pricing page for India before you budget. For a small business getting 10–50 leads a day, the cost is tiny next to the value of one extra customer.

Also, the lead must have agreed to hear from you. A line under your form like "By submitting, you agree to receive a reply on WhatsApp" covers this and keeps you on the right side of Meta's policy (and India's DPDP Act).

Step 1: Create the message template

In WhatsApp Manager, create a new template:

  • Category: Utility (it's a response to something the user did, not a promotion)
  • Name: enquiry_received
  • Language: English (add a Hindi version too if your customers prefer it)
  • Body:
Hi {{1}}, thanks for contacting {{2}}! We've received your enquiry about {{3}}.
Someone from our team will call you shortly. If it's urgent, just reply to this message.

Keep it short and human. Resist the urge to add offers or links here. A promotional template gets classed as Marketing, which costs more and is more likely to be rejected.

The last line matters. When the customer replies, the 24-hour window opens and your team can chat freely from there.

Step 2: Point your website form to n8n

In n8n, create a new workflow and add a Webhook node:

  • HTTP Method: POST
  • Path: something unguessable, like lead-intake-7f3k2
  • Respond: Immediately

Copy the production URL. Now send your form data there.

WordPress with Contact Form 7: use a plugin like "CF7 to Webhook". WPForms / Fluent Forms: both have webhook add-ons. A custom or Next.js site: just POST JSON from your form handler:

await fetch('https://n8n.yourdomain.com/webhook/lead-intake-7f3k2', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    name: data.name,
    phone: data.phone,
    email: data.email,
    service: data.service,
    message: data.message,
    page: window.location.pathname,
  }),
});

Submit a test entry and check that it appears in the webhook node's output.

Step 3: Clean up the phone number

This is where most DIY setups break. Indian users type phone numbers in every possible format: 98100 12345, +91-9810012345, 09810012345, 919810012345. The WhatsApp API wants 919810012345, the country code followed by the 10-digit number, with no plus sign and no spaces.

Add a Code node after the webhook:

const raw = String($json.body.phone || '');
let digits = raw.replace(/\D/g, '');       // keep digits only

if (digits.startsWith('0')) digits = digits.slice(1);           // 09810012345
if (digits.length === 10) digits = '91' + digits;               // 9810012345
if (digits.length === 12 && digits.startsWith('91')) {
  // already fine
} else {
  digits = '';                                                  // not a valid Indian mobile
}

return [{
  json: {
    ...$json.body,
    phone_wa: digits,
    first_name: String($json.body.name || '').trim().split(' ')[0] || 'there',
    received_at: new Date().toLocaleString('en-IN', { timeZone: 'Asia/Kolkata' }),
  },
}];

Then add an IF node: if phone_wa is empty, skip the WhatsApp step and just log the lead and notify you. That way a mistyped number never breaks the workflow.

Step 4: Send the WhatsApp template

n8n has a built-in WhatsApp Business Cloud node, but we often use a plain HTTP Request node. It makes it easier to see exactly what's being sent. Set it up like this:

  • Method: POST
  • URL: https://graph.facebook.com/v23.0/YOUR_PHONE_NUMBER_ID/messages (use the current Graph API version shown in your Meta dashboard)
  • Authentication: Header, Authorization: Bearer YOUR_PERMANENT_ACCESS_TOKEN
  • Body (JSON):
{
  "messaging_product": "whatsapp",
  "to": "{{ $json.phone_wa }}",
  "type": "template",
  "template": {
    "name": "enquiry_received",
    "language": { "code": "en" },
    "components": [
      {
        "type": "body",
        "parameters": [
          { "type": "text", "text": "{{ $json.first_name }}" },
          { "type": "text", "text": "Your Business Name" },
          { "type": "text", "text": "{{ $json.service || 'your requirement' }}" }
        ]
      }
    ]
  }
}

A tip on the access token: the temporary token from the Meta developer dashboard expires within a day. For anything real, create a System User in Meta Business Settings and generate a permanent token for it. Store it in n8n credentials, not pasted into the node.

Step 5: Notify yourself

The lead has its reply. Now make sure a human follows up.

The simplest option is a second WhatsApp template (new_lead_alert) sent to your own number, with the name, phone, service and message as variables. Telegram is even easier: create a bot with BotFather, add n8n's Telegram node, and it's free with no templates needed. Plenty of owners we work with prefer Telegram for internal alerts, so their WhatsApp stays clean for customers.

Put the lead's phone number in the alert as a wa.me link. Then you can tap it and continue the chat from your phone in one go.

Step 6: Log everything in Google Sheets

Add a Google Sheets node with the "Append row" operation. Columns we usually keep:

Received atNamePhoneEmailServiceMessagePageWhatsApp sent?Status

The "Page" column is underrated. It tells you which page on your site the lead came from, and over a few months that shows you which pages actually earn money.

The "Status" column is for your team to update by hand (New, Called, Quoted, Won, Lost). Not a CRM, but for a small business it's often all you need.

Step 7: Handle failures

Things will go wrong eventually. A template gets paused, a token expires, Google revokes access. Set the WhatsApp node's On Error setting to "Continue", and add a branch that emails you if the send failed. You want to hear about a broken automation from n8n, not from a customer saying "I filled your form last week and nobody replied".

Also turn on n8n's Error Workflow setting and point it to a simple workflow that sends you a Telegram message. It takes five minutes and saves a lot of embarrassment.

Want to add AI? Go slowly

The obvious next step is to let an AI model read the enquiry and write a smarter reply, or answer follow-up questions in the chat. It can work well. Our post on AI chatbots for small business covers how. But two words of caution:

  • Meta's WhatsApp policies restrict general-purpose AI assistants on the Business Platform. A bot that answers questions about your business and hands over to a human is the safe pattern. Read the current policy before building.
  • Start with the simple, fixed template above. Add AI once you've watched a few weeks of real enquiries and know what people actually ask.

What this costs to run

For a typical small business:

  • n8n: free if self-hosted on a VPS you already have, otherwise a small monthly fee for the VPS or n8n Cloud
  • WhatsApp template messages: usually a few rupees a day at small-business volumes (check Meta's current India rates)
  • Google Sheets and Telegram: free

Compare that with one lost enquiry a week, and the maths is easy.

Need a hand?

If you'd rather not deal with Meta Business verification, templates and tokens yourself, this is exactly the kind of workflow we set up for clients. It's usually done in a day or two, and it's connected to whatever website or form you already have. See our automation and web development services or message us with what you'd like to automate.

Already running WordPress and n8n? You might also like how to automate WordPress publishing with n8n.

WD
WebDev24x7
Web Development Studio · Delhi NCR

150+ projects delivered over 10+ years — WordPress, Drupal, Next.js and n8n automation for enterprise, government and startup clients. A division of Sitaram 3D Lab.

Start a project
// let's work together

Let's Build Your Next Project

Tell us what you're building and we'll come back with a plan, a timeline and a price. No template answers.

Free review of your current website
Clear pricing with nothing hidden
Reply within 24 hours
Get a Free Quote WhatsApp Us

No commitment. Free estimate. Reply within 24 hours.