In short
Google Sheets connects to OmniChannels.ai through Apps Script, whose UrlFetchApp service can call our REST API with your Bearer token, or through the Sheets steps in n8n, Make or Zapier. You can send SMS or WhatsApp messages to rows and log message IDs and delivery statuses back. An AI assistant connected to both Sheets and our MCP server can do the same on request.
What you can do
Send to a list in a sheet
A script or automation reads name and number columns and sends each row a personalised SMS, marking the row as sent.
Log message IDs and statuses
Store the message ID returned for each send, then let an automation write DELIVERED or FAILED into the same row when our webhook reports it.
New row, new message
When a form response or new row arrives, an automation tool sends an approved WhatsApp template or an SMS confirmation.
Ask an AI assistant to work the sheet
With the assistant connected to Google Sheets through its own connector and to our MCP server, it can read the list and send after you approve.
Try asking
“Read the Riyadh branch tab of my customer sheet and send the Arabic appointment_reminder template to everyone booked for tomorrow.”
Delivery report summary
An assistant connected to our MCP server reads delivery reports and you paste or write the summary into the sheet.
Try asking
“Check the delivery reports for this morning's SMS to the numbers in column B and tell me which ones failed.”
How it connects
Apps Script, built into Google Sheets, can call any HTTPS API with UrlFetchApp, setting the Authorization: Bearer header and a JSON payload. That is enough for single SMS through https://api.broadnet.me/sms/sendSms. Bulk and most other channel sends, including WhatsApp, use multipart/form-data, which needs more script code or an automation tool. Keep the token in Script Properties rather than in a cell, and remember Apps Script's own quotas.
Without code, n8n, Make and Zapier all have Google Sheets steps: a new or updated row starts a flow that makes an HTTP request to our API, and our account webhook can feed statuses back into the sheet. Our MCP server does not read your spreadsheet, so for AI-assistant use the assistant must also be connected to Google Sheets through its own connector.
- Apps Script: UrlFetchApp with a Bearer header and JSON body
- No-code: Google Sheets steps in n8n, Make or Zapier plus an HTTP request
- Statuses back to the sheet: our webhook into an automation tool
- AI assistants: connect them to Sheets and to our MCP server
Set it up
- 1
Request API access
Request test access and receive an API token. Test sends go only to your own verified numbers.
Guide: Authentication - 2
Lay out the sheet
Use one row per recipient with columns for number in international format, message or template variables, status and message ID. Include only people who opted in.
- 3
Choose script or automation
Write an Apps Script function that calls sendSms with UrlFetchApp, or build a flow in n8n, Make or Zapier that reads rows and makes the HTTP request.
Guide: SMS API - 4
Write statuses back
Ask our team to point your account webhook at an automation that finds the row by message ID and updates its status.
Guide: Webhooks and delivery statuses - 5
Test with your own number
Put your verified number in one row, run the send, and check the status column fills in.
Vendor documentation
Google Sheets is a trademark of its owner. OmniChannels.ai is not affiliated with or endorsed by Google Sheets; this page describes a connection built with Google Sheets's own MCP, HTTP or webhook features.

