As part of a customized interactive IVR experience built on top of Twilio, you often need to fetch data from external APIs. Sometimes, it may take that API more than ten seconds to respond to a request. Ten seconds is the maximum time the Studio HTTP Request Widget and Run Function Widget synchronously waits for a response. What then?
In this post, I’ll show you how you can architect a solution that will extend Studio’s response times beyond 10 seconds. We also use a Twilio conference with music on hold, to avoid extended periods of silence during these requests.
In order to follow this tutorial, you will need:
We understand how phone numbers work, don’t we? Someone calls your number and your phone rings. But wouldn't it be nice to have more control - to screen incoming calls and treat them differently depending on who is calling?
In this post I’ll show you how to set up a Twilio phone number to handle incoming calls using a Spring Boot app. Your app will look up the caller in a Google Sheet to decide what to do. There are options for blocking calls or forwarding them to other numbers. Any changes made to the Google Sheet will take effect immediately. The sheet looks like this:
Once you’ve set this up you can hand out your Twilio phone number freely, knowing that you can easily block unwanted callers, or redirect people to any other number depending on who they are.
To set this up you will need:
- A Google account …
When you are developing an application that uses Twilio services you need to expose your webhooks on public URLs that can be reached by Twilio. If you have followed some of the tutorials that we published on this blog you know that we recommend using the excellent ngrok tool to generate temporary public URLs for your development web server. Ngrok is an incredibly useful tool that creates a tunnel from a URL on the ngrok.io domain to your application running on your computer. You can then configure your webhook using the ngrok URL and when Twilio sends a request to it, ngrok redirects it to your application.
If you use ngrok frequently enough, it pays off to become a paid customer, which allows you to secure a permanent URL. But if you only use this service occasionally, it is tedious to have to log into the Twilio Console to …
You might be running on your third cup of coffee and working with webhooks right now. Maybe you’re developing programs with Twilio API services. You might have seen the term
ngrok a few times and heard how this tool can solve all of a developer’s problems – but how impressive is it really?
Follow along to learn more about how ngrok helps you test locally, and allows your program to communicate with a temporary public domain. The URLs make forwarding incoming Twilio SMS requests or other webhooks to your local development setup fast, easy, and impressive!
As someone who used to attend and organize hackathons, I can tell you that ngrok will impress not only the organizers and judges, but also your team!
If you have a Mac, you can download the
ngrok client as a file in …
It happened! I've been waiting for the moment I needed to send a fax since Twilio launched the Programmable Fax API back in 2017 and this week it finally happened! I won't go into detail about what I needed to send, but it's safe to say the medical profession could consider their communication choices for the future.
I could have sent the fax by uploading a PDF to Twilio Assets and using the API explorer, but that wouldn't have been as fun as over-engineering an entire application to send and track the fax to make sure it arrived and be prepared for any future fax situations.
In this post I'll share how to build an application for sending and tracking faxes, but if you have faxes to send and want to jump straight into using it, you can find all the source code on GitHub.
Weapons of choice …
Social media has become one of the biggest hits of the 21st century. It has become predominant in both personal and professional lives of millions of people. This has made social media marketing a powerful tool for businesses of all sizes to reach prospects and customers.
Twitter recently announced Q1 2019 revenues of $787 million, a year-on-year increase of around 20%. This means the platform is seeming ever more attractive to advertisers looking for high return on spend. Receiving real-time SMS notifications for activities on a Twitter account is a good way for businesses to build better customer engagement.
In this post you will learn how to get SMS notifications whenever an event occurs on your Twitter account.
To build the case study project for this post you need to have the following development tools installed on your system:
When WebSockets are discussed, PHP is rarely included in the conversation due to its lack of native support. Additionally, Apache, the HTTP server PHP normally runs on, is not built with persistent connections in mind which forces the responsibility of implementation onto 3rd party libraries.
While there have been great attempts to bring PHP into the discussion of “real-time” development, most have paled in comparison to the Ratchet project; a PHP WebSocket library for serving real-time bi-directional messages between clients and server.
In this tutorial, we will be using Ratchet with PHP to learn how to create a simple WebSocket server that processes messages sent from an HTML form in real time. Our form will display a single
<button> to send a message to all client browsers. Every time the user sends a message their message will be displayed in real time on the other screens.
A localhost tunnel comes in handy when you want to share an application running in your local development environment via a publicly-accessible URL. In this quick 2 minute video we will learn how the localhost tunneling tool Ngrok works then download and run it on Mac OS X:
Now you’re ready to share your local in-progress applications with others before you perform a full-blown deployment.
Links & More Resources
We used a couple of resources in the above video:
- Ngrok, the localhost tunneling tool by Alan Shreve
- Python 2.7 SimpleHTTPServer built into stdlib (Python 3 replaces SimpleHTTPServer with http.server)
Learn more about how to configure and use Ngrok with these tutoria …
Did you hear the preamble joke the guy told before showing you how to build a SMS Dadjoke Slackbot in Python?
A phone is lost in the jungle, and gets tangled in a thicket of vines. It sees a python and says “Hey can you cut me some Slack?”
[I’ll pause while you mentally prepare yourself for an onslaught of Dad jokes]
Our Dadbot will text you terribly awesome jokes when you @ mention it in its Slack channel. Dadbot will also drop a quality Dad joke in a Slack channel when you text a Twilio number. This is the power of the Slack API combined with the Twilio SMS API — Dad jokes abound.
What We’ll Need
My dad doesn’t go anywhere without cargo pants, extra napkins stuffed in his pocket, and a map. We will also need a few precious items before heading out to build Dadbot.
Grab your phone. We’re going to try out ngrok’s new local traffic routing feature using local Twilio numbers in the US, EU, AP, and Australia.
Still got your phone in hand? Good. Welcome to Operation Keep On Ringing In The Free World. We’re going to buy four Twilio phone numbers in the four different ngrok data center territories and make them play music from local artists, piped through ngrok’s local data centers.
What You’ll Need
Local Numbers, Local ngrok Data Centers, Local Music
The first place we’ll stop on Operation Keep It Ringing etc... is the US of A. Representing the US is Bruce Springsteen.
First, head to Twilio.com and buy an US phone number. Then store the song you to play to your listeners on in a directory called “Jams”. We’ll keep all our code here as well.
Fire up …