
The past few months have been a wild ride in Australia. The summer brought extreme bushfires up and down the country and the autumn followed that with a global pandemic. Suffice to say that charitable organisations in Australia have been busy.
Late in 2019 The Salvation Army reached out to us asking for some help dealing with their increased contact centre volumes. The Twilio team sprung into action, trying to design a complete solution for them.
"Can we have something now?"
With the pressure piling on, we received another email from the head of operations at The Salvation Army. They needed something that could send and receive SMS messages now rather than provide a perfect solution weeks or months down the road.
They wanted to be able to send SMS messages from within Atlassian's Jira Service Desk and respond to incoming messages with an automated message.
Twilio's Rob Shaw rolled …

We've explored building a conference line with Ruby on Rails before, but the result there was a conference call that anyone could join. If you want to keep your calls a little more private you will want to protect your conference lines with a passcode.
In this post we will take the Rails application we previously developed and add a stage where we ask for a passcode, only allowing callers into the call if they enter it correctly.
What you'll need
In order to build this conference application you will need:
- Ruby and Bundler installed
- A Twilio account (if you don't have one yet, sign up for a new Twilio account here and receive $10 credit when you upgrade)
- A Twilio phone number that can receive incoming calls
- ngrok for testing webhooks with our local application
Once you've got all of that, we'll get started.
Getting up and running …

The Twilio Serverless Toolkit is a suite of command line tooling to help you develop and deploy functions and assets to Twilio Runtime. It is under constant development as we add features that make it easier for you to develop your Twilio applications and you never know what you might be missing.
So, here are 6 things you might not know you can do with the Twilio Serverless Toolkit.
1. Use the toolkit from npm
If you have the Twilio CLI installed you can install the Serverless Toolkit as a plugin with the command twilio plugins:install @twilio-labs/plugin-serverless
. If you prefer, you can use the toolkit without installing anything more than Node.js. Running the following command will scaffold a new Twilio Functions project for you:
npm init twilio-function project-name
This command will
- install
twilio-run
as a development dependency - set up an
.env
file for your environment variables - provide scripts …

When building a video chat, Twilio Video provides you with the SDKs and APIs to build video apps that connect your users. However, it is un-opinionated about your interface. With a bit of CSS, we can create effects to make your video chat stand out.
In this post we'll see how to overlay items like a logo or a user's name over a video. Over the course of the post, we'll turn a plain video into something that looks like this:
Getting started
To create these effects we won't build an entire video chat. Instead, we'll take the Twilio Video library and use it to get the camera and put it on the page as if it was a video chat – then style that video.
Create three new files in the same directory to write this application in: index.html
, script.js
and style.css
. Open index.html
and fill in …

Under the strange circumstances of the coronavirus we have seen some wonderful stories of communities getting together virtually to support each other. One way to support a local community is to set up a message group so that neighbours can easily offer or ask for help. Doing this with a regular group message could get messy as it's a pain to add or remove people from a group message.
In this post we'll see how to use Google Sheets, Twilio Functions, and Programmable SMS to administer a community SMS broadcast group. We will create a Google Sheet that lists the people in our group and a phone number that can be used to contact all of them by SMS. When you send an SMS to the number it will forward that message on to everyone else in the group.
If you want to skip straight to the …

When you need to get a bunch of remote people to talk together, a conference call is the simplest way to do so. Everyone dials a number and in seconds they are talking to each other. In this post we'll build a conference line that anyone can join using Twilio and Ruby on Rails.
What you'll need
In order to build this conference line you will need:
- Ruby and Bundler installed
- A Twilio account (if you don't have one yet, sign up for a new Twilio account here and receive $10 credit when you upgrade)
- A Twilio phone number that can receive incoming calls
- ngrok for testing webhooks with our local application
With those tools gathered, we can get started.
Getting started with a Rails application
For this post we will create a new Rails app. If you want to add this capability to an existing application, you …

If you're building a mobile application and you need access to the user's contacts you wouldn't give it a second thought, but on the web this feature was missing. The Chrome team saw this gap and got to work on an API that makes users' contacts available to developers with the security and privacy expected on the web. That API is now available in Chrome 80 on Android M or later.
In this post we will investigate the new Contact Picker API and put it to use it in a Twilio Client application to add contact selection for making browser phone calls.
The Contact Picker API
The Contact Picker API consists of the ContactsManager
object, available as the contacts
property on the navigator
object. As it is only supported on Chrome on Android for now, the first thing we should concern ourselves with is checking for support. We can do …

We've seen how to write a text chatbot using the Twilio API for WhatsApp using Ruby, but WhatsApp also supports sending and receiving location data via their API. In this post we are going to see how to build a WhatsApp bot that can receive and respond to location messages.
We'll build a weather bot so that you can send your location to the bot to get your local weather forecast.
What you'll need
To code along with this post and build your own location-aware WhatsApp bot you will need:
- Ruby and Bundler installed
- ngrok so we can expose our local endpoints so that we can receive incoming webhooks
- A WhatsApp account
- A free Dark Sky API account to make weather forecast requests
- A Twilio account (if you don't have one, sign up for a new Twilio account here and receive $10 credit when you upgrade)
Configure …

Chatbots are programs that communicate some way with humans. They can be very basic, responding to keywords or phrases, or use something like Twilio Autopilot to take advantage of natural language understanding (NLU) to provide a richer experience and build out more complicated conversations.
In this tutorial we are going to see how easy it is to get started building chatbots for WhatsApp using the Twilio API for WhatsApp and the Ruby web framework Sinatra. Here's an example of the conversation we're going to build:
What you'll need
To build your own WhatsApp bot along with this tutorial, you will need the following:
- Ruby and Bundler installed
- ngrok so we can expose our local …

The Web Speech API has two functions, speech synthesis, otherwise known as text to speech, and speech recognition, or speech to text. We previously investigated text to speech so let's take a look at how browsers handle recognising and transcribing speech with the SpeechRecognition
API.
Being able to take voice commands from users means you can create more immersive interfaces and users like using their voice. In 2018, Google reported that 27% of the global online population is using voice search on mobile. With speech recognition in the browser you can enable users to speak to your site across everything from a voice search to creating an interactive bot as part of the application.
Let's see how the API works and what we can build with it.
What you'll need
We're going to build an example app to experience the API, if you want to build along …