Home/Integrations/SMS texting

SMS text messaging from Google Sheets

People miss emails. They read texts, usually within minutes. I connect your sheet to a texting service like Twilio so reminders, confirmations and last-minute changes go out as text messages on their own, and replies come back to the row they belong to.

Connect SMS texting to my sheet

What it can do

Common SMS texting jobs I set up. Yours will match how you use SMS texting today.

Appointment and session reminders

A text the day before and the morning of, built from the date, time and location in the row, and skipped automatically if the row is cancelled.

Confirmations

A text the moment someone books, registers or pays, with the details they need and a link if there's more to read.

Group alerts

Rain-outs, closures, schedule changes or a new opening sent to everyone in a session, crew or list with one menu click.

Two-way replies

Customers reply C to confirm or R to reschedule, and their answer lands in the row next to their appointment.

Staff and crew notices

The tech or coach gets a text when a job or session is assigned to them, with the address and time.

Payment and balance nudges

A short text with a payment link when a balance is due, stopping as soon as the row shows Paid.

How it's built

Apps Script sends each message with a call to the texting service's API, usually Twilio's Messages API, using UrlFetchApp. The script builds the text from the row, sends it, and writes the time, the message ID and the delivery status back to the sheet, so you can see who got what. A time-driven trigger handles scheduled reminders, and a menu item or a status change handles one-off and group sends.

For replies, I usually have a trigger check the service for new inbound messages every minute or few minutes and match each one to a row by phone number. That's more dependable than webhooks into Apps Script, which can't read the signature headers texting services use to prove a request is genuine.

Phone numbers get cleaned into one format before anything is sent, opt-outs are recorded on the row, and nobody on an opt-out list gets texted again. The API keys live in the script's private properties, not in a cell.

Good to know

  • Business texting in the US has registration rules. Sending from a regular 10-digit number needs A2P 10DLC brand and campaign registration, and toll-free numbers need verification. I'll walk you through it, and it can take from a few days to a few weeks to be approved.
  • You need permission to text people. Only text customers who gave you their number for that purpose, and honor STOP replies. I build opt-out handling in, but the consent itself is on you.
  • Texts cost a small amount each, paid to the texting service, not to me. Long messages split into several segments and cost more, so I keep templates short.
  • Your personal cell number or a Google Voice number can't be used. Google Voice has no API for sending texts, so messages go out from a number you get through the texting service.

SMS texting questions

Which texting service do you use?

Usually Twilio, because it's widely used and well documented. Other services with an API, like Telnyx or ClickSend, work too if you already have an account.

Can customers text back?

Yes. Replies are pulled into the sheet and matched to the customer's row, and you can get an email or a text when a reply comes in.

Can I text a whole group at once?

Yes. Pick a session, crew or filter, review the list and send. Each person gets their own text, with their name and details filled in.

How do people stop the texts?

They reply STOP. The texting service blocks further messages to that number, and the script marks the row so they're left out of future sends.

Tell me what your sheet needs to do

A few sentences is enough to start. I'll reply with questions, then a plan and a fixed quote.