Skip to content
OmniChannels.ai

Productivity and operations

Google Sheets + OmniChannels.ai: send messages from a spreadsheet

Connect via API & webhooksConnect via MCPUpdated

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

Connect via API & webhooksConnect via MCP

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. 1

    Request API access

    Request test access and receive an API token. Test sends go only to your own verified numbers.

    Guide: Authentication
  2. 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. 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. 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. 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.

Example workflow

How a typical request moves from Google Sheets to your customer and back.

  1. 01

    Google Sheets

    Rows with numbers, names and message variables

  2. 02

    Apps Script or automation

    UrlFetchApp, n8n, Make or Zapier makes the request

  3. 03

    OmniChannels.ai API

    Sends each message and returns a message ID

  4. 04

    Recipient's phone

    SMS or WhatsApp message delivered

  5. 05

    Status back to the sheet

    Our webhook, via automation, updates the row

1. Google Sheets: Rows with numbers, names and message variables 2. Apps Script or automation: UrlFetchApp, n8n, Make or Zapier makes the request 3. OmniChannels.ai API: Sends each message and returns a message ID 4. Recipient's phone: SMS or WhatsApp message delivered 5. Status back to the sheet: Our webhook, via automation, updates the row

Questions

Is there an official OmniChannels.ai add-on for Google Sheets?

No. You use Apps Script's UrlFetchApp, the Google Sheets steps in an automation tool, or an AI assistant connected to Sheets through its own connector, together with our API or MCP server.

Can Apps Script send WhatsApp messages?

Single SMS is a simple JSON request. WhatsApp and most other channel sends use multipart/form-data, which takes more script code; an automation tool can be simpler.

Can an AI assistant read my sheet through your MCP server?

No. Our MCP server only sends messages and reads templates and delivery reports. The assistant needs its own Google Sheets connection to read the list.

How large a list should I send from a sheet?

Sheets suits small and medium lists. Apps Script and automation tools have their own quotas and run limits, so for large campaigns use our bulk endpoints or the campaigns product instead.

Get API and MCP access

Tell us your channels, countries and use case. An engineer issues test credentials and verifies your test numbers.