Send WhatsApp messages from Google Sheets
The Wap2b add-on for Google Sheets™ sends WhatsApp messages to the rows in your spreadsheet, and writes back whether each one was delivered.
What you need
- A Wap2b account with a WhatsApp number connected
- At least one approved message template
- Funds in your balance
The two free tools, chat links and phone number fixing, need none of these.
Install the add-on
- Open any spreadsheet and go to Extensions → Add-ons → Get add-ons.
- Search for Wap2b and click Install.
- Allow the permissions it asks for.
- Go back to your spreadsheet and open Extensions → Wap2b.
Connect your Wap2b account
- In Wap2b, open Integrations → Google Sheets and click Create key. Copy it. It is shown only once.
- In your sheet, choose Extensions → Wap2b → Wap2b account and paste the key.
The key is saved for you only, not in the sheet. If you share the sheet, each person connects with their own key.
Send to rows in your sheet
- Choose Extensions → Wap2b → Send messages.
- Under Who gets it, pick the column with phone numbers.
- Under Message, pick the number to send from, and a template.
- Match each blank in the template, like
{{1}}, to a column. You can also type a value. - Under Send to, choose the selected rows or all rows. Rows already sent are skipped unless you untick Skip rows already sent.
- Click Check and send.
The check window shows how many people will get the message, the cost, a preview, and any rows that can't be sent, with the reason. Fix those rows or leave them out, then click Send.
Templates with a link button
Templates whose button link changes per person can't be sent from the add-on yet. Send those from Broadcasts.
Read the status column
The add-on adds a Wap2b status column:
| Status | What it means |
|---|---|
| Queued | Accepted by Wap2b, going out shortly. |
| Waiting | Paused. The reason is written next to it, for example add funds to your balance. |
| Sent | WhatsApp has it. |
| Delivered | It reached the person's phone. |
| Read | They opened it. Only shows if they have read receipts on. |
| Failed | It was not delivered. The reason is written next to it. |
| Not sent | The row was never sent, with the reason. |
The status updates by itself about once an hour for three days after a send. To update it now, choose Extensions → Wap2b → Update delivery status.
What each status means in more detail is in Track what happened.
Send to every Google Forms™ response
- Link your form to the sheet. In the form, open Responses → Link to Sheets.
- Open the tab the form writes to, and choose Extensions → Wap2b → Send to Form responses.
- Pick the phone number question, the number to send from, the template, and the columns for its blanks.
- Click Turn on.
Each new response gets your message within a minute, and its row shows the status.
If you rename or delete a column the message uses, sending stops and the row says so. Open Send to Form responses again and set it up with the new column.
Free tools
These work without a Wap2b account. Nothing leaves your sheet.
- Add chat links: adds a link on every row that opens a WhatsApp chat with that
person, with your message already typed. Use
{{Column name}}to put in a row's values. - Fix phone numbers: rewrites numbers in international format, like +919876543210, and marks the ones that are not valid.
If something goes wrong
- "A server error occurred" when the sidebar opens. This is a Google problem when you are signed in to several Google accounts at once. Open the sheet in a private window signed in to one account only.
- Rows stay on Queued. Check your balance, and whether your template is still approved.
- A message failed. See A message failed.
Google Sheets™ and Google Forms™ are trademarks of Google LLC.