P
PayPerWA
Back to Blog
Guide

How to Connect WhatsApp to Google Sheets & Automate Messages (2026)

Connect WhatsApp to Google Sheets to auto-send messages from rows, run daily reminders and log replies. Three approaches, an Apps Script example and real costs.

PayPerWA Team12 June 202613 min read
Connecting WhatsApp to Google Sheets to automate message sending from a spreadsheet
Turn a Google Sheet into a no-code engine that sends WhatsApp messages automatically through the PayPerWA API.

Key Takeaways

  • Google Sheets is the simplest no-code data source for triggering WhatsApp messages to your contacts.
  • Three approaches: CSV import, the PayPerWA API with Apps Script, or no-code tools like Zapier, Make or Pabbly.
  • A single Apps Script function can read a row and send a WhatsApp template through PayPerWA's send API.
  • Costs follow the same breakout rule: Meta ₹0.86 for marketing or ₹0.13 for utility, plus PayPerWA ₹0.20.
  • Always store API keys in script properties or environment variables, never hardcoded in the sheet.

Why connect WhatsApp to Google Sheets

Connecting WhatsApp to Google Sheets lets you turn a simple spreadsheet into an automated messaging engine, so every new row or scheduled trigger can send a WhatsApp message without manual work. For most Indian small businesses, Google Sheets is already where leads, orders, bookings and customer data live. Wiring it to WhatsApp means your data does the messaging for you.

The appeal is that Sheets is free, familiar and requires no database. Your sales team adds a lead, a form populates a row, or you paste a list, and an automation sends the right WhatsApp message at the right time. There is no app to build and no server to maintain.

Common goals include sending a welcome template to every new lead row, firing daily appointment or payment reminders from a schedule sheet, and logging incoming customer replies back into a sheet for your records. With PayPerWA you pay only ₹0.20 per message plus Meta's standard charge, with no subscription, so a Sheets-driven workflow stays cheap even at scale.

The three ways to connect Sheets to WhatsApp

There are three practical approaches to connect Google Sheets to WhatsApp, ranging from zero-code to a light script, and the right one depends on your volume and technical comfort. Here is how they compare.

ApproachEffortNo-code?Best for
1. CSV import to PayPerWALowestYesOne-off bulk campaigns from a static list
2. PayPerWA API + Apps ScriptMediumNo (light code)Live triggers, full control, free Google tooling
3. Zapier / Make / PabblyLowYesConnecting many apps without writing code

If you just want to message a fixed list once, use CSV import. If you want real automation that reacts to new rows or runs on a schedule, use Apps Script or a no-code tool. We cover all three below. For broader patterns, see our WhatsApp marketing automation guide.

Approach 1: CSV import (the no-code starting point)

The simplest way to send WhatsApp from a Google Sheet is to export it as CSV and import it into PayPerWA, which needs zero code or integrations. This is ideal when you have a one-time list, such as event attendees or a promotional segment, and want to send a single campaign.

The steps are:

  1. In Google Sheets, arrange columns for name, phone number, and any template variables.
  2. Go to File, Download, Comma-separated values (.csv).
  3. In PayPerWA, open Contacts, Import, and upload the CSV.
  4. Map the columns to contact fields and custom fields.
  5. Create a campaign, pick your approved template, and send.

Cost: the same breakout rule applies. A marketing campaign costs Meta ₹0.86 + PayPerWA ₹0.20 = ₹1.06 per message, and a utility campaign costs Meta ₹0.13 + PayPerWA ₹0.20 = ₹0.33. The downside is that it is manual and static. For anything that should run automatically, move to approach 2 or 3.

Approach 2: PayPerWA API with Google Apps Script

The most flexible and free way to automate WhatsApp from Google Sheets is Google Apps Script calling the PayPerWA send API, which lets a spreadsheet send messages on triggers you control. Apps Script is built into every Google Sheet, runs on Google's servers at no cost, and can react to new rows, run on a daily schedule, or fire from a button.

The flow is straightforward: your script reads a row, builds a request with the contact's number and template details, and sends it to PayPerWA's API endpoint with your API key in the header. PayPerWA queues the message and delivers it through the Meta Cloud API. Full endpoint details are in the API documentation.

Here is a small illustrative script that reads the first unsent row and sends a template:

function sendWhatsAppFromSheet() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const data = sheet.getDataRange().getValues();
  const apiKey = PropertiesService
    .getScriptProperties()
    .getProperty('PAYPERWA_API_KEY');

  for (let i = 1; i < data.length; i++) {
    const name = data[i][0];
    const phone = data[i][1];
    const status = data[i][2];
    if (status === 'SENT') continue;

    const payload = {
      to: phone,
      template: 'welcome_lead',
      variables: { name: name }
    };

    const res = UrlFetchApp.fetch(
      'https://payperwa.com/api/v1/messages/send',
      {
        method: 'post',
        contentType: 'application/json',
        headers: { 'Authorization': 'Bearer ' + apiKey },
        payload: JSON.stringify(payload),
        muteHttpExceptions: true
      }
    );

    if (res.getResponseCode() === 200) {
      sheet.getRange(i + 1, 3).setValue('SENT');
    }
  }
}

This script loops through rows, skips any already marked SENT, sends the template for the rest, and writes SENT back so the same contact is never messaged twice. You can attach it to an onChange trigger for new rows or a time-driven trigger for a daily run.

Google Apps Script editor calling the PayPerWA API to send a WhatsApp message from a sheet row
A short Apps Script reads each row and calls PayPerWA's send API. Keep the API key in Script Properties, never in a cell.

Approach 3: No-code tools like Zapier, Make and Pabbly

If you prefer never to touch code, no-code automation platforms like Zapier, Make and Pabbly Connect can link Google Sheets to PayPerWA's API using visual workflows. These tools let you build a trigger-and-action automation by clicking through menus instead of scripting.

A typical no-code workflow looks like this:

  1. Trigger: New row added in a Google Sheet.
  2. Action: Send an HTTP POST request to PayPerWA's send API (a Webhooks or HTTP module), passing the row's phone and variables.
  3. Optional: Update the row to mark it sent.

Pabbly Connect is especially popular in India because of its one-time pricing, while Zapier and Make offer the widest app catalogues. The trade-off versus Apps Script is a monthly fee for the automation tool itself, on top of your PayPerWA message costs. Choose this route if you want to connect many apps together, not just Sheets and WhatsApp. PayPerWA's webhooks and API work with all three.

Use case: send a template to every new row

The most common Sheets-to-WhatsApp automation is messaging every new lead the moment their row is added, which gives a fast, professional first touch. When a website form, ad lead or manual entry creates a row, an automation instantly sends a welcome template.

Example welcome message:

  • Hi Rahul, thanks for your interest in FitZone Gym! Our team will call you shortly. Meanwhile, reply MENU to see our membership plans and trial offer.

How it works: an onChange trigger in Apps Script, or a New Row trigger in Zapier, fires the moment the row appears. The script sends the welcome template via the PayPerWA API and marks the row SENT. Because this is a business-initiated marketing message, it costs Meta ₹0.86 + PayPerWA ₹0.20 = ₹1.06. If the lead replies, your follow-ups within 24 hours are free from Meta and only ₹0.20 from PayPerWA. This is the backbone of fast lead response, similar to our welcome automation guide.

Use case: daily reminders from a schedule sheet

A schedule sheet plus a daily time-driven trigger is a powerful way to send appointment or payment reminders automatically without any campaign tool. Keep a sheet where each row has a date, name, number and reminder text. A script that runs every morning sends reminders for rows due that day.

Example reminder:

  • Reminder: your dental check-up at SmileCare is today at 11:00 AM. Reply CONFIRM or call us to reschedule.

How it works: set an Apps Script time-driven trigger to run, say, at 8 AM daily. The script filters rows where the date equals today and sends each a utility reminder. These cost Meta ₹0.13 + PayPerWA ₹0.20 = ₹0.33 each, the cheapest message type. This pattern works beautifully for clinics, salons and tuition centres. See our deep dive on appointment reminder automation.

Use case: log incoming replies back to a sheet

You can also push data in the other direction by logging every incoming WhatsApp reply into a Google Sheet using PayPerWA webhooks, giving you a live record of conversations. Instead of Sheets sending messages, here PayPerWA notifies your sheet whenever a customer replies.

The flow is:

  1. Deploy a Google Apps Script web app, or a Zapier or Make webhook, that receives POST data and appends a row.
  2. In PayPerWA, set this URL as your incoming-message webhook.
  3. When a customer replies, PayPerWA sends the message details to your webhook, which writes name, number, text and timestamp into the sheet.

This is invaluable for tracking lead responses, survey answers or keyword replies in one place your whole team can see. There is no per-message Meta cost for receiving, and customer-initiated replies you answer within 24 hours are free from Meta, costing only the ₹0.20 PayPerWA platform fee. The full webhook payload format is in the docs.

Understanding the costs

Connecting Sheets to WhatsApp does not change PayPerWA's pricing, the same transparent breakout rule applies to every message your automation sends. There is no subscription and no extra fee for using the API or webhooks.

Message sent from your sheetMeta feePayPerWA feeTotal
Marketing template (welcome, promo)₹0.86₹0.20₹1.06
Utility template (reminder, confirmation)₹0.13₹0.20₹0.33
Auth template (OTP)₹0.13₹0.20₹0.33
Session reply within 24h windowFREE₹0.20₹0.20

One nuance worth knowing for automated flows: Meta only charges on business-initiated template messages. A reply you send inside the customer's 24-hour window has no Meta fee, but PayPerWA still applies its ₹0.20 platform fee per message. If you only ever send a few template categories, your cost is fully predictable. Top up your prepaid wallet via UPI on the pricing page.

Keep your API keys secure

The single most important security rule is to never hardcode your PayPerWA API key in the spreadsheet or share it in a cell, because anyone with access to the sheet could then send messages on your account. Treat the key like a password.

  • In Apps Script, store the key in Script Properties (Project Settings, Script Properties) and read it with PropertiesService, exactly as shown in the example above. It never appears in the sheet or the visible code.
  • In Zapier, Make or Pabbly, store the key in the connection or environment settings, not in a plain text step.
  • Never commit keys to public repositories or paste them into chat or email.
  • Rotate the key from your PayPerWA dashboard if you ever suspect it leaked, which instantly invalidates the old one.

Following these rules keeps your wallet and your customer data safe even if many people can view the underlying sheet. PayPerWA lets you generate and revoke API keys from the dashboard at any time. Review the security notes in the API documentation.

Limits and best practices

To keep a Sheets-to-WhatsApp automation reliable and compliant, follow a few best practices that prevent errors, duplicate sends and Meta penalties.

  1. Always mark rows as sent. Write a SENT status back so re-runs never message the same person twice.
  2. Respect WhatsApp's rate limits. PayPerWA's queue handles up to 80 messages per second, but Apps Script has its own quotas, so batch large sends.
  3. Validate phone numbers in E.164 format with the country code, for example 919876543210, before sending.
  4. Use approved templates for all business-initiated messages, and pick the correct category to control cost.
  5. Honour opt-outs. PayPerWA blocks contacts who reply STOP automatically, so never override that in your script.
  6. Test with a small batch of your own numbers before sending to the full list.

For very high volume or complex logic, the API approach gives you the most control, while no-code tools are perfect for getting started quickly. Either way, PayPerWA handles delivery, retries and opt-out compliance for you. See more controls on the features page.

Getting started in 10 minutes

You can have a working Google Sheets to WhatsApp automation running in about 10 minutes by combining a free PayPerWA account with a short Apps Script. Here is the fastest path:

  1. Sign up free at payperwa.com and verify your number.
  2. Connect your WhatsApp number via Embedded Signup in about 2 minutes.
  3. Create and submit a template (for example, a welcome message) for Meta approval.
  4. Generate an API key from your PayPerWA dashboard.
  5. Open Extensions, Apps Script in your Google Sheet, paste the example script, and save the key in Script Properties.
  6. Run it once with your own number to test, then add a trigger for live automation.

Because PayPerWA is prepaid with no subscription, you only pay for the messages your sheet actually sends. Start with a small wallet recharge, prove the workflow, then scale. If you want to go beyond Sheets, the same API powers reminders for clinics, gyms and salons and spas.

Frequently Asked Questions

Can I send WhatsApp messages directly from Google Sheets?+
Yes. Using Google Apps Script, your sheet can call the PayPerWA send API to message any row. Apps Script is built into every Google Sheet, runs free on Google's servers, and can trigger on new rows or a daily schedule. No external server is needed.
Do I need coding skills to connect WhatsApp to Google Sheets?+
Not necessarily. CSV import to PayPerWA needs no code at all. No-code tools like Zapier, Make and Pabbly Connect link Sheets to WhatsApp visually. Only the Apps Script approach needs a short script, and you can copy a ready example like the one in this guide.
How much does it cost to send WhatsApp from Google Sheets?+
PayPerWA charges ₹0.20 per message plus Meta's standard rate, with no subscription. A marketing template costs Meta ₹0.86 + PayPerWA ₹0.20 = ₹1.06, a utility template costs Meta ₹0.13 + PayPerWA ₹0.20 = ₹0.33, and a reply within the 24-hour window costs just the ₹0.20 platform fee. Using the API or webhooks adds no extra fee.
Is it safe to put my API key in Google Sheets?+
Never put the key in a cell or visible code. In Apps Script, store it in Script Properties and read it with PropertiesService. In no-code tools, store it in the connection settings. You can revoke and rotate keys anytime from your PayPerWA dashboard if one is ever exposed.
Can I log WhatsApp replies back into a Google Sheet?+
Yes. Set up a Google Apps Script web app or a Zapier or Make webhook that appends a row, then point PayPerWA's incoming-message webhook at that URL. Every customer reply is written to your sheet with name, number, message and timestamp for a live record.
What is the best tool: Apps Script, Zapier, Make or Pabbly?+
Apps Script is free and best if you only need Sheets and WhatsApp and are comfortable pasting a small script. Pabbly Connect is popular in India for its one-time pricing. Zapier and Make are best if you want to connect many other apps. All work with PayPerWA's API and webhooks.
Can Google Sheets send daily WhatsApp reminders automatically?+
Yes. Keep a schedule sheet with dates, and add a time-driven Apps Script trigger that runs each morning, sending reminders for rows due that day. These are utility messages at Meta ₹0.13 + PayPerWA ₹0.20 = ₹0.33 each, ideal for clinics, salons and tuition centres.
Will the same person get messaged twice if my script re-runs?+
Not if you write a SENT status back to the row after sending and skip rows already marked SENT, as shown in the example script. This idempotency check is the single most important best practice for any Sheets-to-WhatsApp automation.

Ready to Start WhatsApp Marketing?

No subscription. No monthly fee. Just ₹0.20 per message.

Share this article

P

PayPerWA Team

We build India's most affordable WhatsApp marketing platform. No subscriptions, no hidden fees — just 20 paisa per message.

Try PayPerWA — Just 20 Paisa Per Message

No subscription. No monthly fee. Just ₹0.20 platform fee + Meta's standard API charges.

Start Free Trial

Related Articles

Chat with us