What Can You Do with Twilio?

What Can You Do with Twilio?

Hi there, my name is Manav Khurana and I have the privilege of being part of the Twilio team where I run product marketing. And I’ve been at Twilio for a little over two years, and you know the interesting thing here is that the first question I ever answered about Twilio is still the most often question I get to answer at Twilio. And this question is what can you do with Twilio? And it kind of makes sense. If you’re like me, you use patterns to aid your cognition and try and figure out what different technology areas are. And the thing with Twilio is that it’s neither a software application nor is it a communications system, the two established categories in the market. Which is why it’s not just you and me and people who are new to Twilio that struggle to figure out what one can do with Twilio, it’s also industry pundits like Cartner that struggle to put Twilio in a category.

And really where Twilio sits is at the intersection of software applications and communication systems. It’s our job, our mission in life at Twilio is to make communications a software thing so that you can make software where communications is a feature or a user interface element rather than being a separate piece of infrastructure. We expect when communications and software are together, the end result for the business, end result for the customer, end result for the communication is going to be a lot better. So the plan for the next 20-odd minutes here is to give you some ideas of what can you do with communications once they are a software building block. And to get there, we’re going to do a couple of demos, we’re going to walk through some real-life examples of what people have done. And then we’ll take it from there and hopefully you walk away with a good idea of what you would do once you have software communications as a software building block.

So first up, with Twilio you have APIs for literally every way of communicating with an individual and you can now build conversations, voice, messaging and video conversations directly in your software. Now these APIs, some of them are for voice from Twilio, some of them are for messaging, SMS or MMS. Some of them are for adding video communications within web and mobile app.

And then also just about a few weeks ago we introduced a number of add-ons where you can get various communication capabilities like sentiment analysis and transcriptions from our partners directly through the Twilio API. So those are the core communication APIs. There’s also a series of programmable connectivity options that you can get from Twilio. At the most basic level it’s things like phone numbers that are virtual so you can embed phone numbers in your application. It’s things like SIP Trunking which provides voice connectivity for your voice or IP infrastructure if you do have that already.

Things like SMPB which provides messaging connectivity to the world of SMS directly from your gateways and through Twilio. And then recently we introduced Twilio Wireless which are SIM cards powered by Twilio so you can embed cellular connectivity in devices, whether those be IOT devices or those be smartphones and tablets. But then have programmatic control, an API-driven control to every message, every call and every data packet that hits the device with a Twilio SIM card. And then in addition to core communications, APIs and programmable connectivity, Twilio offers various use-case APIs we call them, where you have a higher level abstraction of building applications. So for example Authy is a two-factor authentication API. TaskRouter is a call routing API that a lot of our customers in call centers use to dynamically route calls to different agents based on various attributes.

And then just about a few weeks ago we introduced Notify which is a single API to orchestrate messages across SMS, push notifications on IOS and Android as well as chat applications like Facebook and Viber and Wii Chat. It’s a way to figure out what is the best way to reach folks. So instead of me walking you through these products and talk about what you can do with Twilio, we thought that it’s best to show you what you can do with Twilio and we thought we’d do a quick live coding] demo. So I’m going to skip out of the slides here and I’m going to go into my browser. And the first thing I’m going to do is I’m going to log on to my Twilio console. And if you have already created a Twilio account what you’ll notice is that based on the documentation and the flow of signing up for Twilio, one of the first things you will do is that you will buy a phone number, a virtual phone number on Twilio.

And you can choose any type of phone number. I’m going to have to make this simple. I’m going to look for a phone number that has many zeroes in it, in the United States and I’m going to search for it. Here we go, I’ll pick the first one here, it’s a 216 number, it has a bunch of zeroes in it so that makes it easy to remember. And as soon as I hit buy it tells me that this phone number can be used to receive incoming calls and make outgoing calls which is great.

It can also be used for SMS and MMS. I’m going to buy this number. When I hit set up it gives me a bunch of detail about what the phone number is and it will ask me what do I want to do when a call comes in. So you know what, let’s do a for the purpose of this demo let’s make this phone number into a conference line.

And it is looking for a web address to point to to get instructions on what to do when somebody calls in. So what I’m going to do is I’m going to open up my text editor here and I’m going to create a very quick XML file that will help me determine what I should be doing with this phone call as it comes in. Let’s get the header in, so we say this is a XML file and then let’s say when somebody calls in I want you to respond with a with a saver from Twilio and let’s just say the saver tells you say Thanks for dialing into my demo.

And then I also want to dial folks who dial into this line into a conference call that I call Conference. And oops just did a little typo here, into a conference, we’ll call this conference line Demo and we’ll close out the dial and then we’ll close out the Response variable and we should be done. I’ve saved this here and just to make sure that I did not make any errors I’m going to I’m going to go to the XML file from my browser and make sure that it reads right. Yep, and it looks like it reads just right. So I’m going to go back to my Twilio console and say that when somebody calls in I want you to go to demo/demo.xml and I want you to get this file when somebody calls in.

So we’re going to hit save here and then I’m going to ask my colleague here in the room to place a phone call to (216) 600-0015 and I’m going to do the same thing on my phone. (216) 600-0015 I’m going to put it on speaker phone. Okay, great. All right, great. It looks like my colleague here joined as well. All right, so that was a very simple demo showing you what happens when you take a phone number and you write a minimal amount of code to tell Twilio what to do with that phone number when somebody calls in. And we created a conference call, that’s pretty straightforward. Let’s take it one step further. Say if I wanted to follow up on everybody who actually dialed into my conference line and I wanted to say thank you for dialing in.

So what I would do to do that I’m going to write some python code here. And the first thing I’m going to do is I’m going to import my Twilio library. And then I’m going to create a variable called whocalled because I want to know who called my conference line. And I’m going to look into my call logs for Twilio and I’m going to say give me all the logs of everybody that dialed into the phone number we just bought to do that conference call demo. And plug that in here. Oops that’s not the right format, I need the proper formatting here. And there you go, that should do it. And everybody who called into my phone line for caller in whocalled I want to first print out to the screen the phone numbers of people that called in.

Let’s save this file here and if I didn’t make any mistakes what this should do is print out to the screen as you see on my terminal window here a list of the phone numbers that dialed in which was me and my colleague who in the earlier demo called in. But let’s say I wanted to go one step further and look up who that person is, what their name is. I’m going to invoke the Lookup building block that Twilio has and see what phone number, based on the phone number that called and where that phone number’s registered try and get their name. And if I did this right I should see not only the phone number but this time I see the names of the individuals so my phone number’s registered to me and it looks like my colleague’s phone number here was registered to a company and that’s what shows up.

Okay so we know we can get call logs let’s write a little bit of code to send a message back, a SMS back to folks thanking them for joining my call and what I’m going to do is I’m going to use the Twilio SMS API and in the body of the SMS I’m going to say thank you very much for calling in, It was a great discussion, okay. And then I want to send this message to everybody that called in and I want to send this from in this case the phone number that they used to dial into my conference. A comma there and this should do it. Let me save this file, go back and run this application up. Forgot a little syntax element here, let’s go back here and we’re going to execute the code.

Another error, I need the messages let’s go back here, and now I’m actually going to put up my phone screen here so you can see that this is actually working. And as you can tell just now I got a message that was exactly what we wrote in the code. It says thank you very much for calling in, it was a great discussion. Okay, so that was a pretty straightforward demo. Of course, what I used in that demo was the phone number building block, the voice calling building block, that’s how the conference call was set up. The Lookup building block, that’s how we figured out who actually called in.

And then we used the SMS API which was a way for me to send a message back to everybody that had called in. Earlier this month or last month we shared that there are over a million developers that have set up an account with Twilio and are using Twilio as part of their applications. When they have gotten access to the phone number, they’ve built a lot more than just a simple conference call that I did in the demo. We did a quick benchmark to see what folks are building and really the use cases are very, very vast. We started grouping folks together and we got about 50-odd use cases from things like account alerts to order notifications to SMS marketing to security use cases. When we thought a bit more about it, these use cases really differ based on what the phone number, the virtual phone number is assigned to.

In some cases the phone number is assigned to an application. In some cases the phone number is assigned to an advertisement to do things like lead alerts and call tracking. Some cases the phone number’s assigned to individuals to create mass phone numbers or provide alerts to individuals in the field. In some cases phone numbers are assigned to teams. And then we started thinking about what are folks trying to do once phone numbers are assigned to various entities and when we looked amongst our top few thousand customers we found that about 15% of the use cases when a phone number’s assigned within software is to solve ecommerce logistics problems, you’ve bought something online and you want to know what’s happened to the order, the billing, the shipping and the receipts of that good.

A lot of our customers are using that Twilio technology to create automated alerts and back and forth communications about what was bottom line. Some folks are solving access security problems. Some folks are solving lead generations problems with numbers that are connected to advertisements. Some folks are solving ebook coordination problems by adding communications in software and adding software communications as part of a software workflow. And are a lot of folks are solving customer service problems. Now one thing you’ve noticed is that the sum of all of these use cases is less than a 100%.

That’s because we could not categorize everything else that our customers had been doing into one particular business problem or the other. These are the most common set of use cases everybody has built. So let’s look at what some of these use cases actually are. So when the phone numbers are assigned to applications we see a wide variety of use cases. Things like eloqua, for those of you who don’t know, elogua is one of the world’s leading marketing automation systems. It allows marketers to reach their customers via email. Now there’s a eloqua connector to Twilio so that marketers can send urgent messages or just reach their audience via text messages using Twilio. PagerDuty, it’s a great software application that helps system admins come together when there’s an incident.

They use Twilio so that their customers can notify members of an incident response team quickly and urgently by initiating a text message when there’s a problem so people know what it is and also maybe offer a phone number in that text message and that is really a conference call, a Twilio powered conference call to log in. DocuSign, a very popular document management system. A lot of us have signed documents through DocuSign.

They provide a better level of security than passwords alone by sending a text message to individuals in addition to requiring a username and password and in that text message is a challenge code that when you a sign a document you also need to provide that challenge code to really prove you are who you say are and it’s not just some kind of password spoof that happens to sign the document. So those are more application to person use cases, embedded application use cases, there have also been some IOT use cases that Twilio’s used for. Coca Cola is a great example, when vending machines around Europe have a service disruption, Coca Cola uses Twilio to coordinate field service professionals through their field service management solution to get a quick response to go get that vending machine fixed.

PayByPhone, a really popular solution in the market that lets you pay for your parking meters in various US cities and abroad. It’s hooked into Twilio and they have created a way for individuals who pay for parking to get notified when their parking meter’s about to expire. And they can dial in to up their parking meter reup their parking meter and have parking for a longer time. And then Samsung SmartThings, very popular IOT platform for home automation. They have done Twilio integration as well. Individuals who have the SmartThings hub at home can get notified for various alerts via text message as well. So moving on from applications, companies like Trulia, LendingTree and TripAdvisor who are online marketplaces, they are using Twilio in quite a meaningful way. And let me give you the example of Trulia.

Trulia is a realistic marketplace. A lot of us in the United States have used the trulia.com or the Trulia mobile app to find a rental home or a home to buy. What they do is for each listing that is on their website or on their mobile app, they track how many people are calling that listing using Twilio. And the way they do that is when a home buyer is interested in a listing and they go into more details about that listing there’s a call option on that particular listing. As soon as somebody taps that call action a new interaction record is created within Trulia and a unique phone number is assigned to that interaction that is then passed down to the mobile app where the individual, the home buyer, can call the agent directly. Now when the home buyer dials that phone number that Trulia provided them, the unique Trulia phone number that Trulia provided them. Trulia receives that phone call and asks Trulia, Hey what do you want me to do about this phone call? And Trulia obviously knows what that phone number belongs to, it belongs to a particular listing because that’s what Trulia assigned it to and then knows which agent to forward that call to and sends that information down to Twilio and then the call is forwarded to the agent and the agent on the other end sees an incoming call from a prospective buyer.

There are many cases when the agent is not available because the agent is actually busy. In which case the call definitely goes to voicemail. But also Trulia sends a SMS notification to the agent telling them that somebody is actually interested in a listing they have on Trulia.com. It tells them that a voicemail has been sent so they found that by sending this SMS the response time from the agent has reduced and actually the conversion and the lead has also gotten a lot better. Then because all these actions are recorded on Trulia.com Trulia takes all of those statistics of calls and messages that have happened between home buyers and real estate agents.

They take all of those records and present an agent ROI dashboard to every agent that lists on Trulia.com. One, proving the value of why should one list on Trulia.com and two showing how many leads they’re sending and what happened with the individual leads and how many conversations have happened. Really a fantastic use of communications technology as part of a lead generation workflow. So that’s for advertisements.. Let’s look at what happens when phone numbers are assigned to individuals. We see a number of use cases. Lyft, a very popular ride sharing app assigns phone numbers to individuals, folks that are drivers and riders. Nordstrom assigns individual phone numbers to sales people on the floor so customers can reach them in a manner they prefer. And then match.com, much like Lyft does something similar where unique phone numbers to people that are interested in dating each other so they can start interacting but not reveal their personal information.

So let’s look at one of these use cases. Lyft, as I mentioned is one of the leading ride sharing applications that are out there. They connect drivers and passengers with each other who are matched up to get picked up without disclosing personal phone numbers. Now the way this works is when a customer opens the Lyft mobile app and requests a Lyft car and the request from the rider is matched to a particular driver, Lyft creates a mapping of phone numbers.

The personal phone number of the passenger and the personal phone number of the driver are mapped to a unique Twilio phone number. So then when there is an ETA alert that is sent by the driver to the passenger, that ETA alert actually comes, not from the driver’s personal phone number, it comes from that unique Twilio phone number. And obviously because that mapping has occurred Twilio knows who to forward that mapping to. And this way the personal phone numbers of each of the individuals is kept private. So then when the driver actually wants to pick up the phone and call the Lyft driver and tell them, Hey I’m actually going to be at the corner of this intersection, not at the address I gave you, that phone call also is placed from the passenger’s point of view to that Twilio phone number and then Twilio knows how to map that phone number to the driver and get both parties without revealing each other’s phone numbers. A very common use case in the sharing economy and a lot of the different marketplaces that exist. Then when phone numbers are assigned to teams, this is primarily for customer service use cases, when you see ING Bank do that, we’ve seen the online streaming company Hulu do that, and we’ve also seen a helpdesk application do that.

And let me walk you through what they have done. For those of you who don’t know, Zendesk.com is a leading helpdesk management software. They use Twilio phone numbers and they assign them to various companies, various support teams of companies. So that agents of that support team can call and text their customers directly from the Zendesk helpdesk software and have all the context of the ticket they’re addressing right there and then on the same screen. Now the way this works is say a customer calls for support and the support team is using Zendesk, because they are Twilio phone numbers, Twilio when they receive the phone call forward that phone call request to Zendesk saying, Hey I just got a phone call on a number you’ve assigned to somebody, what do you want me to do with it? And Zendesk at that point knows which customer that support call is coming for and then tells Twilio to route the call to an available agent within that company and actually not route the call to the desk phone but actually route that call to the browser.

The same Zendesk.com browser because they know if the agent’s locked in, they know if the agent is free. And they route that call over WebRTC. Now the interesting thing here is because the call is being answered in the browser, Zendesk can now surface relevant customer information about who’s calling, what their past issues have been, why might they be calling. All that information can be popped up on the agent’s screen so the agent is informed of why a customer may be calling even before answering the call. So the call doesn’t go, Hey why are you calling and how can I help you? It goes hey I see that you’re calling to follow up, or I see that you’re a few tickets open is that what you’re calling me about. It just creates a better customer experience both for the customer and a faster time for the agent to ramp on what problem they’ll be solving for the customer.

This was a call experience, Zendesk has also integrated the Twilio SMS API so that interaction between the agent and the customer can also happen over SMS from the customer’s point of view, but from the agent’s point of view it’s happening like a chat directly within Zendesk.com. A really great piece of software application. We internally at Twilio also use Zendesk because they’ve done a phenomenal job of integrating communications right into the software application that is designed for handling tickets. Those were some great examples of what our customers are doing, the very simplistic idea of a phone number is a software concept, it’s a virtual phone number that could be assigned in software to applications, people, teams or even to listings.

But there are some cases when the phone number is not the right idea. And to illustrate that idea I’ll do one more demo for you. And what I am going to do is on my phone I am going to go on the United Airlines app, an app that I use quite a bit. And this app, I think, is a great app. United has done a phenomenal job of helping their customers find all the information they need about their upcoming flights, what’s happening, where they’re going and if I look at my reservation, I have one coming up in a few days, I’m going from San Francisco to Boston.

I have a lot of details about the flight and when it is, but let’s say I wanted to change this flight. I can change my seats. There’s really no option in this really great multi-million dollar experience to change my flight. Now because I’ve used this app many times I know if I go 3 screens over to the very bottom there is a Contact Us option and that Contact Us option gives me a phone number to get help. And when I tap into that option I’m completely ejected out of that great mobile app experience where I was doing something.

I was trying to get details about my next upcoming flight. Pulled into the IVR, the phone tree of United.com where I have to then explain who I am, why I’m calling, the agent on the other end is frantically trying to get to the same thing, trying to catch up. But it takes a long time, I have to wait for a few minutes, I have to re-authenticate myself, tell them why I’m calling, and then 10/15 minutes later we are at the same point where we originally started which was oh, I’m trying to change my flight from Boston to San Francisco. So we think communications can be a lot better experience if it’s actually embedded in that mobile app.

So we actually went ahead and built a demo mobile app, we call that mobile app Owl Air. And it’s kind of a replica of the United Airlines app but with a few differences around the communications experience. So what you see on the right here is my mobile app. I’m going to log into it and I have a bunch of flight records and on the left here is the agent interface. And say I want to go into my first flight record from Dallas to Las Vegas and I want to change my flight, the option to talk to an agent is right there. I hit change my flight and the call actually happens from within the mobile app and the agent also gets a call within the web browser. Agent knows why I’m calling and says oh hey Manav I see you’re calling to change your flight is that why you’re calling? Oh yep that’s exactly why I’m calling.

She goes okay great, let me find a different flight, do you want to go on the 19th. Let me find an option for you, looks like there’s an option on the same day. Let me send that option on your screen to see if that’s exactly the flight that I want, why don’t you hit confirm and it will ask you to authenticate yourself, you can Touch ID and I see you there’s an agent on the other side that you’ve verified with Touch ID.

I ask, Hey is there anything else I can help you with? I say no, thank you I’m all set. That’s it. No waiting for hold. No waiting to describe where I was, what I wanted to do. All of that can be done very very quickly. And the agent saves time and the customer gets a lot better experience. So that is where we see things go when communications become a software building block. One parting thought for you, the way individuals speak to each other, communicate with each other has changed, people message each other, they FaceTime each other, they connect with each other so much more easily than it is for individuals to connect with business. And the only reason why it’s frustrating for individuals to contact and communicate with a business is because the software, the technology that we use. And within a business to communicate with our customers holds us back. Our customers expect a lot more from us. It’s time that we expect a lot more from our software and we do better at communicating with our customers.

Thank you very much. Hope you enjoyed this session and you got some great ideas. We look forward to see what you will build..

Read More: 7 benefits to adopt an automated response system