Twilio Changelog

Additions and changes to the Twilio platform

Filter by:Clear all
Programmable Voice

Media Streams is now Generally Available GA

Twilio Media Streams, introduced at SIGNAL 2019, is now Generally Available. Media Streams API gives you access to the raw audio of your Programmable Voice calls by forking the audio stream in real-time and sending it to the destination of your choosing using Websockets or SIPREC. Media Streams lets you improve customer experience in real-time by unlocking use cases such as real-time transcriptions, voice authentication, sentiment analysis, speech analytics and more. Send your forked audio stream to your own application or to a third party provider such as Google Speech-to-Text, Google Dialogflow, Amazon Lex, or Gridspace Sift.

Learn more about how to use it and check out our Github code samples.

Programmable Voice

New Audio Setting for Programmable Voice Conference GA

To provide the best audio experience for multi-party Voice Conferences we automatically suppress the background noise of participants who are not speaking. However, in a very low-noise Contact Center environment, customers may believe the agent has hung up the call when the agent stops speaking. To avoid this problem we have added a new audio setting called Background Noise Passthrough. 

When this setting is enabled the background noise of the agent will be passed through to the customer and provide an audible indication the call is still in progress. This can result in fewer abandoned calls by customers.

To learn more, visit the Conference Settings in the console.

Programmable Voice

Voice API request logging for calls and conferences GA

Request Inspector now shows API requests made to Twilio's Voice APIs for call creation, call modification, conference participant creation, conference participant modification, and conference modification with respective parameters. Previously developers would need to enable logging of API request parameters in their applications and manually compare their application logs with the call behavior in Twilio Console to know if a call ended or a participant was muted using the API. These requests are available to view in Console for both completed and in-progress calls. This change simplifies debugging of call behavior issues by providing the API requests, TwiML requests and responses in one place.

Twilio now supports Amazon Polly Neural Text-to-Speech (TTS) Voices allowing you to use higher quality voices with TwiML <Say> in your voice applications. The ground-breaking improvements in speech quality come through a new machine learning approach which converts text into lifelike speech. Amazon Polly Neural voices are currently available in two speaking style voices - Newscaster and Conversational and across four languages - English (British), English (US), Portuguese (European), and Spanish (US). 

Try these voices in your IVR applications by selecting them in the TTS console or by setting them in your TwiML <Say> attributes. For more information on the voices and on pricing, please visit Twilio Text-to-Speech docs and Amazon Polly docs

This release of Flex UI introduces a pilot release of Advanced Team View Filters. This feature allows supervisors to search or filter their agents by name or activity or use custom, programmatically defined, filter criteria like teams or skills.

Screenshot 2020-03-24 at 18.52.41.png

The Flex team looks forward to hearing your feedback and making further improvements. To provide feedback, please write to us at

For a full Flex UI 1.18 changelog, visit the Flex UI release notes.


Debug logs endpoint now available for Twilio Functions Beta

Twilio Functions makes it easy to deploy custom code onto Twilio to support your communications use cases. Today, we're introducing a new Serverless API endpoint that lets you retrieve debug logs for Functions executions. In addition,the Twilio Debugger will now show Warning and Error level log messages added to your Functions code. You can tail logs from deployed Functions locally via the latest version of the Serverless Toolkit

To learn more about the functionality, visit the Logs page in the Serverless API documentation.

Programmable Video

Introducing Open Source Video Collaboration Apps GA

Today we are excited to announce that we are open sourcing three video collaboration applications, one for iOS, one for Android, and a ReactJS one for the Web. These fully featured apps can be deployed to the Twilio cloud in minutes for your own personal, globally scalable, multiplatform video collaboration solution.  

Access to the source code will empower developers to tailor the application to their use case and create a truly unique collaboration experience. The code also provides a canonical reference for developers building on the Twilio Programmable Video APIs.

For additional information on getting started see the blog post here and links to the source code repos are below.

Programmable Voice

New Filters in Voice Insights Dashboard GA

We have added new filter dimensions to the Voice Insights Dashboard. The new filters are:

 Filter Description
 Client Name  Registered Client name; e.g. client:alice. Voice SDK calls only. 
 SIP URI SIP URI; e.g. sip:bob@pbx.ip. SIP Interface and Elastic SIP Trunking calls only.
 Network Affected Carrier, SIP, or Trunking calls tagged with jitter, packet loss, or latency.
 Network Affected (SDK)

 Voice SDK calls tagged with jitter, packet loss, or latency. Twilio Voice SDK calls only.

 Browser Browser used for WebRTC calls. Twilio Client JavaScript SDK only.
 SDK Type JavaScript, iOS, or Android. Twilio Voice SDK calls only. 
 SDK Version Twilio SDK version number. Twilio Voice SDK calls only.
 Client Registration Region The Twilio region where the Client was registered. Twilio Voice SDK calls only.
 Twilio Media Region The GLL region where the Twilio gateway handled media.
 Client IP The IP address of the Client user. Twilio Voice SDK calls only

These new filters allow for highly precise results from Dashboard investigations. For example, you can now find calls to Canada placed from the United States using Voice SDK version 4.0 on iOS where the network quality issues were detected and the Client registration region was gll but the media region that handled the call was in Japan. Once filtered you can view the detailed call summary and metrics in Console or export the list of calls that matched this criteria for analysis.

For more information see

Programmable Voice

Client Insights Preview End-of-Life and API Migration Guide Deprecated

The Client Insights beta ended in August 2019 with the general availability of Voice Insights. We have continued to respond to requests made to the preview API, but we will cease responding to requests to beta API resources on May 1, 2020.

If your application consumes the preview API resources you will need to update your code to use the new endpoints. We have created a migration guide to assist with update your applications:

For more information about the shutdown of the Client Insights preview API see

Twilio Functions created via the Serverless API can now be integrated with your Studio Flows through the Run Function widget.

Selecting a Function to invoke in the Flow is easy. For Functions created via the Console UI choose the "Default" service, and for Functions created via the Serverless API choose the Service and Environment where they are deployed.

Run Function v2 widget

To learn more, visit the documentation for Run Function, or just try it out now in Studio.

With this release, Studio Gather Input On Call widget now supports additional speech recognition features so you can fine-tune your Studio Flows for Voice. The new attributes allow you to adjust the Speech Timeout, specify a Speech Model, and control the Profanity Filter setting. All this functionality is powered by the underlying Gather verb from our Programmable Voice product.

In addition to the Gather improvements, the Record Voicemail widget now provides controls for the Trim Silence and Play Beep settings and even provides access to the Recording Status Callback URL so your application can be notified when a new recording is complete.

Finally, the Say/Play widget supports sending Digits on a call when the Play option is selected, allowing you to programmatically play DTMF tones to navigate an external IVR.

To learn more, visit the documentation on the Gather widget, Recording widget, and Say/Play widget, or just try it out now in Studio.

You told us you didn't like the fuzzy timestamps on the Twilio Debugger that said an event happened "a few seconds ago" instead of showing you the actual timestamps. We changed it.

Now you will see the actual timestamp of the event in UTC. 

Programmable Voice

Voice Android 5.1 - Automatic Network Switching GA

Prior to this release, a call established over cellular data for example, persisted over cellular data for the duration of the call even if a WIFI network became available. This is undesirable since a WIFI network is usually cheaper and requires less battery power. With this release, an ongoing call will automatically and seamlessly switch to a preferred network type when one becomes available. Network types supported in preferred order are: ETHERNET, WIFI, VPN, and CELLULAR.

Voice Android SDK 5.1.0 package: [bintray]

API Docs are available here

Get started with the Quickstart Guide

Programmable Voice

Voice iOS 5.2 - Automatic Network Switching GA

Prior to this release, a call established over cellular data for example, persisted over cellular data for the duration of the call even if a WIFI network became available. This is undesirable since a WIFI network is usually cheaper and requires less battery power. With this release, an ongoing call will automatically and seamlessly switch to a preferred network type when one becomes available. Network types supported in preferred order are: ETHERNET, WIFI, VPN, and CELLULAR.

Voice iOS SDK 5.2.0 packages: [Carthage], [Cocoapods], [Dynamic Framework], [Static Library]

API Docs are available here

Get started with the Quickstart Guide

Invoices Display Account Project Name GA

Your invoices will now show your account name(s) along with the company name. If you have multiple accounts (a.k.a projects) on your invoice (multi-account invoicing), you will see the account name (a.k.a project name) for each account in parenthesis next to each account’s company name.

This addition to the invoice is to help you connect an invoice with the correct account since some customers track their Twilio projects by account name instead of company name.

You can understand more details about your invoice at Reading your Twilio Invoice. You can change your account name as explained in Can I change the name of my project.

Account Project Name in Invoice Header

Account Project Name in Usage Summary

Programmable Voice

Outbound Call Queue Insights in Programmable Voice REST API GA

Outbound calls made using the REST API are throttled and queued to never exceed the Calls Per Second (CPS) threshold value that is set up on the Account. This throttling may create undesirable behavior as call establishment may be delayed. With this release, a new attribute "QueueTime " is available to monitor the call queue time. Prior to this change, there was no indication into whether the outbound calls were being queued and delayed, which made it difficult to know when to update the CPS to an appropriate value. This change returns QueueTime with the value of the estimated call queuing time in milliseconds. This can be used to detect when CPS updates are needed.

This release of Flex UI introduces an Initial Audio Device Check which allows you to perform an audio device availability check when Flex starts up to make sure you are ready to receive voice calls. Read more about it here

Initial Audio Device Check is currently available as a Pilot feature. To enable it, go to Pre-Release Features Page.

For a full changelog, visit the Flex UI release notes.

Programmable Voice

US/CA Unassigned Calling Number Blocking GA

Twilio is now blocking outgoing calls that use unassigned calling numbers for Programmable Voice and Elastic SIP Trunking. Unassigned numbers are numbers not in service. This change will protect you and the platform from unlawful From number overrides. 

You can see calls blocked by inspecting Error notifications, 13247, 21212, 32206


Hold Time Metric in Flex Insights Beta

Flex Insights Historical Reporting now has out of the box metrics for reporting on holds in calls. You can now build reports that identify calls where agents put customers on hold and how long the holds in calls are. Users can find agents, queues and teams that may need attention as they have too many or too long holds in their calls. See Hold Time documentation article for more details.

Phone Numbers

Regulatory Compliance - Public Beta Regulations API Beta

The Regulations API is moving to Public Beta. The Regulations API resource allows users to programmatically fetch the Regulations for a given phone number’s country, type, and the end-user type. The Regulations API is in sync with the Regulatory Guidelines webpage and is continually updated.

For additional details:

Show more