Rate this page:

Programmable Voice Tutorials

Use the left navigation pane or click on a tutorial from the list below to start building with Programmable Voice.

Basic tutorials

Recording calls

Advanced call handling

  • Build an Interactive Voice Response (IVR) phone tree

    Create a seamless customer service experience by building an IVR Phone Tree for your company. IVR systems allow your customers to access the people and information they need. With Twilio, it's easy to build one yourself in the web programming language you already use.

  • Build an Interactive Voice Response (IVR) for screening and recording calls

    Create a seamless customer service experience by building an IVR Phone Tree for your company. IVRs give the power back to your customer and allow you to serve up common requests immediately and on the fly. In this tutorial, we'll learn how a company like Home Depot might implement an IVR for their customers, including call screening and sending customers to voicemail if an agent isn't available.

  • Build warm transfers

    Have you ever been disconnected from a support call while being transferred to another support agent? Warm transfer eliminates this problem. Using Twilio-powered warm transfers your agents will have the ability add other people to an in-progress phone call to provide a seamless customer experience.

  • Build an automated survey

    Using Twilio you can build automated surveys that call your customer at the point of service to get immediate feedback. Companies like Survey Monkey are using automated surveys to create better customer experiences. "No one else can offer a poll at 6:00pm and get results by 6:30pm," says Chuck Groom, head of engineering at Survey Monkey's Seattle office. "And what takes the best vendors 3 to 5 days we can accomplish in just two hours."

  • Build call forwarding

    Connect incoming phone calls to the caller's senators based on location with Twilio.

  • Track calls to measure marketing campaign effectiveness

    Call Tracking helps you measure the effectiveness of different marketing campaigns. By assigning a unique phone number to different advertisements, you can track which ones have the best call rates and get some data about the callers themselves.

  • Build a rapid response kit with Voice Conference and Broadcasting

    Help your company stay organized with two helpful features - voice conference and broadcast. In a few minutes you can build a moderated conference line that allows people to listen, speak or moderate during the call. Voice Broadcasting allows you to immediately broadcast a pre-recorded voice message to a list of contacts.

  • Mask phone numbers

    Allow your customers or mobile employees to call or text each other while masking their phone numbers. By implementing masked phone numbers you can track all conversation metadata in your system while maintaining your customers' privacy. Twilio customers like Airbnb use masked phone numbers to create a frictionless conversation.

Capturing payments

Media Streams

  • Consume a real-time Media Stream using WebSockets, Python, and Flask

    With Twilio's Media Streams, you can access real-time voice data from a Twilio call. Media Streams will stream the audio from the call for its entire duration to a location of your choice. In this tutorial, you will learn how to stream audio from a live phone call using Twilio, Python, and Flask.


Calls in the browser

Kat King David Prothero Craig Dennis Brianna DelValle
Rate this page:

Need some help?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.

Loading Code Sample...

        Thank you for your feedback!

        Please select the reason(s) for your feedback. The additional information you provide helps us improve our documentation:

        Sending your feedback...
        🎉 Thank you for your feedback!
        Something went wrong. Please try again.

        Thanks for your feedback!