Level up your Twilio API skills in TwilioQuest, an educational game for Mac, Windows, and Linux. Download Now
Build the future of communications.
Start building for free
  • By Miguel Grinberg
    Screen Sharing with JavaScript and Twilio Programmable Video Screen Sharing with JavaScript and Twilio Programmable Video

    The Twilio Programmable Video API allows you to build customized video chat applications on top of the WebRTC standard. In this article, I’m going to show you how to add a screen sharing option to a browser-based Programmable Video application built in JavaScript.

    Screen sharing demo

    Tutorial requirements

    In this tutorial we are going to add a screen sharing feature to the video chat application built with JavaScript and Python on a previous introductory tutorial. To run this application on your computer you need the following requirements:

    • 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.
    • A free or paid Twilio account. If you are new to Twilio get your free account now! This link will give you $10 when you upgrade.
    • A web browser that is compatible with the Twilio Programmable Video JavaScript library (see below …
    Read More
  • By Miguel Grinberg
    Automating Ngrok in Python and Twilio Applications With Pyngrok Automating Ngrok in Python and Twilio Applications with Pyngrok

    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 …

    Read More
  • By Miguel Grinberg
    Using Test Credentials and Magic Phone Numbers to Test Twilio Applications Using Test Credentials and Magic Phone Numbers to Test Twilio Applications

    A common problem when developing an application that uses Twilio services is how to effectively test it. Making real requests to Twilio for testing purposes is something that can be useful when done sparsely, but it is not ideal as a general approach to testing because it can end up being expensive. Also, when testing how your application responds to errors you are going to find that it is very hard to replicate all the possible error conditions that can occur in SMS or Voice communication.

    In this article you are going to learn how to work with your Twilio Test Credentials to be able to send fake, yet realistic requests to Twilio that have a predictable result, and more importantly, are 100% free.

    Tutorial requirements

    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 …
    Read More
  • By Miguel Grinberg
    Send WhatsApp Notifications with Python and Twilio Send WhatsApp Notifications with Python and Twilio

    Twilio makes it easy to send WhatsApp notifications to users directly from your Python application. In this tutorial we are going to build a simple product delivery form that sends WhatsApp notifications to customers regarding the delivery of their orders.

    whatsapp notification demo

    Tutorial requirements

    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 is accessible on the Internet. This is necessary for the development version of the application because your computer is likely behind a router or firewall. If you don’t have ngrok installed, you can download a copy for Windows, MacOS or Linux.
    • A smartphone with an active phone number and WhatsApp installed.
    • A Twilio …
    Read More
  • By Miguel Grinberg
    Play Chess with a Friend on WhatsApp using Python and Twilio Play Chess with a Friend on WhatsApp using Python and Twilio

    While most of the world is under some form of stay-at-home orders to prevent the spread of COVID-19, we are constantly looking for new ways to entertain ourselves and remain connected with family and friends.

    When I was little I used to play chess a lot, so now that I have additional time on my hands I decided to start playing again. The thing is, nobody in my immediate family plays chess, so I had this idea of using WhatsApp to play a game of chess against a remote friend.

    Chess game demo

    By the end of this tutorial you will know how to use the Twilio API for WhatsApp to implement a turn-based game that requires sending messages and images between multiple participants. You will also learn about how to manage a game of chess in Python, but even if chess isn’t your thing, you will be able to replace the chess …

    Read More
  • By Miguel Grinberg
    Build a COVID-19 Bot with Python and Twilio Autopilot Build a COVID-19 Bot with Python and Twilio Autopilot.png

    Twilio Autopilot makes it easy to build conversational bots that provide information to users in a highly engaging and intuitive format. A single Autopilot bot can be deployed on several channels including SMS, Voice, WhatsApp, Slack, Alexa and more.

    In this tutorial we are going to build a bot that provides COVID-19 stats for all countries using a purely conversational style. We will train the bot with example sentences to help it extract meaning from the freeform text entered by the user. Once you learn how this specific bot works, you will be able to adapt it to other data sources.

    Autobot conversation

    The aspects that make this bot interesting that I’d like you to notice are:

    • The user makes requests in an informal and conversational tone. Autopilot makes it very easy to “teach” the bot how people ask questions using freeform language, and how to extract the actual information embedded in …
    Read More
  • By Miguel Grinberg
    Build a Video Chat Application with Python, JavaScript and Twilio Programmable Video Build a Video Chat Application with Python, JavaScript and Twilio Programmable Video

    The efforts to limit the spread of COVID-19 around the world have forced a large number of people to work from home and this has naturally created a surge in interest for communication and collaboration tools.

    In this article we are going to look at a video conferencing solution, but instead of turning to a third-party system we are going to take the do-it-yourself approach and build our own. Our system is going to run on modern desktop and mobile web browsers, so participants will not need to download or install any software on their computers. The server-side portion of the project is going to use Python and the Flask framework, and the client-side is going to be built in vanilla JavaScript, with some HTML and CSS sprinkled in the mix for good measure.

    If you are worried that this is going to be a long, difficult and obscure tutorial …

    Read More
  • By Miguel Grinberg
    How to Run a Flask Application How to Run a Flask Application

    For many years the famous “Hello, World” example Flask application was 7 lines long. Below you can see a snapshot of the Flask website as it looked on June 12th, 2017:

    old flask website

    This example application then was shortened to just 5 lines. Here is the same page on June 17th, 2017:

    new flask website

    As you can see, the core of the application has not changed, but the method by which the application server is started has indeed changed, and in a very significant way. While previously a simple app.run() call inside the application script was used, now there is a flask run command, plus a FLASK_APP environment variable.

    While the design of the Flask website has changed considerably in the years that followed, as I’m wri …

    Read More
  • By Miguel Grinberg
    Receiving Emails with Python, Flask and Twilio SendGrid Receiving Emails with Python, Flask and Twilio SendGrid

    If you search online for tutorials or guides on integrating emails into your Python web application, in particular in relation to the Flask framework, you are going to find a lot of content on sending emails, but little or nothing on how to receive and process emails.

    The reason is that setting up an application to receive emails is incredibly difficult if you want to do it yourself. Luckily Twilio SendGrid includes the Inbound Parse feature, a greatly simplified method for receiving emails based on webhooks.

    In this short tutorial you are going to learn how simple it is to receive emails on your own domain, all from a Flask application and with the help of Twilio SendGrid.

    Tutorial Requirements

    To follow this tutorial you will need to have the following items:

    • Python 3 — If your operating system does not provide a Python 3 interpreter, you can go to …
    Read More
  • By Miguel Grinberg
    Serverless Phone Number Validation with AWS Lambda, Python and Twilio Serverless Phone Number Validation with AWS Lambda, Python and Twilio

    If your application requests phone numbers from your users, it’s a good idea to ensure that the numbers they provide are valid. The Twilio Lookup API provides an easy way to obtain information about any phone number, such as validity, carrier, line type, and even caller ID information for certain numbers in the United States.

    In this article, you will learn how to build a simple serverless function that performs phone validations. The application will be hosted on the AWS Lambda serverless platform and will be written in Python. Even if phone validation isn’t your thing, you will find that the techniques presented in this article can be applied to other APIs from Twilio or even other service providers.

    Tutorial Requirements

    To follow this tutorial you need the following items:

    Read More
  • Newer
    Older
    Sign up and start building
    Not ready yet? Talk to an expert.