WhatsApp Us

Google Sheets to WhatsApp · Apps Script plus the official API

Send WhatsApp message from Google Sheets rows, automatically and within the rules

To send a WhatsApp message from Google Sheets, you connect the sheet to Meta’s official WhatsApp Cloud API with Google Apps Script, map columns to template variables, and let a trigger send each row: reminders, booking confirmations or order status updates. BtechWaleTech is three freelance developers in India who build these sheet-driven senders from ₹40,000, with delivery status written back into the row and limits that keep your number safe. Teams that outgrow a sheet can move to a WhatsApp CRM later without losing the setup.

  • Setup from₹40,000 · US$600
  • Typical timeline2–4 weeks with template approval
  • Runs onGoogle Apps Script in your own account
  • Sends throughMeta’s official WhatsApp Cloud API
  • Status trackingSent, delivered, read, failed per row
  • Owner of sheet and numberYou
  • Apps Script
  • WhatsApp Cloud API
  • Column-to-variable mapping
  • Time-driven triggers
  • On-edit sending
  • Status written back
  • No browser extensions

Three freelance developers in India · reply on WhatsApp every day of the week

  • 3Freelance developers building your sheet sender
  • 0Browser extensions or unofficial senders used
  • 2Working days to an itemised quote
  • 2Months of free maintenance after handover

The short answer

How do you send a WhatsApp message from Google Sheets?

Use Google Apps Script to read each row, fill an approved WhatsApp template with values from your columns, and call Meta’s WhatsApp Cloud API with UrlFetchApp. A time-driven or installable on-edit trigger sends new rows automatically, and a status column records sent, delivered or failed. BtechWaleTech sets this up from ₹40,000, usually within 2–4 weeks.

Need the API number first? See WhatsApp Business API integration. Already comfortable with scripts and just need help? Our Apps Script developer page covers wider sheet automation.

Last updated

Sheet-to-WhatsApp sender at a glance
Best forReminders, confirmations and status updates driven by rows
BuildFrom ₹40,000 (US$600), 2–4 weeks
Trigger optionsEvery few minutes, on edit, on form submit, or a menu button
Message typeMeta-approved utility or marketing templates
Written backMessage ID, status, time and any error per row
Running costMeta’s per-message charges; Apps Script itself is free
After handover2 months free support, then from ₹8,000/mo

Why choose us

Ways to send WhatsApp messages from a spreadsheet, compared

People searching for this usually find three kinds of solution. They look similar in a demo and behave very differently after a month of real sending.

Ways to send WhatsApp messages from a spreadsheet, compared
Aspect Browser extension using WhatsApp Web No-code connector subscription BtechWaleTech Apps Script build
Uses official WhatsApp API No, automates a logged-in browser Usually yes, through the tool’s account Yes, Meta’s Cloud API on your own WABA
Ban risk for your number High; against WhatsApp’s terms Low if templates are approved Low if templates are approved
Runs when your laptop is off No Yes Yes, on Google’s servers
Template variables from columns Copy-paste style merge fields Field mapping in the tool Any column, formula or lookup you want
Delivery status in the sheet Rarely Sometimes, on higher plans Yes, per row, via webhook relay
Ongoing fee Extension subscription Monthly, often per task or message One-time build from ₹40,000; Meta charges only
Control over logic Very little What the tool allows Full: skip rules, schedules, retries
Where data goes Through the extension vendor Through the connector’s servers Google and Meta only, plus your relay

If you send fewer than a handful of messages a week and each one is personal, typing them in the WhatsApp Business app is honestly simpler than any automation.

Pricing

What a Google Sheets to WhatsApp setup costs

A sheet-driven sender is quoted under our AI automation and integration work, starting at ₹40,000. That covers the Apps Script sender, one or two templates mapped to your columns, a trigger schedule, duplicate protection and a status column. The quote grows when you need a webhook relay for delivered and read statuses, several templates chosen by row conditions, multiple sheets or tabs feeding one number, or setup of the WhatsApp Business Account itself. Google Apps Script has no charge of its own; Meta bills your account per delivered template. Nothing starts before you approve the written quote.

Starting prices in INR and USD
ServiceIndia (INR)Worldwide (USD)Typical timelineWhat is included
Static website from ₹10,000 from US$150 1 to 2 weeks Up to 100 pages, Responsive design, Contact form and enquiry setup, Basic SEO tags and sitemap
SEO website (299+ pages) from ₹20,000 from US$300 3 to 5 weeks 299+ SEO pages, Keyword and page planning, Schema, sitemap, and internal linking, Design to deployment included
Ecommerce store from ₹50,000 from US$750 4 to 8 weeks Product and category pages, Payment gateway setup, Order and inventory basics, Performance tuning
Android & iOS app from ₹40,000 from US$600 6 to 10 weeks Android and iOS app (Flutter or React Native), Login, forms and push notifications, Admin panel and API connection, Google Play and App Store publishing
Custom web app or software from ₹60,000 from US$900 6 to 12 weeks Custom features and APIs, User accounts and roles, Admin panel, Deployment and handover
AI automation from ₹40,000 from US$600 2 to 4 weeks Workflow mapping, Tool and CRM integrations, AI agent or automation build, Testing and handover
Monthly SEO from ₹10,000/mo from US$150/mo Ongoing, monthly Technical fixes, On-page and content work, Local SEO and listings, Search Console reporting
Maintenance and support from ₹8,000/mo from US$120/mo Ongoing, monthly Content updates, Bug fixes, Backups and security checks, Speed and uptime checks

All prices are starting points, quoted in INR for India and USD for international clients, not fixed quotes. Final cost depends on the number of pages, features, integrations, content, and timelines. Share your requirement and you get an itemised estimate with nothing hidden. See full pricing.

When should you send WhatsApp messages from Google Sheets?

The ability to send WhatsApp message from Google Sheets rows makes sense when the sheet is already where your team keeps the list: bookings, fee dues, delivery runs, event registrations or service visits. If people update rows every day anyway, the sheet can also be the thing that tells customers what changed.

Typical examples: a coaching centre with a fee sheet that should remind parents three days before the due date; a clinic whose receptionist types tomorrow’s appointments into a sheet each evening; a small distributor whose dispatch clerk marks “Shipped” and wants the retailer told immediately; a wedding caterer whose event sheet should confirm menus a week ahead.

It stops making sense when the sheet has several thousand active rows edited by many people at once, when you need two-way conversations handled by agents, or when the data really belongs in a database. At that point a WhatsApp CRM or a small custom app is the better home, and we tell you so rather than stretching a spreadsheet.

Good signs

One sheet, a clear status column, messages that follow a row change, a few hundred sends a day at most.

Warning signs

Many editors typing at once, messages that need human replies, or formulas so heavy the sheet takes seconds to open.

What you need before you can send WhatsApp messages from Google Sheets

To send WhatsApp message from Google Sheets through the official route, you need four things: a Google account that owns the sheet, a number on Meta’s WhatsApp Business Platform, at least one approved message template, and an access token the script can use. The free WhatsApp Business app is not enough, because it has no API.

On the Meta side, a WhatsApp Business Account sits inside your business portfolio with a registered phone number. Many businesses register a separate number for automated messages so their everyday chat number stays on the WhatsApp Business app, untouched. Templates are submitted through WhatsApp Manager and approved by Meta before use.

On the Google side, the script lives in the sheet (Extensions › Apps Script) and runs under the account of whoever installs its triggers. For a business, that should be a shared operations account, not a staff member’s personal Gmail, so the automation does not stop when someone leaves.

  • Google Sheet with one row per message-worthy event
  • WhatsApp Business Platform number in your own Meta business portfolio
  • Approved template(s) with variables that match your columns
  • A permanent system-user token stored in Script Properties, not in the sheet
  • A decision on who owns the Google account the triggers run under

Designing the sheet to send WhatsApp message from Google Sheets reliably

Give the script a fixed layout: one header row, stable column names, a phone column in international format, the variable columns, and a small group of columns the script owns for status. Most broken sheet automations fail because someone inserted a column or typed a number with spaces.

We read columns by header name rather than by position, so moving a column does not break sending. The phone column is normalised by the script (digits only, country code added when a ten-digit Indian number is found), and rows with invalid numbers are marked “Check number” instead of silently skipped.

Script-owned columns are protected with Google Sheets range protection so staff cannot overwrite them by accident. They hold the WhatsApp message ID, the status, the time of the last update and any error text from Meta. That small block is what turns a fire-and-forget script into something you can trust. The table further down shows a typical layout.

How Apps Script sends a WhatsApp message from Google Sheets

The script reads rows that are ready to send, builds a JSON request for Meta’s Cloud API messages endpoint with the template name, language and parameters, and posts it with UrlFetchApp. The response contains a message ID, which the script writes back to the row.

A careful sender does a few more things. It takes a script lock (LockService) so two triggers never process the same rows at once. It marks a row “Sending” before the call and “Sent” after, so a timeout does not cause a duplicate. It reads the token from Script Properties, never from a cell. It sets muteHttpExceptions so Meta’s error body can be recorded instead of crashing the run. And it stops cleanly when close to the execution time limit, leaving the remaining rows for the next run.

Here is the flow in plain steps. Our Google Apps Script developer page covers the same approach for other sheet automations.

  • Acquire a script lock; exit if another run holds it
  • Find rows where Status is empty and Send date is today or earlier
  • Normalise the phone number; flag invalid ones
  • Build template parameters from the mapped columns
  • Mark the row Sending, call the API, record message ID or error
  • Pause briefly between calls and stop before the time limit

Mapping sheet columns to WhatsApp template variables

When you send WhatsApp message from Google Sheets, each variable in an approved template, written as {{1}}, {{2}} and so on, is filled from one column or formula in the sheet. The wording around the variables is fixed at approval; only the values change per row.

Say your template reads “Hi {{1}}, your appointment at {{2}} is on {{3}} at {{4}}. Reply YES to confirm.” The script maps {{1}} to First name, {{2}} to Branch, {{3}} to a formatted date and {{4}} to Time. Dates need care: a Google Sheets date cell is a date object, so we format it explicitly (for example “Tue, 14 Oct”) using the sheet’s time zone, otherwise the message can show a long timestamp.

Empty cells are the other trap. Meta rejects a template send with a missing parameter, and a blank name produces an awkward message. We set rules per variable: use a default (“there” instead of a name), skip the row and flag it, or fetch a value from another tab. When different rows need different wording, such as first reminder versus final reminder, a “Template” column tells the script which approved template to use.

Scheduled or on-edit: which trigger should send WhatsApp message from Google Sheets?

Use a time-driven trigger for most sending, because it is predictable and batches work; use an installable on-edit or form-submit trigger only when a message must go out within seconds of a change.

Google’s Apps Script documentation sets clear limits on simple triggers: they cannot access services that require authorisation and cannot run longer than 30 seconds. Calling an external API needs authorisation, so a plain onEdit function is the wrong tool for sending WhatsApp messages. An installable edit trigger, created once by the account owner, can call the API.

Another rule from the same documentation catches many people out: script executions and API requests do not cause triggers to run. If another script or an integration writes “Shipped” into a cell, the edit trigger will not fire. That is a strong reason to prefer a time-driven trigger that checks for rows needing a message every few minutes, whoever or whatever changed them.

Our usual pattern: a five- or ten-minute time trigger does the sending; an installable form-submit trigger handles instant confirmations; a custom menu item lets staff resend a single row by hand. The trigger comparison table below lays out the trade-offs.

Writing WhatsApp delivery status back to the sheet

The API response only tells you Meta accepted the message; delivered, read and failed arrive later as webhook events. To show them in the sheet, something has to receive those webhooks and update the right row using the message ID.

Apps Script can publish a web app that accepts POST requests, and some people point Meta’s webhook straight at it. For production we prefer a small relay, usually a serverless function on your cloud account, which answers Meta’s verification request, checks the signature header, responds quickly, and then updates the sheet through the Google Sheets API. It keeps the webhook reliable when the sheet is slow or locked.

The relay finds the row by the stored message ID and writes the status and time. “Failed” rows also get Meta’s error code in plain words, such as “number not on WhatsApp” or “template parameter missing”, so staff know whether to call the customer or fix the data. A simple conditional format colours failed rows red, and a filter view shows everything still undelivered after an hour.

Staying within Google and WhatsApp rate limits

Two sets of limits apply whenever you send WhatsApp message from Google Sheets: Google’s Apps Script quotas on how long and how often your script runs, and Meta’s limits on how many people and how fast your number can message. A well-built sender respects both without anyone thinking about them.

Google’s published quotas give consumer accounts 20,000 URL Fetch calls a day and Google Workspace accounts 100,000. Each execution can run for up to 6 minutes, and total trigger runtime is capped at 90 minutes a day for consumer accounts and 6 hours for Workspace. So a sheet sending a few hundred messages a day is comfortable on either, while thousands of daily sends belong on Workspace or on a proper server.

On the WhatsApp side, Meta’s documentation says a business number can send up to 80 messages per second by default and one message every six seconds to the same user. More important for most sheets is the messaging limit: a new business portfolio can reach 250 unique people in a moving 24-hour window outside customer service windows, rising in steps to 2,000, 10,000, 100,000 and unlimited, shared across all numbers in the portfolio.

In practice we cap each run (for example 150 rows), spread large batches over several runs, and stop sending for the day when the script sees limit errors, writing “Limit reached, will retry” so nobody panics.

How much does it cost to send WhatsApp messages from Google Sheets?

The script itself costs nothing to run on Google’s side; the running cost is Meta’s per-message charge on each delivered template, plus the one-time build. BtechWaleTech builds sheet senders from ₹40,000.

Meta’s pricing documentation says it has charged per delivered template message since 1 July 2025, with separate rates for marketing, utility and authentication categories, and volume tiers that lower utility and authentication rates as monthly volume grows. Utility templates delivered while a customer service window is open are free, as are replies inside that window.

Most sheet-driven messages, like reminders, confirmations and status changes, are utility messages if written factually. Adding a discount to a reminder can push it into marketing, which usually costs more. Keep them separate. For current per-message rates and INR billing details, see our WhatsApp Business API cost guide.

Consent, opt-outs and not getting your number restricted

Before you send WhatsApp message from Google Sheets to anyone, confirm they agreed to hear from you, and give them an easy way to stop. Meta’s opt-in guidance asks businesses to state clearly that the person is opting in to receive communication and to name the business, and to honour opt-out requests.

In the sheet that becomes an “Opted in” column (with date and source) and an “Opted out” column the script always checks. When a customer replies STOP, the webhook relay can mark that number as opted out across every tab. Rows without consent are skipped and labelled, never sent.

The fastest way to damage a number is to paste an old contact list into a sheet and fire a promotional template at everyone. Blocks and reports lower your quality rating and can shrink your messaging limit. Sheets are good at bulk; that is exactly why they need guard rails. For planned bulk campaigns, our WhatsApp bulk message API page explains safer ways to run them.

Apps Script, no-code connectors or a server: choosing your approach

Choose Apps Script when the sheet is the source of truth and volumes are moderate; choose a no-code connector when you want to set it up yourself and accept a monthly fee; choose a small server app when volumes, editors or two-way chat outgrow the sheet.

No-code tools such as Zapier, Make or n8n can watch a sheet and call the WhatsApp API. They are quick to start and easy for non-developers to change. The trade-offs are per-task pricing on hosted plans, delays between polls, and limited control over locking and retries.

Apps Script lives inside Google, costs nothing extra and handles row-level logic well, but someone must maintain code. A server app, whether Node, Python or Laravel, handles high volume, queues and agent inboxes, but it is a bigger build. We are happy to recommend the lighter option when it fits.

How long does a Google Sheets to WhatsApp automation take?

To send WhatsApp message from Google Sheets in production, plan for two to four weeks, most of which is WhatsApp account setup, template approval and a test period with real rows. The Apps Script part is usually done within the first week.

A realistic plan: days 1–4 for sheet review, template wording and submission; days 3–8 for the sender script, locks and status columns; days 7–12 for the webhook relay and write-back; days 10–18 for testing with your own numbers and then a small group of real customers; and handover with a short video walkthrough. If your WhatsApp Business Platform number is already live with templates approved, it can be shorter.

Common mistakes when sending WhatsApp messages from a sheet

These are the problems we are most often asked to fix in sheet senders someone else built, or that a staff member put together from a tutorial to send WhatsApp message from Google Sheets.

  • Access token typed into a cell, visible to anyone with the sheet link
  • A simple onEdit function trying to call the API and failing silently
  • No lock, so two runs send the same reminder twice
  • Dates sent as long timestamps because the cell format was ignored
  • Status written only as “Sent”, hiding the numbers that never received it
  • Triggers owned by an employee’s personal account that later gets deleted
  • Browser-based senders that got the business number banned

If you already have a sheet sender with some of these issues, we can review and repair it rather than rebuild from scratch, under automation support or a small fixed-scope quote.

Worked example: fee reminders from a hypothetical coaching centre sheet

Say a coaching centre in Kanpur keeps a Google Sheet with student name, parent’s mobile, batch, fee due date, amount due and a “Paid” checkbox. The accountant chases payments by phone every month. This is a made-up scenario to show the setup, not a client story.

We would submit two utility templates in Hindi and English: a gentle reminder three days before the due date and a follow-up two days after. A time-driven trigger runs every morning at 10, picks rows where Paid is unchecked, the due date matches the rule and the parent has opted in, and sends the right template with the student’s name, batch, amount and due date filled in.

A relay writes delivered and read back to the sheet. When the accountant ticks Paid, the next morning’s run simply skips that row. Failed rows turn red with the reason, so the accountant calls only those families. Parents who reply are handled from the WhatsApp Business inbox by a person.

After two cycles, the sheet itself shows how many reminders were delivered and read before payment, which tells the centre whether a third reminder is worth it. For a deeper version of this flow, see WhatsApp payment reminder automation.

Google Sheets to WhatsApp automation across India

Businesses that send WhatsApp message from Google Sheets are everywhere: Google Sheets is the working system for thousands of small Indian businesses, and WhatsApp is where their customers read messages. We work remotely with owners and operations staff anywhere in the country.

Coaching centres and schools in Kanpur, Varanasi and Ranchi send fee and class reminders. Exporters and garment units in Tiruppur and Jalandhar track orders in shared sheets. Hotels and tour desks in Udaipur and Jodhpur confirm bookings. Clinics and labs in Madurai and Vijayawada send appointment and report-ready alerts, often in Tamil or Telugu templates.

Wherever you are, the process runs over WhatsApp and screen-share calls in English or Hindi, and the sheet, script and number stay in your accounts.

Checklist before you send WhatsApp messages from Google Sheets to customers

Go through this list once before you send WhatsApp message from Google Sheets to real customers for the first time. It takes ten minutes and prevents nearly every embarrassing mistake.

  • Templates approved in the languages your customers read
  • Phone column normalised and invalid numbers flagged, not skipped
  • Opt-in and opt-out columns present and checked by the script
  • Token stored in Script Properties; sheet sharing reviewed
  • Triggers installed from the shared business Google account
  • Lock and “Sending” state tested by running two triggers together
  • Per-run cap set and limit errors handled gracefully
  • Status write-back tested for delivered, read and failed
  • A test tab with your own numbers for any template change

Sheet layout

A sheet layout that works for WhatsApp sending

Column names are examples. The script reads by header name, so you can reorder columns without breaking it.

A sheet layout that works for WhatsApp sending
ColumnFilled byExampleUsed for
Phone Staff or form919876543210Recipient, normalised by the script
First name Staff or formPriyaTemplate variable {{1}}
Date and time Staff14 Oct, 11:30Template variables, formatted in sheet time zone
Template Staff or formulareminder_1Which approved template to send
Opted in / Opted out Form or relayYes, 02 Sep, web formSkip rows without consent
Message ID Scriptwamid.xxxxLinks webhook statuses to the row
Status and time Script and relayDelivered, 10:02Tracking and follow-up filters
Error Script and relayNumber not on WhatsAppTells staff what to fix

Triggers

Apps Script trigger types for WhatsApp sending

Based on Google’s Apps Script trigger documentation. More sheet automation on our Apps Script page.

Apps Script trigger types for WhatsApp sending
TriggerFires whenCan call WhatsApp APIWatch out forUse it for
Simple onEdit A person edits a cellNo, no authorised services30-second limitHighlighting cells only
Installable on edit A person edits a cellYesNot fired by scripts or API writesInstant “status changed” messages
Installable form submit A Google Form response arrivesYesDuplicate submissionsInstant confirmations
Time-driven On a schedule you setYesCounts toward daily trigger runtimeReminders and batch sending
Custom menu Staff click a menu itemYes, after authorisingHuman error on large rangesResend one row, test sends

Limits

Google and WhatsApp limits that shape a sheet sender

Figures from Google’s Apps Script quotas page and Meta’s WhatsApp Cloud API documentation at the time of writing. Both companies change limits, so we check before each build.

Google and WhatsApp limits that shape a sheet sender
LimitConsumer Google accountGoogle WorkspaceWhat it means for you
URL Fetch calls per day 20,000100,000Roughly one call per message plus retries
Runtime per execution 6 minutes6 minutesBatch rows; stop cleanly before the limit
Total trigger runtime per day 90 minutes6 hoursFrequent schedules add up
Triggers per user per script 2020Keep one sender trigger, not one per tab
WhatsApp throughput 80 messages per second by defaultSameNot the bottleneck for sheets
WhatsApp messaging limit (new portfolio) 250 unique people per 24 hoursSameGrows in steps; plan big batches

Across India

Sheet-to-WhatsApp automation for businesses in these cities

We work remotely with small businesses everywhere. These city pages describe what local businesses there usually ask us to build.

  • Coaching fee reminders in Kanpur

    Kanpur coaching centres keep fee and batch records in sheets, and parents respond far better to WhatsApp reminders than to calls during work hours.

  • Guest-house confirmations in Varanasi

    Varanasi guest houses and ghat-side hotels log bookings in sheets and send arrival details and directions on WhatsApp the day before check-in.

  • Tour booking updates in Agra

    Agra tour operators and cab services track daily pickups in a sheet and message drivers’ details and timings to visitors automatically.

  • Sports goods dispatch in Meerut

    Meerut sports equipment makers note dealer dispatches in shared sheets and want an automatic WhatsApp update with the transporter and LR number.

  • Factory dealer updates in Faridabad

    Faridabad manufacturers run order and dispatch sheets across teams, so a status column that messages the dealer saves hours of calls.

  • Handicraft export orders in Jodhpur

    Jodhpur furniture and handicraft exporters track production stages in sheets and share progress with buyers on WhatsApp as each stage completes.

  • Hotel and wedding bookings in Udaipur

    Udaipur hotels and wedding planners manage guest lists in sheets and send room details and event timings to guests before they arrive.

  • Clinic appointments in Amritsar

    Amritsar clinics and dental practices type the next day’s appointments into a sheet and want Punjabi or English reminders sent each evening.

  • Leather and tool exporters in Jalandhar

    Jalandhar exporters coordinate samples and shipments in sheets and send buyers shipment and document updates without copying details by hand.

  • Distributor collections in Raipur

    Raipur FMCG and steel distributors list retailer dues in sheets and use WhatsApp reminders with the exact outstanding amount and due date.

  • School notices in Ranchi

    Ranchi schools and tuition centres maintain parent lists in Google Sheets and send holiday, exam and fee notices as utility templates.

  • Hospital appointments in Madurai

    Madurai eye and multispecialty clinics see heavy daily footfall, so Tamil appointment reminders from a sheet cut no-shows and front-desk calls.

  • Diagnostic reports in Vijayawada

    Vijayawada labs note sample status in sheets and send a report-ready message the moment a technician marks a row complete.

  • Garment orders in Tiruppur

    Tiruppur knitwear units track buyer orders and production stages in sheets and want each stage change shared with the buyer on WhatsApp.

  • Tea and timber traders in Siliguri

    Siliguri traders serving the North East and Nepal log orders in sheets and send dispatch and payment reminders to buyers automatically.

  • Retail deliveries in Mangaluru

    Mangaluru grocers and bakeries taking WhatsApp orders keep a delivery sheet and send out-for-delivery messages as riders leave.

How it works

How we connect your Google Sheet to WhatsApp

  1. Share a copy of the sheet

    Send a copy with dummy data and tell us which change should trigger which message. A screen recording of how staff use it helps even more.

  2. Agree templates and rules

    We draft template wording around your columns, decide skip rules and schedules, and send an itemised quote within about two working days.

  3. Set up the WhatsApp side

    Your WABA and number in your Meta business portfolio, templates submitted, token created with only the permissions the sender needs.

  4. Build the sender and relay

    Apps Script sender with locks and status columns, then the webhook relay that writes delivered, read and failed back to rows.

  5. Test on real phones

    We send to your team’s numbers first, then a small batch of real customers, checking wording, dates and failure handling.

  6. Hand over and support

    You get a video walkthrough and notes on each trigger. Two months of maintenance are included free after handover.

Questions

Sending WhatsApp messages from Google Sheets: questions people ask

Can I send WhatsApp messages from Google Sheets for free?

Apps Script is free, but WhatsApp messaging through the official API is not. Meta charges per delivered template message, with rates depending on category and country. Replies inside a 24-hour customer service window are free, and utility templates sent while that window is open are free too. Free browser tools that automate WhatsApp Web avoid Meta’s charges but break WhatsApp’s terms and put your number at risk.

How do I send WhatsApp message from Google Sheets automatically?

Write an Apps Script that reads rows ready to send, fills an approved template with column values and calls Meta’s WhatsApp Cloud API with UrlFetchApp. Then add a time-driven trigger that runs every few minutes, or an installable on-edit or form-submit trigger for instant messages. A status column prevents duplicates and records what happened to each message.

Do I need the WhatsApp Business API to send from Google Sheets?

Yes, for anything reliable and within the rules. The free WhatsApp Business app has no API, so the only way to automate it is through unofficial browser tools, which WhatsApp does not allow. The WhatsApp Business Platform, accessed through Meta’s Cloud API or a provider, is the official route and requires approved templates for business-initiated messages.

Why doesn’t my onEdit function send WhatsApp messages?

Google’s documentation says simple triggers like onEdit cannot use services that need authorisation and must finish within 30 seconds. Calling an external API requires authorisation, so the call fails. Create an installable on-edit trigger instead, or better, use a time-driven trigger. Also note that edits made by scripts or APIs never fire edit triggers at all.

How do I use sheet columns as WhatsApp template variables?

Approve a template with numbered variables such as {{1}} and {{2}}, then map each variable to a column in your script. Format dates and amounts explicitly, because raw cell values can show as long timestamps or unrounded numbers. Decide what happens when a cell is empty: use a default, skip the row, or flag it for staff.

Can Google Sheets show whether a WhatsApp message was delivered or read?

Yes, with a webhook. The send call only confirms Meta accepted the message; delivered, read and failed arrive later as webhook events. A small relay receives them, finds the row by the stored message ID and writes the status and time. Failed rows can show the reason, such as the number not being on WhatsApp.

How many WhatsApp messages can I send from Google Sheets per day?

Both Google and Meta set limits. Google gives consumer accounts 20,000 URL Fetch calls a day and Workspace accounts 100,000, with a 6-minute limit per execution. Meta starts a new business portfolio at 250 unique recipients per 24 hours outside service windows, rising in steps to unlimited as your quality holds. For most small businesses, Meta’s limit is the one that matters.

Is it safe to put my WhatsApp API token in Google Sheets?

Not in a cell. Anyone who can view the sheet could copy it and send messages from your number. Store it in Script Properties, which staff with view access to the sheet cannot see, and use a system-user token with only messaging permissions. Review sharing settings on the sheet, and rotate the token if someone with editor access leaves.

Can I send bulk WhatsApp messages from a Google Sheet?

You can send WhatsApp message from Google Sheets in bulk technically, but only to people who opted in, and within your messaging limit. Sending a promotional template to an old contact list tends to trigger blocks and reports, which can lower your number’s quality and limit. Use the sheet for reminders and updates people expect; plan real campaigns separately with segmented lists and marketing templates.

How much does a Google Sheets to WhatsApp setup cost?

With BtechWaleTech, a sheet-driven WhatsApp sender starts at ₹40,000, covering the Apps Script sender, template mapping, a trigger schedule and a status column. A webhook relay for delivery status, several templates, multiple sheets or WhatsApp account setup add to the quote. Meta’s per-message charges are separate and billed to your own account.

Can I send WhatsApp messages from Google Forms responses?

Yes. Form responses land in a linked sheet, and an installable form-submit trigger can send a confirmation template straight away using the answers as variables, such as name, slot and venue. Make the form collect the phone number in a consistent format and include a consent checkbox that names your business, so every message has a clear opt-in behind it.

Will sending from Google Sheets get my WhatsApp number banned?

Not if you use the official API, approved templates and opted-in contacts. Bans and restrictions usually come from unofficial tools that automate WhatsApp Web, or from messaging people who never agreed and then block or report you. Honour opt-outs, keep templates factual, and increase volume gradually so your messaging limit grows with your quality rating.

Should I use Zapier or Make instead of Apps Script?

Use a no-code tool if you want to manage it yourself and accept a monthly fee that grows with tasks. Use Apps Script if the logic is row-based, you want no extra subscription and someone can maintain a short script. For high volume, many editors or two-way chat, a small server app beats both. We build all three and will recommend the lightest one that works.

Can I schedule WhatsApp messages from Google Sheets for a specific time?

Yes. Add a “Send at” column and a time-driven trigger that runs every few minutes and sends rows whose time has passed. Apps Script triggers are not exact to the second, so expect a few minutes of variation. For reminders like “one day before the appointment”, a daily morning run that picks tomorrow’s rows is simpler and more predictable.

Can customers reply when I send WhatsApp message from Google Sheets?

Yes. Replies arrive at your WhatsApp Business Platform number and open a 24-hour window in which you can respond freely. They do not appear in the sheet unless you build that; the webhook relay can log replies in a separate tab, and a shared inbox or CRM works better if your team handles many conversations each day.

Does it work with Excel instead of Google Sheets?

Apps Script only runs in Google Workspace files. For Excel, the options are Power Automate with Excel Online, a VBA or Office Script solution, or importing the Excel file into Google Sheets on a schedule. We usually suggest moving the working list to Google Sheets if sending is the main goal, since the setup is simpler and runs without a desktop being on.

Who owns the script and WhatsApp number after the project?

You do. The sheet and script sit in your Google account, the WhatsApp Business Account and number sit in your Meta business portfolio, and the relay runs in your cloud account. We use access you grant and remove it at handover if you wish. You also get notes explaining each trigger and column so another developer can maintain it.

What support do you give after the sheet automation goes live?

Two months of maintenance after handover are included free, covering fixes and small adjustments such as a new template variable. After that, maintenance starts at ₹8,000/mo if you want us to continue. Bigger changes like new sheets or a move to a server app are quoted separately and only start after your written approval.

How do I pay for a Google Sheets WhatsApp automation?

In India, by UPI or bank transfer; outside India, in USD by Wise, bank wire or PayPal. The payment stages are written into your quote before work starts. Meta’s message charges are paid by you directly to Meta, and Google Workspace, if you use it, is billed by Google, so there is no markup from us on either.

Google Sheet se WhatsApp message kaise bheje?

Iske liye WhatsApp Business Platform ka number, Meta se approved template aur Google Apps Script chahiye. Script har row padhkar columns ki values template mein bharti hai aur Cloud API ko bhejti hai. Trigger roz ya har kuch minute mein chal sakta hai, aur status wapas sheet mein likha jata hai. BtechWaleTech yeh setup 2–4 hafte mein karta hai.

Next step

Want your sheet to message customers on its own?

Share a copy of your sheet with dummy data and tell us which change should send which message. You will get an itemised quote in about two working days.