Limited this week15-min demo = Rs 500 voucher + 200 credits Book demo
All articles
Guide

Google Forms WhatsApp Notification: 3 Setups (2026)

Google Forms has no WhatsApp alert. Link it via Zapier, Make or Apps Script to a WhatsApp API to alert your team and confirm to opted-in respondents.

RichAutomate Editorial
11 min read 3 views
Google Forms WhatsApp Notification: 3 Setups (2026)

Google Forms cannot send a WhatsApp notification by itself, so you connect each new form response to a WhatsApp Business API through Zapier, Make, Pabbly Connect or a short Google Apps Script onFormSubmit trigger. That one connection can do two jobs: ping your team the moment a response lands, and send the respondent a confirmation on WhatsApp, which needs their opt-in and an approved utility template.

This guide is written for Indian businesses that already run on Google Forms: coaching institutes collecting admission enquiries, clinics taking appointment requests, event organisers handling registrations and schools answering fee queries. It covers the three practical routes, the phone-number cleanup that breaks most setups, what 500 responses a month costs, and how to stop duplicates. Google and tool mechanics are described as documented in late October 2026, so check the current docs before you go live.

Can Google Forms send WhatsApp notifications on its own?

No. Google Forms can email the form owner about new responses, and it can send respondents a copy of their answers by email, but there is no built-in WhatsApp option. You need the WhatsApp Business Platform (the API), reached through a provider such as RichAutomate, plus something that listens for new form responses and calls that API.

To be clear about what RichAutomate does and does not do here: there is no direct Google Forms integration inside RichAutomate. What you get is a public developer API that sends approved templates, and an incoming webhook that can start a chatbot flow. The glue between Forms and those endpoints is either an automation tool or a few lines of Apps Script, both covered below.

One naming trap: Google Forms is not the same product as the lead form assets inside Google Ads. If your leads come from ads with a built-in form, follow our guide to Google Ads lead form to WhatsApp integration instead, because the data arrives through a different webhook.

Two jobs: alerting your team vs confirming to the respondent

Most people asking for a "Google Forms WhatsApp notification" want one of two things, and they have different rules.

  • Owner or team alert. Every new response sends a WhatsApp message to you, your counsellor or the front desk: "New admission enquiry: Riya Sharma, NEET 2027 batch, Kota, callback after 6 pm." The recipients are your own staff, but the message is still business-initiated, so it goes out as a template unless that person has messaged your WhatsApp number within the last 24 hours.
  • Respondent confirmation. The person who filled the form gets "Hi Riya, we received your enquiry for the NEET 2027 batch. A counsellor will call you within one working day." This is the more valuable message, because it lands where Indian customers actually read, but it is also the one with compliance strings attached.

WhatsApp requires that a business has the user's opt-in before messaging them, and the first business-initiated message must be an approved template. For a form confirmation, that template should be in the Utility category: it confirms something the user just did and contains no offers. If you slip a discount or "join our new batch" line into it, Meta can classify it as marketing, which costs several times more.

Before you build: opt-in, phone format and a utility template

Do these three things before you touch Zapier or Apps Script. Skipping them is why most first attempts fail.

1. Add a clear WhatsApp consent checkbox

Add a checkbox question with wording along these lines: "I agree to receive updates about my enquiry from [Business name] on WhatsApp at the number above." Keep it separate from your terms, name the business and the channel, and only message respondents who ticked it. The linked Sheet stores the consent with a timestamp, which is your opt-in record.

2. Collect the phone number in a predictable format

Use a short-answer question titled "WhatsApp number (10 digits)" and add response validation (Regular expression) so people cannot type letters. Even then, Indian users will enter numbers in every format you can imagine. The WhatsApp API wants the full number with country code and no symbols, so you will clean it in your Zap or script anyway:

What the respondent typedProblemSend as
98xxx xxx21Spaces, no country code9198xxxxx21
098xxxxxx21Leading trunk zero9198xxxxx21
+91-98xxx-xxx21Plus sign and hyphens9198xxxxx21
0091 98xxx xxx21International dialling prefix9198xxxxx21
9198xxxxx21Already correct9198xxxxx21
98xxxxx2 (8 digits)Too short, a typoDo not send; flag for a call
Landline, e.g. 0141 2xxxxxxNot a mobile, unlikely to be on WhatsAppDo not send; follow up by phone

The rule in practice: strip everything that is not a digit, drop leading zeros, add 91 if exactly 10 digits remain, then accept only 12 digits starting with 91 and a mobile prefix of 6 to 9.

3. Get a utility template approved

Create the confirmation template in your RichAutomate dashboard and submit it for Meta review. A coaching institute might use: "Hi {{1}}, we have received your admission enquiry for {{2}}. Our counsellor will call you within one working day. Reply to this message if you have a question." A clinic: "Hi {{1}}, your appointment request for {{2}} on {{3}} is received. The front desk will confirm the slot shortly." Create a second template for the team alert, for example "New form response: {{1}}, {{2}}, phone {{3}}."

Route 1: Zapier, Make or Pabbly Connect to the RichAutomate API

This is the no-code route, and the right one if nobody on your team wants to maintain a script. The shape is the same in every tool: a Google Forms trigger, a step to clean and map the fields, and an HTTP request to RichAutomate.

  1. Trigger. Zapier's Google Forms app lists a New Form Response trigger ("Triggers when a new form response is received"). Make lists Watch Responses and Watch Responses in Google Sheets. Pabbly Connect also lists Google Forms as an app; check its current trigger options when you build.
  2. Clean the phone. Use a formatter or code step (Zapier Formatter, a Make text function, Pabbly's formatter) to apply the cleanup rule above. Add a filter that stops the run if the consent answer is blank.
  3. Send. Add a webhook or HTTP action that POSTs to RichAutomate. You have two choices of endpoint.

Option A: send a template directly. Call POST /api/v1/send-template with your API key as a Bearer token. The body carries the cleaned phone, the template name, its language and the variables (for example the student's name and course). Use one step for the respondent confirmation and a second step for the team alert. Exact field names and the base URL are in the API docs inside your RichAutomate dashboard, so copy them from there rather than from a blog post.

Option B: start a chatbot flow. In the flow builder, add an Incoming Webhook trigger to a flow. RichAutomate gives you a URL of the form POST /api/v1/public/flows/{token}/trigger that expects JSON shaped like {"phone": "...", "name": "...", "data": {...}}. Zapier, Make and Pabbly will not send that shape on their own, so add a mapper step that builds those three keys from the form fields, and put course, city or appointment date inside data. The flow can then send the template, wait for a reply and ask a follow-up question. Its Google Sheets node can append a row to a connected sheet from inside the running flow, but it does not watch your form's sheet for new rows, so the trigger still comes from Zapier, Make, Pabbly or Apps Script.

For a wider walkthrough of Zap design, filters and error handling, see our Zapier WhatsApp integration setup guide.

Route 2: Google Apps Script onFormSubmit trigger

If someone on your team is comfortable pasting code, Apps Script removes the monthly automation-tool bill and fires straight from the form. Open the form, choose the three-dot menu, then Apps Script, and paste a function like this:

Free 2026 comparison

Get the India 2026 WhatsApp BSP price comparison

Wati vs AiSensy vs Interakt vs RichAutomate: Meta rates, platform fees and hidden costs, side by side. We send it to your WhatsApp in a minute.

By submitting, you agree RichAutomate may contact you on WhatsApp about this enquiry, per our DPDP-compliant privacy policy. No spam.

DPDP-compliant · India-hosted · 1-min reply
// Sketch only: check field names and the base URL in your RichAutomate API docs
const API_URL = 'https://YOUR-API-BASE/api/v1/send-template';
const API_KEY = PropertiesService.getScriptProperties().getProperty('RA_API_KEY');

function handleFormSubmit(e) {
  const answers = {};
  e.response.getItemResponses().forEach(function (r) {
    answers[r.getItem().getTitle()] = r.getResponse();
  });

  const phone = cleanIndianMobile(answers['WhatsApp number (10 digits)']);
  const consent = String(answers['WhatsApp updates'] || '');
  if (!phone || consent.indexOf('I agree') === -1) return; // no consent, no message

  const res = UrlFetchApp.fetch(API_URL, {
    method: 'post',
    contentType: 'application/json',
    headers: {
      Authorization: 'Bearer ' + API_KEY,
      'Idempotency-Key': e.response.getId()
    },
    payload: JSON.stringify({
      phone: phone,
      template: 'admission_enquiry_received',
      language: 'en',
      variables: [answers['Student name'], answers['Course']]
    }),
    muteHttpExceptions: true
  });

  if (res.getResponseCode() >= 300) {
    console.error('WhatsApp send failed', res.getResponseCode(), res.getContentText());
  }
}

function cleanIndianMobile(raw) {
  let d = String(raw || '').replace(/\D/g, '').replace(/^0+/, '');
  if (d.length === 10) d = '91' + d;
  return /^91[6-9]\d{9}$/.test(d) ? d : null;
}

A few details that matter, based on Google's Apps Script documentation:

  • Install the trigger. The function does nothing until you attach an installable trigger: in the editor go to Triggers, add one, choose the function, event source From form and event type On form submit. You can also create it in code with ScriptApp.newTrigger('handleFormSubmit').forForm(FormApp.getActiveForm()).onFormSubmit().create().
  • Know which event you get. A trigger on the form gives you e.response (a FormResponse). A trigger on the linked spreadsheet gives you e.namedValues and e.values instead. Mixing them up is the most common "undefined" error.
  • Checkbox answers are arrays. For most questions getResponse() returns a string, but for checkboxes it returns an array of the chosen options, which is why the script converts the consent answer with String().
  • It runs as the trigger owner. Installable triggers always run under the account of the person who created them. Create it from a shared institute or clinic Google account, not from a staff member who may leave.
  • Test with a real submission. Google notes that script executions and API requests do not fire triggers, so submitting a response through code will not test your trigger. Fill the live form from your phone instead.

For the team alert, add a second UrlFetchApp.fetch call with your alert template and your staff numbers, using a different idempotency key such as the response ID plus "-alert".

Route 3: use the linked Google Sheet as your record

Whichever route sends the message, link the form to a Google Sheet (Responses tab, then Link to Sheets). Treat that sheet as the system of record: one row per response, with the timestamp, the cleaned phone, the consent answer and two columns you add yourself, wa_status and wa_sent_at. Your Zap or script writes "sent" or the error text into those columns. That gives the front desk a simple view of who was confirmed and who needs a phone call.

The sheet can also be the trigger, via Make's Watch Responses in Google Sheets or a spreadsheet-bound Apps Script trigger. For spreadsheet-driven sends, our Google Sheets WhatsApp integration guide covers bulk sends and status write-back. Website forms follow the same pattern: WordPress contact form leads on WhatsApp.

Which route fits your form?

FactorZapier / Make / PabblyApps Script onFormSubmitLinked Sheet only
Code neededNone (a formatter step)About 40 linesNone, but no message is sent by itself
Extra tool costVendor's plan, priced by tasks or operationsNone beyond your Google accountNone
When it firesDepends on the vendor's trigger and your planOn each submissionOnly when another tool reads the sheet
Starting a chatbot flowYes, with a mapper to {phone, name, data}Yes, POST the same JSONNo
MaintenanceLow; watch task usage and failed runsSomeone must own the script and triggerLow
Best forClinics, small schools, event teams without a developerCoaching chains and agencies with many formsRecord-keeping and manual follow-up

A practical split we see often: an event organiser running one registration form for a Pune workshop uses Zapier, while a coaching group with 30 branch-wise admission forms uses one Apps Script template copied into each form, because per-task pricing adds up across that many forms. A school fee-query form usually needs only the accounts-team alert, with replies handled inside the 24-hour window when a parent writes back.

What it costs: 500 form responses a month

On RichAutomate's Client Pay setup, RichAutomate charges a fee of ₹0.10 per message with ₹0 setup, and Meta bills its own message charges directly to your business. Meta's approximate India rates are ₹0.1150 for a utility template and ₹0.8631 for a marketing template. Replies you send inside the 24-hour customer service window, which opens when the customer messages you, carry no Meta charge.

Take a coaching institute receiving 500 admission enquiries a month, all of whom tick the consent box. Each response triggers one team alert (utility template) and one respondent confirmation (utility template), and about 150 students reply with a question that your counsellor answers inside the window.

MessageCountRichAutomate feeMeta chargeSubtotal
Team alert, utility template500500 × ₹0.10 = ₹50500 × ₹0.1150 = ₹57.50₹107.50
Respondent confirmation, utility template500₹50₹57.50₹107.50
Counsellor replies inside 24-hour window150₹15₹0₹15
Monthly total1,150₹115₹115₹230

All figures are before GST and Meta's rates can change. The template category matters more than volume: if the confirmation were classified as marketing, Meta's share for those 500 messages would be about ₹431.55 instead of ₹57.50. Alerts also multiply with recipients: three staff members triple that line. Plans are optional: Starter is ₹499 a month and Pro ₹899 a month, with a 14-day trial. Full details are on our WhatsApp Business API pricing page.

Duplicates, quotas and failed sends

Duplicates. Zapier also offers a New or Updated Form Response trigger, which fires when a response is edited; use New Form Response for confirmations so an edit does not send a second message. Running a Zap and an Apps Script on the same form sends everything twice, so pick one. And people do submit twice, especially on slow mobile data. RichAutomate's public API accepts an Idempotency-Key header; pass the form response ID so a retried request is not sent again, and for genuine double submissions check the linked sheet for the same phone in the last few minutes before sending.

Quotas. Apps Script triggers and URL Fetch calls are subject to Google's daily quotas, which vary by account type. Check the current figures on Google's Apps Script quotas page. For spikes, such as a scholarship test with thousands of registrations in one evening, queue the sends from the sheet instead of firing one call per submission. Automation tools have their own task or operation limits per plan.

Failed sends. When an installable trigger fails, Google emails the trigger owner a "Summary of failures for Apps Script". Zapier, Make and Pabbly keep run histories. Either way, write the failure into the wa_status column so a person can call the respondent. Typical causes: an invalid number, a respondent not on WhatsApp, a blank template variable, or a mistyped template name. Do not loop retries on a number that keeps failing.

Getting started with RichAutomate

The sequence: consent checkbox and validated phone field, two approved utility templates, a Zap or Apps Script calling the RichAutomate API, and the linked Sheet as your record. Test with three real submissions (a clean number, a messy one and one without consent) before you share the form.

Ready to send your first Google Forms WhatsApp confirmation? Create your RichAutomate account, connect your WhatsApp number, generate an API key from the dashboard and submit your utility templates for approval.

What will this cost you?

Get a ₹ cost estimate for your WhatsApp volume

Tell us your monthly message volume on WhatsApp and get a line-item ₹ estimate: Meta charges, platform fee, GST. 1-minute reply from a real person.

By submitting, you agree RichAutomate may contact you on WhatsApp about this enquiry, per our DPDP-compliant privacy policy. No spam.

DPDP-compliant · India-hosted · 1-min reply
Tagged
Google FormsWhatsApp notificationsGoogle Apps ScriptZapierWhatsApp Business APIform automationIndia
Written by
RichAutomate Editorial
Editorial team at RichAutomate. We build the WhatsApp Business automation platform Indian D2C brands, fintechs, and agencies use to ship campaigns and flows on the official Meta Cloud API.
FAQ

Frequently asked questions

Can Google Forms send WhatsApp notifications without another tool?
No. Google Forms only offers email notifications. To get a WhatsApp alert you connect new responses to a WhatsApp Business API provider through Zapier, Make, Pabbly Connect or a Google Apps Script onFormSubmit trigger.
Do I need a template to send a WhatsApp confirmation to a form respondent?
Yes. A business-initiated first message on WhatsApp must be an approved template, and the respondent must have opted in. For a form confirmation use a Utility template that confirms the submission without offers, otherwise Meta may classify it as marketing.
How should the phone number field be set up in Google Forms for WhatsApp?
Ask for a 10-digit WhatsApp number with response validation, then clean it before sending: remove spaces and symbols, drop leading zeros, add 91 when 10 digits remain, and only send to 12-digit numbers starting with 91 followed by 6 to 9.
How much does it cost to send WhatsApp alerts for 500 Google Form responses?
On RichAutomate Client Pay, a team alert plus a respondent confirmation as utility templates costs about ₹215 for 500 responses (₹0.10 RichAutomate fee plus about ₹0.1150 Meta charge per message), before GST. Replies inside the 24-hour window have no Meta charge.
How do I stop duplicate WhatsApp messages from Google Forms?
Use Zapier's New Form Response trigger rather than New or Updated Form Response, never run a Zap and an Apps Script on the same form, pass the form response ID as an idempotency key, and check the linked Sheet for the same phone before sending.
RichAutomate · WhatsApp BSP for India 2026

Ship WhatsApp campaigns + flows on a transparent, compliance-ready BSP.

₹0 platform fee. DPDP audit log included. Visual flow builder. Multi-tenant from day one.

Start free trial
Want this for your brand?

Get a free 24-hour BSP audit

Send us your last invoice. We line-item it against Meta's published rates and benchmark against three alternatives.

Limited Spots Available

Get a Free
Automation Audit

Stop leaving revenue on the table. Get a custom roadmap to automate your growth.

Secure & Confidential