The Scenario
Your e-commerce platform just dispatched 300 orders. Each customer has a unique tracking number. You have the full list in a Google Sheet: phone numbers in column A, tracking numbers in column B. MSG91 template 'SHIPMENT_UPDATE' is approved with a single variable slot for the tracking number. The expectation — from your ops lead and from your customers — is that every person gets the right number in their message.
This is the third time this week you've needed to run a similar send.
The bad version:
- Export the sheet to CSV, open MSG91 Segmento's bulk import, upload, discover the template variable column isn't being picked up because the header name in your export doesn't match MSG91's expected field name.
- Rename the column, re-export, re-upload, re-map.
- Submit — three rows fail because the tracking numbers contain a dash that MSG91 strips, creating a mismatch. Find those three rows manually.
The send eventually goes out. But you spent 45 minutes on a task that should have taken two.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads the sheet, substitutes your tracking numbers into the MSG91 template variable, and fires the send for every row.
For each row in this sheet, send an MSG91 SMS using the phone number in column A, the template 'SHIPMENT_UPDATE', and the tracking number from column B as the variable.
What You Get
- Each row generates one MSG91 send call, with the tracking number from column B substituted into the template variable.
- Delivery status for each row is returned inline — success or failure with the error reason.
- No rows are skipped silently — SheetXAI reports failures cell by cell so you know exactly which tracking numbers didn't go out.
What If the Data Is Not Quite Ready
Tracking numbers contain characters MSG91 rejects
For each row, strip any dashes or spaces from the tracking number in column B, then send an MSG91 'SHIPMENT_UPDATE' SMS to the phone number in column A with the cleaned tracking number as the variable, and write the result to column C.
Some rows are already sent from a prior run
Skip any rows in column C marked 'sent', and for all remaining rows send an MSG91 'SHIPMENT_UPDATE' SMS to the phone number in column A with the tracking number from column B as the variable, writing the result to column C.
First name and tracking number are both needed as template variables
For each row, send a personalised MSG91 SMS to the phone number in column A using the template 'SHIPMENT_UPDATE_V2', substituting the first name from column C and the tracking number from column B as the two variables, and write the status to column D.
Validate, clean, personalise, and send in one pass
Check column A for valid phone number format, flag invalid numbers in column D, then for all valid rows strip non-numeric characters from the tracking number in column B and send an MSG91 'SHIPMENT_UPDATE' SMS with it as the variable — write the send result to column E.
One instruction handles the validation, the cleaning, and the send — you're not stitching three manual steps together.
Try It
Get the 7-day free trial of SheetXAI and open your dispatch sheet, then ask it to send MSG91 shipment notifications to every row with a phone number and a tracking number. See also the spoke on bulk promotional sends or return to the MSG91 hub.
