TIC - A Twilio bulk SMS send utility

heading

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 {{first_name}}, 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 are 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 destination mobile number, the Twilio message identifier and the SMS message sent.

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

2022

Remote Development With Codespaces

9 minute read

Are you tired of spending hours setting up your local machine so you can work with a new repository? Is Docker hogging CPU and memory, killing the promise of...

Back to Top ↑

2021

How To Use Spark Partitions With Postgres

3 minute read

In the post, we will explore how we can use partitions to reduce job execution time by increasing parallelism. Specifically, we will focus on building Spark ...

Installing aws-azure-login on Apple M1

1 minute read

Aws-azure-login is a command-line utility for organisations using Azure Active Directory to authenticate users to the AWS console. It lets you use an Azure A...

Back to Top ↑

2020

Back to Top ↑

2016

Back to Top ↑

2013

Back to Top ↑