Twilio’s Rapid Response Kit (RRK) is a web application with a suite of tools that can be used for mass communication. For example, in the event of a natural disaster RRK can coordinate relief efforts and volunteer communications via functionality such as broadcasting SMS messages and providing automated call-in numbers for response information.
RRK previously required knowledge of how to set up and deploy an application to a web server. However, now it’s possible to deploy the RRK without any programming knowledge at all! In this tutorial we’ll set up your own RRK instance that can be used immediately.
Services for Running RRK
RRK relies on five cloud services to send and receive messages, store data and provide status updates. Two of these services are required and three are optional. The two required cloud services are:
The three optional cloud services that add more functionality to RRK are:
- Google Sheets provides data storage for volunteer lists and responses
- Parse stores and analyzes ‘yes’ or ‘no’ SMS votes from volunteers
- Pusher updates RRK’s real-time MMS status board
For each service we’ll show how to sign up for an account and how to connect it with the other services for full RRK functionality. Two of these services, Twilio and Heroku, are mandatory for basic RRK functionality. Google Sheets, Parse and Pusher enable additional features.
In this post we’ll get RRK set up as fast as possible by just using Twilio and Heroku. In a separate blog post we’ll show you how to sign up for the three optional services and add that functionality to your RRK deployment.
Twilio is a web application programming interface (API) for sending and receiving SMS and MMS messages as well as making and receiving voice calls. The RRK uses Twilio for all SMS, MMS and voice communication.
Sign up for a Twilio Account
Head to the Try Twilio page to sign up for a Twilio account. You’ll see a screen like the following.
Enter your name, email and password and click the “Get Started” button. You’ll need to verify that you’re human and not a malicious spam robot.
Enter a phone number where you can receive the verification code. Twilio will send you an SMS on your phone that looks something like the following message.
Enter the code from the SMS you received into the Twilio web page text box.
Now that you’ve verified your Twilio account you’ll receive your first Twilio phone number. This is the number you’ll use with Rapid Response Kit to send and receive messages and voice calls.
Click on the ‘Get Started’ button. Next you’ll be able to test out your phone number.
We just want to go to the dashboard to complete the account sign up process. Click on the “Go To Your Account” button. You’ll see the Twilio dashboard page. After the graphs on the page you’ll see the following button named “Upgrade your account”. We need to upgrade to allow the new Twilio number to send and receive SMS, MMS and voice calls with any number, not just the cell phone number we signed up with. Go ahead and click the “Upgrade your account” button.
You’ll see an upgrade screen like the following.
Enter a credit card or connect your PayPal account. If you have a promo code enter it below the billing information. If you enter a promo code and uncheck the “Turn on automatic recharge” you absolutely will not get charged. However, when you run out of credit your account will no longer be able to send or receive messages.
Once you click the “Upgrade Account” button at the bottom your Twilio number will be fully-functional and can send and receive SMS, MMS and voice calls to any number.
Well done! Now your Twilio account is set up. Leave the Twilio dashboard open for now since we’ll need information from it shortly. Next we’ll set up the second required cloud service, Heroku.
Heroku is a platform for hosting applications such as RRK. We can use a free Heroku account to run the RRK code. Head to the Heroku sign up page and you’ll see the following screen.
Enter your email address and click the “Create Free Account” button. Heroku will send you an email confirming that it is actually your email account. Click the link in the email and you’ll get the following page for setting your password.
Enter a strong password twice and click the “Set password and log in” button. You’ll see the following success welcome screen.
Click the “proceed” link and you’ll get to your account dashboard.
Congratulations, you now have both Twilio and Heroku accounts! We’re getting close to being able to deploy RRK. You can start the deployment process by clicking the following button embedded within this blog post:
You’ll see the following screen that will allow us to connect together these cloud services and deploy our own copy of RRK.
Let’s enter the Twilio account information we have available then we can set up the other cloud services.
Head back to your Twilio dashboard and let’s get the Account SID and Auth Token for the Heroku deployment. The top of the page will look like the following screenshot (without the blacked out Account SID).
Copy the Account SID field and paste the value into the Heroku deploy text box for “TWILIO_ACCOUNT_SID”. Next click the unlock button for Auth Token, copy the value and paste it into the “TWILIO_AUTH_TOKEN” field on the Heroku deploy page.
We’re ready to click the “Deploy for Free” button! Go ahead and let Heroku do its deployment magic. The deployment will take a few minutes but you’ll get a success message with a link to the new application. Click the link and you should see something just like the following screenshot.
Now you’re ready to start sending and receiving communications through any Twilio number on your account. Let’s give the broadcast functionality a quick test to make sure RRK is working properly. Click the “Broadcast” link on the left side navigation bar.
Enter a test message under the “Message” text box. Then enter your phone number with in the format shown in the above screenshot. Hit the “Broadcast Message” button and in a few seconds you’ll receive a message to your phone. For example, if you’re using an iPhone you’ll see a text message like the following screenshot.
You’re now ready to go with your new Rapid Response Kit application!
Check out the Twilio.org resources page for descriptions of each tool within RRK. There’s also contact information to get promo codes so you can deploy RRK completely for free.
Your RRK deployment with Twilio and Heroku enables many of the tools for mass communication. There are additional tools though which can be used for other communication purposes. In a future post I’ll show you how to sign up for the optional cloud services that can add further functionality for RRK.
If you’re having trouble with the application deployment or just want to chat about uses, contact me via the following channels:
- Python Flask Quickstart for Twilio Two-factor Authentication
- Send SMS Messages with Copilot in Python
- Getting Started on Geospatial Analysis with Python, GeoJSON and GeoPandas
- Building A Twilio Endpoint Load Tester with Python, Go and A Developer’s Empathy
- Image recognition in Python with the Clarifai API and Twilio MMS