How to Send Personalized Text Messages from Google Sheets

Send personalized text messages in bulk from Google Sheets using your favorite SMS service

The Document Studio add-on helps you automatically send text messages when a new Google Form is submitted or when new rows are added to Google Sheets. You can thus build workflows that send text reminders when the invoices are due. Or you can get notified instantly when people fill out your Google Forms.

The SMS Workflow

The text messages in Document Studio are sent through Twilio but the app can be integrated with any SMS service as long as the service offers an API for sending text messages programmatically. You may use TextMagic, SimplyTexting, Vonage, ClickSend, RingCentral, or any SMS service of your choice.

SMS Google Sheets

For this example, we have a Google Sheet that contains the customer’s name, phone number, invoice number and the amount that is due. Column A of the Google Sheet, titled Send Reminder contains checkboxes and the SMS should be sent only for rows where this checkbox is selected.

Format the Phone Numbers

The phone numbers in Column D should conform to the E.164 international format and can have a maximum of 15 digits.

[+][country code][area code][local phone number]

We have added another column in the sheet, titled Phone Number and this uses a Google Sheets function to remove all non-numeric characters from the customer’s phone number. Paste this function in the D2 cell.

=BYROW(C2:C11,LAMBDA(Phone, REGEXREPLACE(Phone,"\D","")))

If you prefer using ArrayFormulas instead of the new BYROW function, the modified formula would be:


1. Build SMS Workflow

Now that our source data in Google Sheets is prepared, let’s build a workflow to send SMS messages. Launch Document Studio and create a new workflow.

SMS Workflow

2. Set the Send Criteria

On the next screen, choose the Process specific rows option and specify the criteria when invoice reminders should be sent over SMS. We’ve specified two conditions in our example:

  • The Checkbox should be selected or TRUE
  • The phone number field should not be blank

Send SMS Criteria

3. Configure SMS Service

Next, proceed to the Tasks screen and choose Webhooks from the list of services. We’ll essentially make an HTTP POST request to the SMS service provider’s API to send the text message.

And this request will be different for each SMS service depending on their API endpoints.

Webhook SMS service

3a. Send SMS with TextBelt

Go to and create an API key. You may send the first SMS message for free using textbelt as your API key.

Inside the Webhook service, set POST as the request method and the request URL as

Switch to the Request Body tab and set the content type as application/json. The message field contains the text Dear {{customer name}}- your invoice #{{ invoice number }} for {{invoice amount}} is due. while the phone field contains the values from the {{ phone number }} column of the Google Sheet.

SMS TextBelt

3b. Send SMS with TextMagic

Create an account on, go to the API settings page and click the Add new API key button to generate a new secret key.

Set the request URL as and add two header fields - X-TM-Username and X-TM-Key to include the username and API key respectively. The request body should have the parameter phones for the recipient’s phone number and text for the SMS body.

You may optionally include the sendingDateTime parameter in the request body to schedule text messages and send them at a later date. Check the API docs for the full list of parameters.

TextMagic SMS

3c. Send SMS with ClickSend

If you prefer the ClickSend service for sending text messages, put in the URL field with the request method set as POST. Choose Basic OAuth under the Authorization tab and provide your username and API key in the user and password fields respectively. You may get the credentials from your ClickSend dashboard.

For the request body, turn on the Use Raw Input option and the content type set to application/json. Put the following JSON in the body field. The Sender ID can either be a business name or mobile number and can be used by the recipient to identify who sent the message.

  "messages": [
      "from": "your_sender_id_goes_here",
      "to": "{{ phone number }}",
      "body": "Dear {{ customer name }} - your invoice #{{ invoice number }} for {{ invoice amount }} is due.",
      "source": "Document Studio"

ClickSend SMS

4. Activate the SMS Workflow

Now that you have configured the workflow to send SMS with your preferred texting app, go to the Save screen inside Document Studio and choose Save and Run to send the text messages to your customers.

You may also enable the Time Delay option to delay the sending of text messages until a condition is met. For instance, you may choose to send text messages only when the invoice due date is past 5 days.

Run SMS workflow

Also see: 🐘 Automate Workflows with Google Sheets

Amit Agarwal

Amit Agarwal

Google Developer Expert, Google Cloud Champion

Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India.

Amit has developed several popular Google add-ons including Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory


Awards & Titles

Digital Inspiration has won several awards since it's launch in 2004.

Google Developer Expert

Google Developer Expert

Google awarded us the Google Developer Expert award recogizing our work in Google Workspace.

ProductHunt Golden Kitty

ProductHunt Golden Kitty

Our Gmail tool won the Lifehack of the Year award at ProductHunt Golden Kitty Awards in 2017.

Microsoft MVP Alumni

Microsoft MVP Alumni

Microsoft awarded us the Most Valuable Professional (MVP) title for 5 years in a row.

Google Cloud Champion

Google Cloud Champion

Google awarded us the Champion Innovator title recognizing our technical skill and expertise.

Email Newsletter

Sign up for our email newsletter to stay up to date.

We will never send any spam emails. Promise.