TIC - A Twilio bulk SMS send utility

TIC - A Twilio bulk SMS send utility

Today I created a command-line tool for sending bulk SMS using Twilio.

The utility lets you define a mustache template and provide a CSV file with matching columns for bulk SMS sends.

Installation

The utility requires python3.7

python -m pip install twilio_sendsms

Setup

The first time you run, you will be prompted to provide your Twilio account details.

All configuration settings get stored in ~/.twilio-sendsms.config. To reconfigure you can delete this file.

Running

First, you need to define a mustache template and save to a file, e.g. example.mustache:

Hi {% raw %}{{first_name}}{% endraw %}, this is a test SMS.

Next, you need to create a bulk send CSV file. The file must have a mobile_number column. The mobile number must be in the international format, e.g. +614XXXXXXXX. The other column names need to match the variable names used in the mustache template.

buld_send.csv

"mobile_number","first_name"
"+614XXXXXXXX","Joe"

To process the batch file:

sendsms --template example.mustache test.csv

Testing

Before processing a bulk CVS file, it's a good idea to sample some entries and send them to yourself first. Testing is useful to confirm the formatting and the number of segments is as expected.

To sample and override the mobile_number in the CSV file:

sendsms --template example.mustache --sample 1 --sendto +614XXXXXXXX test.csv

The command outputs the destination mobile number, the Twilio message identifier and the SMS message sent.

+614XXXXXXXX,SM8c6335fdcffe4bb88313a16fabc9234d,Hi Joe, this is a test SMS.

Read more