The Problem With Getting Workbook Data In and Out of MSG91
You have an Excel workbook full of data — opted-in phone numbers, customer names, order IDs, event logs, campaign IDs. You need it flowing into MSG91 to fire campaigns, or you need MSG91's Segmento data flowing back into the workbook for reporting.
MSG91 is good at delivering SMS, WhatsApp, OTP, and voice messages at scale through a structured API. But the bridge between an Excel workbook and that API is not built-in. The default flow is: export a CSV from Excel, reformat it to match MSG91's import requirements, upload it through the Segmento console or call the API manually, then check delivery reports in a separate dashboard.
Below are the four common ways teams handle this. Only the last one scales.
Method 1: CSV Export and Upload
The default for Excel users. Export the relevant columns to CSV, clean up the formatting to match MSG91's expected phone number format, open the Segmento import UI, upload, map your fields, submit.
That works once. The second time you're running a restock alert or an appointment reminder, you pull up the workbook, re-export, re-clean the format issues that always show up (leading zeros dropped, date columns reformatted by Excel, international prefixes stripped), and start again.
MSG91's template variable system is strict — the right value has to land in the right variable slot. Every manual export is another chance for a column to drift, a header to mismatch, or a phone number to fail validation silently.
Method 2: Power Automate
Power Automate has MSG91 connector options. You can wire a trigger on a workbook change or a scheduled run, call the MSG91 send endpoint, and write delivery status back to the workbook.
Quick question — do you know what a flow trigger is? What connector authentication involves? How to handle JSON response parsing and write the results to a specific worksheet column? If those words feel like a different language, this isn't the right path. Skip to Method 3 or 4.
If you're still here: the setup works. You pick your trigger, authenticate to MSG91, map your phone number and template variable columns, test on a single row, handle the status response. It takes a couple of hours if you know what you're doing.
Once running, it runs reliably. The problem is scope.
Power Automate fires one row at a time.
Sending 400 customers through a flow means 400 individual trigger executions — and when row 217 has a malformatted number and fails silently, you won't know until you audit the status column two days later.
You probably just need to get the campaign out before the sale window closes. You probably have no idea how to stand up a Power Automate flow — and frankly it's not what you were hired to do. So the options are: learn it yourself, or flag it to whoever on the team manages automation workflows and wait for a reply that may or may not arrive before the deadline.
And once you need to filter rows by segment, join data from a second worksheet, or summarise before sending — Power Automate's native capabilities don't stretch that far.
Method 3: The Previous Generation — Connector Add-Ons
Until recently, the best option for repeatable Excel ↔ MSG91 workflows was a category of add-ons that let you configure column mappings and save templates. You picked your range, tagged your fields, saved the config, ran it.
That was a real step up. Configs were reusable, output was consistent, the team could hand off without re-explaining the mapping every time.
But you still owned the field logic, the filter rules, the decision about which rows were ready to send. The add-on got the data through — the thinking was still entirely on you. And when your workbook structure shifted — a new column, a renamed header, a second worksheet added — the config broke until someone went back in and fixed it.
This is the previous generation. It worked, but it asked a lot of the operator.
The Easy Way: Using SheetXAI in Excel
There is a different way entirely. SheetXAI is an AI agent that lives inside your Excel workbook. It reads the workbook, understands what you're looking at, and through its built-in MSG91 integration it can push sends or pull Segmento data for you. No template configuration, no automation glue, no reformatting columns before you submit. You just ask.
Example 1: Send a bulk promotional SMS to your opted-in customer list
For each phone number in column A, send an SMS using MSG91 template ID 'SALE2025' with the customer name from column B as the variable, then write 'sent' or the error to column C.
SheetXAI iterates every row, fires the MSG91 send call with the right variable substitution, and writes the delivery outcome back to column C inline.
Example 2: Pull all Segmento campaigns for a quarter-end review
Fetch all campaigns from MSG91 Segmento and list campaign name, type, status, and created date in columns A through D.
The pattern: instead of logging into MSG91 to pull the campaign list and then rebuilding a reference workbook by hand, you ask for both in one prompt. SheetXAI handles the API call, the field extraction, and the write — simultaneously.
Try It
Get the 7-day free trial of SheetXAI and open any Excel workbook with a phone number list or MSG91 Segmento data, then ask it to do one of the tasks above. The MSG91 integration is included in every SheetXAI plan.
More MSG91 + Excel guides
Send Bulk Template SMS to a Phone List From a Google Sheet
Push an entire list of opted-in phone numbers through a MSG91 approved template in one pass, without touching the API console.
Send Personalised SMS Notifications From a Google Sheet
Use per-row variables — tracking numbers, names, dates — to send individualised MSG91 messages across hundreds of recipients at once.
Export MSG91 Segmento Campaign List to a Google Sheet
Pull every Segmento campaign's name, type, status, and created date into a sheet for a fast quarter-end audit.
Export MSG91 Segmento Event Types to a Google Sheet
Fetch every configured event type ID and name into a sheet so you can map them to your analytics or CDP schema without guessing.
Pull Failed Segmento Campaign Events Into a Google Sheet
Retrieve failed event records and failure reasons per campaign ID so you can identify and fix bad data without digging through the MSG91 UI.
Bulk Log User Events to MSG91 Segmento From a Google Sheet
Import hundreds of user purchase or behaviour events from a sheet into Segmento in a single prompt to trigger post-action campaigns.
