Skip to content
MotherBot
Integrations

Microsoft Excel Add-in

Message the rows of an Excel workbook on WhatsApp — approved templates with per-row personalisation, free-form text/media, and bulk contact import — from a task pane inside Excel.

What you can do

  • Pick a phone-number column and message selected rows or all rows.
  • Map columns to template {{1}}, {{2}} … variables — every recipient gets a personalised message.
  • Personalise the header too: a text header's own {{1}} maps to a column, and an image/video/document header can take its link from a column, so every row gets its own picture, PDF, or video.
  • Map a dynamic link button's value to a column — each recipient's button opens their own URL.
  • 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.

Works in Excel on Windows, Mac, and the web — anywhere Office Add-ins run. Every send is logged under Integrations → Google Sheets & Excel → Activity and appears in Live Chat and Sent History.

Prerequisites

  • A MotherBot account with at least one connected WhatsApp number.
  • A plan that includes the Google Sheets & Excel integration.
  • Microsoft Excel (Microsoft 365, Excel 2016+, or Excel on the web).

Step 1 — Generate your access token

1

Open the integration

In your MotherBot dashboard go to Integrations → Google Sheets & Excel and click Connect.
2

Copy the token

A one-time access token starting with 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-in

The add-in installs from a manifest file rather than from a store listing. Download it here — you can do this before or after generating the token:

Download manifest.xml
1

Open the upload dialog

In Excel (desktop): Home → Add-ins → More Add-ins → My Add-ins → Upload My Add-in.
In Excel on the web: Insert → Office Add-ins → Upload My Add-in.
2

Choose the file you just downloaded

Pick manifest.xml in the upload dialog. The same file is on the Dashboard → Integrations → Google Sheets & Excel card.
3

Open the pane

A MotherBot → WhatsApp button appears on the Home ribbon. Click it to open the task pane.

Note

The task pane is hosted by MotherBot, so the same manifest works for every organization — you are identified by the access token you enter, not by the manifest. Nothing in the file is specific to you, so it is safe to pass around your team.

Tip

Rolling it out to everyone? A Microsoft 365 admin can deploy the same manifest org-wide under Microsoft 365 admin center → Settings → Integrated apps → Upload custom apps, and it appears on every user’s ribbon without anyone sideloading it.

Step 3 — Connect

1

Enter your details

In the task pane, paste your Server URL (https://motherbot.io) and the sext_ access token, then click Connect.

Tip

The token is stored in the task pane for your account on this machine. Use Sign out in the pane, or rotate the token in the dashboard, to revoke access.

Step 4 — Send messages

1

Choose your rows

Select rows in the sheet (or pick All), then choose the phone number column. Click ↻ Refresh if you change your selection.
2

Pick a message type and map columns

Choose Template or a free-form Text / Image / Document message, then map each {{1}}, {{2}} variable to a column.
Column:  Name        | City      | Phone
Row 2:   Amit        | Delhi     | 9898989898

Template body:  Hi {{1}}, your {{2}} order is ready!
{{1}} → Name      {{2}} → City

Amit receives:  Hi Amit, your Delhi order is ready!
3

Personalise the header and buttons (optional)

A template's header and its link buttons are separate from the body, so they get their own mapping rows — the pane shows whichever ones your template actually needs:
  • Text header with {{1}} — map it to a column, exactly like a body variable. It is counted separately from the body's {{1}}.
  • Image / video / document header — choose Same for every row (paste a link or upload one file) or From a column (every row's cell holds its own link).
  • Link button — map its value to a column; it is added to the end of the button's approved URL, so each recipient gets their own destination.
Column:  Name   | Phone       | Invoice PDF
Row 2:   Amit   | 9898989898  | https://cdn.you.com/inv/amit.pdf
Row 3:   Priya  | 9812345678  | https://cdn.you.com/inv/priya.pdf

Header media:  From a column → Invoice PDF

Amit gets his invoice attached, Priya gets hers.
4

Send

Click Send WhatsApp messages for a live sent / failed / skipped summary.

Warning

Free-form (non-template) messages can only reach contacts who messaged you in the last 24 hours (WhatsApp policy). Rows outside that window are reported as skipped — use an approved template to reach them.

Tip

Media links in a column must be public. WhatsApp downloads the file from that URL itself, so each cell needs a direct https:// link to the file — not a OneDrive or SharePoint sharing page, and not a filename. The add-in checks every row before anything is sent and tells you how many cells are unusable, so a bad column never costs you messages. If your template was approved with a sample image, rows with an empty cell fall back to it; if it wasn't, every row needs a link.

Tip

Big sheets keep sending after you close the task pane. Above 250 rows the send is handed to our servers instead of being made while you wait: you get a progress line straight away and it fills in as the messages go out, at the pace your WhatsApp number can safely absorb. Failed sends are retried automatically and nothing is ever sent twice. You can close the task pane, or the whole workbook, and come back later. Rows that can never send — an unusable number, a duplicate, a blocked or opted-out contact, a bad media link — are listed immediately rather than at the end.

Import rows as contacts

1

Switch to the Import tab

Click Import contacts in the task pane.
2

Map fields and import

Map columns to contact fields (name, email, city, custom fields, …). The phone column above is used as the key. Existing contacts are updated — blank cells never overwrite existing values, and tags/custom fields merge. Click Import as contacts.

Admin controls

Everything below is controlled from the dashboard card — no re-sideload 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-in may send from.
  • Limit which template categories (Marketing / Utility / Authentication) are allowed.

Tip

Downgrading to a plan without this integration instantly revokes the token — the add-in stops sending until you reconnect on an eligible plan.