Google Sheets Add-on
Message the rows of a Google Sheet on WhatsApp — approved templates with per-row personalisation, free-form text/media, and bulk contact import — without leaving the spreadsheet.
What you can do
- Pick a phone-number column and message selected rows or all rows.
- Map spreadsheet columns to template {{1}}, {{2}} … variables — every recipient gets a personalised message.
- Send free-form text, image, or document messages (media/text within Meta's 24-hour customer-service window).
- Upload media for template headers or free-form messages.
- Bulk-import rows as CRM contacts — map columns to contact fields, create or update in one click.
Every send is logged in your dashboard under Integrations → Google Sheets & Excel → Activity and appears in Live Chat and Sent History like any other outbound message.
Prerequisites
- A MotherBot account with at least one connected WhatsApp number.
- A plan that includes the Google Sheets & Excel integration.
- A Google account with edit access to the sheet you want to message from.
Step 1 — Generate your access token
Open the integration
Copy the token
sext_ is shown. Copy it now — it is displayed only once. You can rotate it any time from the same card.Step 2 — Install the add-on
If you installed from the Google Workspace Marketplace, skip to Step 3. To add it manually to a single sheet:
Open a Google Sheet first
Warning
Add the files
Code.gs and an HTML file named Sidebar, then paste in the code from each file. Grab the code from Dashboard → Integrations → Google Sheets & Excel → Install (Copy / Download buttons), or directly:- Code.gs — https://motherbot.io/google-sheets-addon/Code.gs
- Sidebar.html — https://motherbot.io/google-sheets-addon/Sidebar.html
Reload & authorize
Note
appsscript.json— the default manifest auto-detects the permissions the code needs. Only add one if you're packaging the add-on for the Marketplace.Troubleshooting
"PERMISSION_DENIED — reading from storage"
- Open the sheet in an Incognito window signed into ONE Google account, then try again.
- Re-authorize: at myaccount.google.com/permissions remove the add-on, reload the sheet, open it again, and Allow.
- Make sure the script was created from Extensions → Apps Script inside the sheet — not from script.google.com (a standalone Drive script can't read the sheet).
- Do not paste a custom appsscript.json with a narrow oauthScopes list — delete that block and let scopes auto-detect.
The menu never appears
Use it in all your sheets
The steps above add the add-on to one spreadsheet — a container-bound script lives inside that single file, like a macro, so no other sheet can see it. Don't paste the code into every spreadsheet; install it to your account instead:
Install it for your whole account
Give it to your team or customers
Tip
Warning
/u/1), and Google blocks that mismatch. Fix: open the sheet in an Incognito window signed into only that account, or make it your default (sign out of all Google accounts, then sign in with it first). This is a Google limitation, not a MotherBot one.Step 3 — Connect
Open the sidebar
Enter your details
https://motherbot.io) and the sext_ access token, then click Connect. Your organization name and WhatsApp number appear on success.Tip
Step 4 — Send messages
Choose your rows
Pick a message type
Map your columns
{{1}}, {{2}} variable to a column. For free-form, type your message with the same {{1}} placeholders and map them below.Column: Name | City | Phone
Row 2: Priya | Mumbai | 9812345678
Template body: Hi {{1}}, your {{2}} order is ready!
{{1}} → Name {{2}} → City
Priya receives: Hi Priya, your Mumbai order is ready!Send
Warning
Import rows as contacts
Switch to the Import tab
Map fields and import
Admin controls
Everything below is controlled from the dashboard card — no re-install needed:
- Turn individual features on/off (templates, free-form, uploads, bulk send, import).
- Set a daily send limit and a maximum number of rows per send.
- Set a default country code for local numbers with no country code.
- Restrict which WhatsApp numbers the add-on may send from.
- Limit which template categories (Marketing / Utility / Authentication) are allowed.
Tip