Google Sheets to WhatsApp integration, step by step
Connect a Google Sheet to WhatsApp and send one personalised message per row: how to lay out the sheet, share it, write the brief and check it first.
- Written by
- By WavesFlo team
- Last updated
- Updated
- Reading time
- 5 min read
To send WhatsApp messages from Google Sheets, put one offer per row under a header row, share the sheet as Anyone with the link with Viewer access, and connect it to a tool that reads the rows. In WavesFlo, a deal campaign reads the sheet and writes one personalised message per row for the groups or contacts you choose.
Most offers already live in a spreadsheet: a product, a price, a location, a deadline, one row each. Writing a WhatsApp message for every row by hand does not scale, and pasting the same message to everyone wastes the detail the sheet already holds.
Can each row get its own WhatsApp message?
Yes, and that is the difference between the two kinds of campaign:
- A deal campaign reads a connected Google Sheet and writes one message per row, personalised from that row's own data.
- A push campaign is one announcement, written once and sent as typed.
Both run through the same targeting, scheduling, approval and pacing. The choice is about where the words come from, not how carefully they are sent.
Three ways to write the message
- Generated: write instructions once, and a message is drafted for every row.
- Saved: reuse a message from your library, for the things you send again and again.
- Custom: type the message yourself and send it exactly as written. The WhatsApp text formatter previews bold, italics and lists before you paste it in.
How do I connect a Google Sheet to WhatsApp?
- Put column names in the first row, and one offer per row below it: product, price, place, deadline, link. Keep one kind of offer per sheet.
- In Google Sheets, click Share. Under General access, choose Anyone with the link, and set the role to Viewer.
- Copy the link, start a deal campaign, and paste it as the campaign's sheet.
- Preview a few rows to confirm every column was read the way you meant.
| Setting | What it means | Can a deal campaign read it? |
|---|---|---|
| Restricted | Only people with access can open it, such as those you added by email address | No. WavesFlo never signs in to your Google account, so it can't open the sheet |
| Anyone with the link, Viewer | Anyone who has the link can open it without signing in to Google, and can view it but not comment or edit | Yes. This is the setting to use |
| Anyone with the link, Editor | Anyone who has the link can also edit the sheet and share it | Yes, but anyone holding the link could change a price before the next run. Use Viewer |
| A work or school account | Google says you might not be able to share files outside your organisation | Only if Anyone with the link is available to you. If it isn't, ask whoever manages your organisation's Google accounts |
A worked example
A travel reseller keeps this week's offers in a sheet. Each row becomes one message, and the instructions below tell the model what to use from it.
product,price,city,deadline,link
Goa 3N/4D package,"₹14,999",Goa,30 Sep,https://example.com/goa
Kerala houseboat night,"₹8,499",Alleppey,2 Oct,https://example.com/keralaOur Goa 3N/4D package is ₹14,999 this week. Book by 30 Sep to hold your dates: https://example.com/goaThe price, date and link come from the row word for word; only the wording around them is written for you. Change the price in the sheet and the next run uses the new one.
Writing instructions a model can follow
Generated messages are only as good as the instructions behind them. Treat the instructions like a brief to a careful copywriter who has never met your customers:
- Name the columns that matter: which one is the product, which is the price, which is the deadline.
- Set the tone and the length. "Friendly, two short sentences" is a usable instruction; "make it good" is not.
- State the call to action, and where it should point.
- Say what must never change. Prices and dates should come from the sheet, word for word.
Announce the offer in the row in a friendly tone, in two short sentences.
Use the product name and price exactly as they appear in the sheet.
End with: Reply YES to reserve before the deadline in the row.How do I check the messages before they send?
- Preview messages generated against your real rows. Nothing is queued while you preview.
- Run the pre-send check. It reports the problems that would stop the campaign, so you fix them first.
- Add an approval step if someone else should sign off before the first message leaves.
- Send a test to your own phone, and read it the way a customer would.
What happens when the sheet changes?
Update the sheet and the next run picks up the change. Prices, stock and deadlines stay in one place, and the messages follow them instead of drifting from them. If your offers live in Excel instead, Power Automate can send from an Excel table; if you'd rather build the workflow yourself, n8n's Google Sheets Trigger can start one on Row added, as in these n8n workflows for WhatsApp groups. For a broker's version of this workflow, see WhatsApp marketing for real estate.
When the audience is a set of WhatsApp groups rather than contacts, each row's message is posted into the groups you picked; sending one message to many WhatsApp groups covers timing and per-group reports. Bring a ten-row sheet to a demo and we will build a real campaign from it during the call.
Going the other way, you can log every incoming WhatsApp chat into a Google Sheet. For dues and renewals, see payment reminder messages on WhatsApp.
Questions
Can I send personalised WhatsApp messages from a Google Sheet?
Yes. In WavesFlo, a deal campaign reads a connected Google Sheet and drafts one message per row from that row's own data.
Do I have to use generated messages?
No. A WavesFlo campaign can use generated messages, a saved message from your library, or a message you type and send exactly as written.
How do I check messages before they are sent?
In WavesFlo, preview them against your real rows, run the pre-send check, add an optional approval step, and send a test to your own phone.
Does WavesFlo need access to my Google account?
No. You share the sheet as Anyone with the link, with Viewer access, and paste the link. WavesFlo reads it through that link and never writes to it.
Where do the recipients come from?
From the campaign's targeting, not the sheet: the WhatsApp groups your numbers belong to, or a contact list you uploaded. The sheet supplies what each message says.