Introducing Native TwiML Bins powered by the Twilio Cloud

May 03, 2016
Written by
Billy Chia
Twilion

configuratino

Today, we are excited to announce the acquisition of twimlbin.com and the launch of native TwiML Bins in the Twilio Console. Twimlbin.com was created 2011 by developers in the Twilio community to rapidly prototype solutions like call forwarding or conference calls. Twimlbin.com handled the hosting of TwiML and allowed Voice and SMS apps to be created without the need to spin up a server. This was such a useful tool that twimlbin.com quickly became popular, powering almost 100 thousand Twilio phone numbers.

With the addition of TwiML Bins in the Console we’ve made twimlbin.com functionality a native experience. Additionally, native TwiML Bins are hosted on Twilio’s global cloud infrastructure and backed by our world-class security and cloud ops teams for dependable performance.

From twimlbin.com to TwiML Bins

One of the most powerful aspects of Twilio’s Voice and SMS APIs has been its separation of concerns. A developer’s app tells Twilio what to do, and the Twilio platform focuses on how to fulfill the request.

As an example, consider the path of a phone call.  When a call comes in to a Twilio number, the Twilio Cloud makes a webhook request to the developer’s web server. The server then responds with TwiML instructions that describe what to do with the call. Based on the instructions, Twilio fulfills the request (creates a conference, sends to voicemail, etc.)  and potentially signals to the server with another webhook that additional instructions are needed. The fact that webhooks are built on top of HTTP made this programming model highly accessible to developers familiar with building software for the web.

Despite this accessibility, there are a couple of challenges that emerge when using webhooks and TwiML to build Voice or SMS applications.

First, it’s not very easy to get started quickly. The need to spin up a web server in order to try out Twilio causes friction when trying to prototype. Developers evaluating Twilio to see if it’s a good solution for them typically want a faster way to get started. TwiML is a rich and expressive vocabulary and there is a lot to explore before a developer spins up a web application to generate it dynamically.

Second, building a reliable solution that will perform at scale is non-trivial. Standing up infrastructure to handle large spikes of calls or SMS messages requires deep ops expertise.  Most developers want to write code rather than worry about infrastructure.

Twimlbin.com was created to solve these two problems. A developer could use twimlbin.com to create static TwiML documents. They would be provided with a private URL that they could then use to configure their Twilio SMS or Voice webhook.

Starting with the acquisition of twimlbin.com, we are investing in making it easier to try Twilio and to build useful applications without the need to operate infrastructure. Today, we are pleased to offer native TwiML Bins in the Console as the officially supported way to host your static TwiML.

Getting started with TwiML Bins in the Twilio Console

Log-in to your Twilio account and go to the Developer Center. The Developer Center is the home for tools that developers use across multiple Twilio products. This is where you can find TwiML Bins. You’ll see a list of your TwiML Bins and the option to create new ones.

Screen Shot 2016-05-02 at 11.24.51 AM

When you create a new TwiML Bin, you’ll be presented with the ability to give it a friendly name and, of course, some TwiML that will define the behavior of your Voice or SMS application.

configuratino

Once you’ve created a new TwiML Bin, you can navigate to the Phone Numbers section and configure Twilio to run your TwiML when a phone call or SMS message comes in.

voice-config

In the Voice section of the active number page, you will see descriptions of the events that can be triggered during a call:

  1. A call comes in for this phone number.
  2. The primary handler for (1) fails.
  3. The status of the call has changed.

Now developers have a new way to handle events when they occur. In addition to providing a webhook, a developer can now choose to handle incoming call events with a TwiML Bin. Simply select “TwiML” from the drop-down and you will have the option to select a Twiml Bin document. When a phone call comes in to this Twilio number, Twilio will execute the TwiML you’ve provided. No need for a web server!

This is a simple and powerful new feature for customers. Developers can easily prototype new Twilio solutions and rely on Twilio to handle to operate the infrastructure. Log in to try out the new native TwiML Bins.