Select a range (phone numbers in the first column, message text in the second) and send. Messages go out through your own Twilio account, and every row gets its delivery status written back next to your selection.
Coming soon to Microsoft AppSource. Runs in Excel on Windows and Mac (Microsoft 365) and in Excel on the web, but not on mobile.
=SMS.SEND(A2, B2)
Bulk SMS Sender
| A · Phone | B · Message | C · Status |
|---|---|---|
| +4520304050 | Order 1042 has shipped | queued · SM7f3… |
| +15005550006 | Order 1043 has shipped | queued · SM91b… |
| 20304050 | Order 1044 has shipped | skipped: …missing its country code |
The add-in is not on Microsoft AppSource yet. The quickstart walks through the whole setup, from installing the add-in to the first message landing on a phone.
Sign in inside the task pane with an email address and a password. That is the account the free tier and any subscription hang off. There is no single sign-on: pop-up OAuth is unreliable inside Office webviews.
Paste your Account SID (AC… plus 32 hex characters), your Auth Token, and a From number in E.164 (or a Messaging Service SID starting MG…). Credentials are validated for format before Twilio is ever contacted.
“Test my Twilio setup” finishes by sending a real SMS to a number you enter, so you can see the whole path work end to end. Test sends are not counted against your monthly free messages.
One row is one recipient. The first column of your selection holds the phone number, the second column holds the message text, and any further columns are ignored. Select at least two columns or the add-in will tell you to.
+, a country code, then the number. Spaces, hyphens, parentheses and dots are stripped for you, and a leading 00 is turned into a +. The add-in never guesses a country code.Statuses are written into the column immediately to the right of your whole selection, on the same sheet, row by row.
Bulk SMS Sender is coming soon to Microsoft AppSource. Until it is listed, the quickstart covers installation and setup, and you can email support@innovaapps.ai about early access.
Bulk SMS Sender is a send-only add-in. It turns a range into outbound messages on your own Twilio account and reports back what happened to each row.
Highlight two columns (phone in the first, message in the second) and the task pane previews how many rows are ready and which ones have problems before anything goes out. Rows send one at a time so a failure part-way through is visible per row rather than all-or-nothing.
A running counter tracks the batch, and when it finishes the outcome for every row is written into the column right of your selection: queued · SM… for a sent row, skipped: <reason> for a row that could not be parsed, error: <message> for a Twilio refusal, and duplicate of SM… when the same recipient and body were sent moments ago.
Pick a send time up to a year out and close the workbook. The batch fires from the cloud with Excel shut, up to 500 messages per schedule, and stays cancellable while it is still pending. Scheduled sends are part of the paid plan.
=SMS.SEND(to, body) returns the Twilio message SID, and =SMS.STATUS(sid) does a live Twilio lookup so you can refresh a row to delivered, failed or undelivered. Note that =SMS.SEND sends a real message every time the cell calculates.
Four checks run in order and stop at the first failure, so you always get one thing to fix: are the credentials accepted, is the account active, does the account actually own the From number, and does a real test message arrive. Failures quote the exact Twilio error code and the fix.
Your Account SID and Auth Token are encrypted at rest with AES-256-GCM under a key unique to your account, and are used only to call Twilio on your behalf. Message bodies are not retained after a send. We never relay, resell or mark up messages. Twilio bills you directly at Twilio's own rates.
Three steps. The Twilio account is yours, the sender number is yours, and the per-message bill is Twilio's, not ours.
Open the task pane from the Home ribbon, sign in with your free add-in account, then paste your Twilio Account SID, Auth Token and From number. The From field takes either an E.164 number you own in Twilio or a Messaging Service SID starting MG, in which case Twilio picks the sender number.
The format of each field is checked before Twilio is contacted, so a mistyped SID is caught immediately. Once saved, the credentials are encrypted and the token field is cleared.
Enter your own mobile number and run the four checks. They stop at the first failure and each failure names the cause: a rejected Account SID or Auth Token, a Twilio account that is not active, a From number the account does not own (with the numbers it does own listed), or the exact Twilio error code on the live test send.
The last check texts your phone for real, so you finish setup knowing the whole path works. Test sends are not metered against the free tier.
Select at least two columns, check the preview, and send. A counter tells you how far the batch has got, and when it finishes each row's outcome is written into the column right of the selection. On the paid plan you can hand the same selection to a schedule instead and close the workbook; it fires from the cloud at the time you set.
Statuses in the sheet are Twilio's status at the moment the message was created, usually queued. Nothing polls in the background, so to see a later state recalculate =SMS.STATUS(sid) against the SID in the cell.
Want the full walkthrough? Read the quickstart, the documentation, or the support page.
A desktop or browser copy of Excel and a Twilio account of your own. There is no mobile version: Bulk SMS Sender does not run in Excel on iOS or Android.
Microsoft 365
Microsoft 365
In the browser
Your own, billed by Twilio
An E.164 number you own, or a Messaging Service
Free, email and password
One flat subscription for the add-in. Twilio's per-message fees are separate and are billed by Twilio directly to your own Twilio account.
Enough to wire up your Twilio account and run a real batch before you decide anything. No card.
For campaigns that outgrow 25 messages and for sends that need to happen while the workbook is closed.
Innova Apps charges for the add-in only. Twilio bills your own Twilio account its standard per-message rate for every message you send (fractions of a cent to a few cents depending on the country), and we never relay, resell or mark up that traffic. Pro is billed through Stripe, so card details never reach Innova Apps servers. Paid upgrades are still being switched on; once they are, you start an upgrade from the Upgrade button in the task pane and cancel any time from “Manage billing” there.
The questions people ask before they point a spreadsheet at a phone network.
Because the sender number, the A2P 10DLC registration and the per-message pricing all stay yours. Messages are sent by calling Twilio's API with your credentials, so nothing is relayed, resold or marked up by us, and there is no gateway to be locked into. Twilio bills you directly at its own rates.
Message bodies are not retained after a send. A scheduled message's text is stored only until the schedule runs or is cancelled, and is deleted at that point either way. What we do keep, so the sheet can show results, is the recipient number, the Twilio message SID and the delivery status. Read the privacy policy for the full picture.
Replies go to your Twilio number and are visible in your Twilio console. Bulk SMS Sender is send-only by design: there is no inbound SMS, no reply handling and no STOP or opt-out management in the add-in. Opt-out handling stays on your Twilio number, which is where carriers require it to live.
Yes. It sends a real message every time the cell calculates, and Excel recalculates cells on workbook events. A 60-second window returns the original SID instead of texting someone twice when the same recipient and body come round again, but treat that as a guard rather than a promise, and run campaigns from the task pane.
The same recipient and the same message text were sent within the last 60 seconds, so the original Twilio SID was returned instead of sending again. No second message goes out and nothing is counted against your monthly quota. After the window passes, the same pair sends normally.
A bulk send writes Twilio's status at the moment each message was created, which is normally queued, and nothing polls afterwards. Recalculate =SMS.STATUS(sid) for a live lookup. If messages stay queued and then vanish, US long-code traffic without A2P 10DLC registration is often filtered. Register your brand and campaign in the Twilio console.
E.164: a +, a country code and the number, for example +4520304050. Spaces, hyphens, parentheses and dots are stripped, and a leading 00 becomes a +. A country code is never guessed, so a bare local number is flagged with “is missing its country code” rather than being sent to the wrong country.
No. The spreadsheet is the list. There is no contact management, no segments and no campaign history beyond the per-row statuses in your sheet and the message records that let those statuses be refreshed. You keep, edit and back up the recipient list the way you already keep spreadsheets.
Excel on Windows or Mac with Microsoft 365, or Excel on the web. It does not run on Excel for iOS or Android. You also need your own Twilio account and a free Innova Apps add-in account (email and password) used for sign-in and plan status.
Set up your own Twilio account in the task pane, run the four checks, and send your first batch from a range you already have. Coming soon to Microsoft AppSource.