It’s never been so easy to set up your own call center and be in touch with your customers. With Twilio you can manage queues, assign agents and even get metrics about how the queues are working. All of it with little amount of code. In this tutorial we will show you how to accept incoming calls, place them into a queue, and then connect live agents to these callers, using Twilio Voice API, and the Flask framework for Python.
To follow this tutorial you need the following components:
- Python 3.6 or newer. If your operating system does not provide a Python interpreter, you can go to python.org to download an installer.
- ngrok. We will use this handy utility to connect the Flask application running on your system to a public URL that Twilio can connect to. This is necessary for the development version of the …
There is a lot of progress being made in the battle against spam and robocallers. But – one of the techniques spammers still abuse is CallerID, known as CallerID spoofing. CallerID spoofing falsifies where the call originates on the public telephone network allowing the fraudster to impersonate identities – and vulnerable victims like you and me answer the phone.
Currently in beta, Twilio announced Programmable Voice and Elastic SIP Trunking now perform SHAKEN/STIR verification on all incoming calls in the United States to your Twilio local phone numbers when a SHAKEN/STIR identity header is present. The percentage of calls with the identity header will continue to rise over the coming year. You can read more about the technical implementation details under How to make trusted calls and protect against unlawful spoofing using SHAKEN/STIR.
Don’t miss Twilion Tim Beyers’s upcoming talk at SIGNAL 2020 on SHAKEN/STIR.
There’s still time …
In this tutorial, we’ll be looking at how to record outbound voice calls via the Twilio Programmable Voice API as well as uploading the recordings to Dropbox using the Dropbox API. So basically, person #1 would call your Twilio number, ask to call a person #2 by entering their phone number, and then the call between person #1 and person #2 would be recorded and sent to Dropbox.
To follow along, you’ll need the following:
- A free Twilio Account. If you use this link to register, you will receive $10 credit when you upgrade to a paid account.
- Python Development Environment
- Ngrok. This will make the development version of our application accessible over the Internet.
- A free Dropbox Account.
Creating a Python environment
Let’s create a directory where our project will reside. From the terminal, run the following command:
$ mkdir twilio_outbound_dropbox
cd into …
GPT-3 (Generative Pre-trained Transformer 3) is a highly advanced language model from OpenAI. Its claim to fame is its ability to generate written text that is virtually indistinguishable from human-written text. It’s enjoying a ton of buzz these days, so I thought we could have a little fun with it by creating a GPT-3 powered chatbot that you can talk to over the telephone.
Below you can hear a short conversation I had with this bot about the Moon:
To follow along, you’ll need:
- A free Twilio account. If you use this link to register, you will also receive $10 credit when you upgrade to a paid account.
- An OpenAI API key. Visit openai.com to request it.
After completing this tutorial, you’ll have a phone number that you can call to have a conversation with a GPT-3 …
Surveys serve as a great tool for gathering information from a sample of people and can take multiple forms but are most common in the form of a questionnaire, either written, online or over the phone.
In this tutorial, I’m going to walk us through how to build an automated Phone Survey System which is a form of an Interactive voice response (IVR) system. An IVR system is a technology that allows a computer to interact with humans through the use of voice and DTMF tone input via the phone’s keypad. To build this application, I will be working with the Twilio Python Helper Library, the Flask framework for Python and Google Sheets. Below is a high-level overview of how the application works:
For the purpose of building this application, I have selected the following three questions to include in the survey:
- Do you own or rent a house? …
We've seen how to build a conference line and then protect it with a static passcode. However, passcodes can be guessed or leaked, especially if they are reused over time. An alternative is to make a list of numbers that are permitted to join the call. But, since spoofing phone numbers is relatively easy, this still may not protect you.
A one-time passcode (OTP) sent to a caller's phone or email, can verify they are who they say they are and increase the security of your conference line once more.
In this post we will take the Rails application we previously developed and add a conference line secured in two ways. We will:
- Ensure that the caller is a known participant by checking their caller ID against a list of permitted phone numbers
- Send them an OTP using Twilio Verify which they then have to enter correctly to ensure …
We are thrilled to announce the beta release of the Voice Diagnostics Web App and the accompanying RTC Diagnostics SDK and Client JS SDK's Device.testPreflight. These tools are designed to simplify checking for browser calling readiness and diagnosing network related issues. Today, they are available in beta and they are open source.
A typical VoIP service requires many connected parts to work together flawlessly. The Voice Diagnostics Web App and SDK help with checking for VoIP calling readiness
Twilio Programmable Voice and WebRTC capable browsers have paved the path for VoIP and contact center service providers to implement cheaper and more engaging calling experiences compared to …
In a recent blog post, about building a dial-in podcast service, I looked at accessibility; specifically, at how the trusty telephone brings us all closer, and can even make podcasts available to all, without expecting everyone to embrace computers and the internet.
Now, it's great to cater for a non-technical audience or those who don’t have internet access, but what if the person providing the dial-in service is a bit of a techno-phobe too or is simply busy with other things (e.g. local business owners)? Or: what if you can see the potential of Twilio phone numbers for your business or club or charity, but can't afford to employ a programmer to put your ideas into practice?
Fortunately, thanks to Twilio Runtime, you don’t need to. You really can do it all yourself, without learning how to write a webapp and maintain a server!
In this blog …
School closures, emergency notifications, and severe weather alerts are examples of time-sensitive automated phone calls that consumers care about. However, creating notification solutions can be difficult. We often find organizations face roadblocks while developing flexible solutions that scale to accommodate high-volumes or new regions, reliably. Building these types of solutions takes time and careful consideration. To aid in developer education, we are excited to announce that we are open sourcing a Voice Notification App built in ReactJS for the Web. This reference app can be deployed to Heroku in minutes and demonstrates how to leverage Programmable Voice APIs to create a voice notification system to make calls to your customers to deliver time-sensitive messages.
You can use this reference app as a starting point for your voice notification use case.
This application is available on GitHub under the Apache 2.0 license. See the source code repo here: https://github.com/twilio/twilio-voice-notification-app
Features overview …
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 …