Making Outbound Calls with Twilio Flex

March 31, 2020
Written by
Karla Nussbaumer
Opinions expressed by Twilio contributors are their own


Even though contact center technology has drastically changed in the last ten years, contact center leaders still experience challenges with their customer experience systems, including:

  • Inflexible systems: difficulty adding new channels, expanding functionality, or modernizing their existing service.
  • Limited integrations: some solutions force businesses to pick one or two business applications to integrate into their contact center. But in reality, agents struggle to access many systems and deliver first contact resolution.
  • Securing budget: contact center changes and customizations require professional services whose costs vary based on the complexity of the service, timelines, resources, and more.

This is why Twilio believes the future of contact center technology is programmability.

What is Programmability?

Programmability gives customers the option to use code to modify and extend the behavior, user experience, and functionality of Twilio Flex to fit the ongoing needs of their contact center. Twilio Flex uses programmability through a series of front-end SDKs. You get granular control over each application that makes up the Flex technology stack.

Let's think about the contact center as if we were comparing the use of “coloring books” vs “white canvas”:

  • Coloring books: This is how we see those contact centers with a defined list of features. You get what you buy, however, you cannot create new functionality or change the behavior of an existing one to match your business needs.
  • Example: The typical CCaaS vendor talks about their pre-built integrations with CRMs A, B, and C as features. But a single CRM integration isn’t enough for some companies which have their own backend systems to manage their customers.
  • White canvas: This is how we see programmability as a framework to design, plan, test and change exactly what you need as your business evolves.
  • Example: Allowing businesses to use APIs and SDKs to create new capabilities or simply to change the Flex layers to fit their requirements.

Here are some examples of how you can control the Flex stack using programmability.


  • Fine-tune capabilities on any channel supported by Twilio. For example, scanning every message for sensitive keywords before it’s sent by an agent.
  • Add your own custom channels. For example, your own chat platform. You can pull in your own chat messages while managing Twilio Flex for the agent interface, routing, and reports. Forget about siloed solutions.

Data and Integrations

  • Access many points of record by using REST APIs for data pulls and real-time event streams for data pushes. Flex collects data from different sources and presents it to your agents, improving operational insight into your CC.


  • Define custom metrics and control the definition of existing metrics. For example, if you compute service level differently from how we do, you can change that definition and it will instantly reflect within every built-in and custom report


  • Automating contact outreach: For example, use preview dialers to call a list of contacts while keeping track of each record. Develop a click-to-call on E.164 numbers that live on a message or in your favorite business application or deliver a callback service during peak hours.

In this blog post, I want to call your attention to Twilio Flex’s outbound calling capabilities. First, we are excited to announce our Flex Programmable Dialpad which is supported in your Flex instance. You can toggle the beta feature directly from your Twilio Console:

Enable the Flex Dialpad in your account
What the Flex Dialpad looks like

Agents spend most of their time on inbound calls, but sometimes they need to make outbound calls to find experts, call back customers, or transfer a call to a supervisor.

Flex Dialpad supports the following capabilities:

  • Outbound calls
  • Cold and warm transfers
  • Transferring calls to a list of available agents
  • Placing callers on hold
  • A dropdown menu of country codes
  • Real-time and historical reports

Find more information on the Flex Programmable Dialpad in the Twilio Flex docs.  

Flex Programmable Outbound Capabilities

  1. Click-to-call: The dialpad is programmable and offers the theming and customizability features of a React component. For example, you can add a search field to look for people in your main database or CRM.

Demonstration of the CRM panel in Flex

Through programmability, Flex retrieves contact data from the business application and subsequently presents it to an agent. This kind of automation avoids any possible risk of misdialing and reduces time-to-call by leveraging data that resides in your applications. 

CRM Panel with calling capabilities

The view is made up of programmable components that you can extend and modify. For example, if you wanted to add click-to-dial into the CRM panel, you could do the following:

Adding click-to-dial to the CRM panel

Find more information on Flex Programmable Click-to-call in the Twilio docs 

Why programmability?

Programmability is not just an API. It covers the entire developer experience –– from experimentation to scaling a solution. The developer experience includes documentation, tooling, release management, samples, and more. Programmability empowers users to add new capabilities that fundamentally transform how you work with your customers. Besides, offers a platform that you can change to fit your particular needs.

Flex Programmable Dialpad Use Case

We can’t wait to see what you build!

Karla is Head of Technical Marketing at Twilio. She is responsible for establishing Twilio Flex as the leader in the contact center market. With technical consulting, research and storytelling as her core skills, she has developed and executed programs to increase Flex growth in the industry.