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 Oluyemi Olususi
    Create One-Time Passwords in PHP with Symfony and Twilio's Verify API Create One-Time Passwords in PHP with Symfony and Twilio's Verify API

    As security threats continue to grow and their impacts become ever-more significant, Two-factor Authentication (2FA) is progressively becoming a de facto security standard. As an extra layer of security to the traditional username/email and password combination normally provided by the user(s) of an application, Two-factor authentication works and can be implemented by:

    • Generating and sending a numeric code to the user's mobile device either via SMS, email, or phone call. This is popularly called One-Time Password (OTP) as it is a short-live password that can only be used once during authentication.
    • Using an authenticator app to provide a constantly rotating set of codes that can be used for authentication when needed.
    • Using push authentication where a user responds to a device push notification to either approve or reject an in-application event.

    In this article, I will show you how to generate an OTP and send it to the user via …

    Read More
  • By Vivian Bai
    Accelerate Your Development with the New Video Room Monitor, Now in Beta Accelerate Your Development with the New Video Room Monitor, Now in Beta

    Whether you are just starting to build with Twilio Programmable Video or are looking to optimize your application in production, access to the inner workings of your video application is essential to iterate fast and verify code changes to lead to the outcome you are looking for. You could dive into the Room object through the browser console, but the values are not updated in real-time, and it often takes many clicks to find the value you want. Furthermore, some of the metrics you need for optimizing your application aren’t easily consumable. For example, although you can get the total bytes sent for a given track after some number of clicks, what you probably want is the bitrate. And you probably want to see how it changes in real-time. As you go through the various stages of development, this process becomes cumbersome and the time it takes to access the …

    Read More
  • By Chris Gargotta
    Introducing Developer Evangelist, Enterprise, Chris Gargotta Introducing Developer Evangelist Chris Gargotta

    One of my wacky and intense hobbies is Triathlon. Triathlon is a sport that combines swimming, cycling, and running together. The average person doesn’t walk out of their house and do a full distance triathlon or run a marathon without training for it first. The training for these events takes time, commitment, and most of all consistency. Whenever I talk to people about doing a triathlon or running a half marathon I normally get responses like “That’s nuts!” or “I could never do that.” I used to have that mentality too.

    chris swim bike run picture

    Over the years triathlon has taught me that people are capable of accomplishing amazing things when they set a goal and have the determination to reach it. I have signed up for races that were daunting and I was unsure of whether or not I could actually finish. I have learned that you cannot attempt …

    Read More
  • By Jesse Sumrak
    6 Undeniable Benefits of Low-Code App Development 6 Undeniable Benefits of Low-Code App Development

    Low-code app development is on the rise across all aspects of businesses. Developers, IT teams, marketing departments, sales organizations, and even human resource teams now use low-code apps and platforms to build time-saving, efficiency-boosting applications.

    Why use low-code app development instead of more custom, traditional methods?

    Well, if everyone had an unlimited budget, time, and developer bandwidth, there really wouldn’t be a need for low-code tools. However, we live in a world where developers are a scarce resource, money is tight, and deadlines need to be met.

    The benefits of low-code app development may seem obvious (hint: low code), but there are deeper advantages that aren’t as obvious at first glance. Below, we’ll walk you through all the benefits of low-code platforms and app development.

    6 benefits of low-code app development

    1. Less coding skill required

    Experienced coders are an invaluable asset to any team, but they can be expensive—plus, …

    Read More
  • By Diane Phan
    How to Run Ngrok Using Java header - How to Use Java Servlets with Ngrok

    Java programmers can benefit from using servlets because they provide an opportunity to understand low-level concepts in Java. Servlets are also great for building interactive web applications and dynamic web pages because they extend apps hosted by web servers. They handle HTTP requests between a browser and any client, database, or application on the HTTP server.

    However, building a local servlet is just the first step. Taking the servlet a step further to communicate with a temporary public domain can allow developers to use webhooks, share a working demo of the project, and more.

    In this article, you will learn how to build and run a servlet to host your Java application and expose it publicly to the web.


    Install ngrok

    Ngrok is a great tool because it allows you to create a temporary public domain that redirects HTTP requests …

    Read More
  • By Diane Phan
    How to Start Your First Java Spark App header - How to Start Your First Java Spark App

    Setting up a new project to hack together an idea shouldn't be a problem, especially with the help of the Spark framework. Not only does this lightweight framework allow developers to be more productive with minimal boilerplate, but explore REST APIs at the same time.

    In this article, you will learn how to navigate a Java IDE to set up and build a Java Spark application.

    Tutorial requirements

    Start a new Java project in IntelliJ

    Open IntelliJ Idea and click on Create New Project.

    IntelliJ IDEA home screen

    Choose Gradle on the left hand side a …

    Read More
  • By Ashley Boucher
    Verify a User via SMS with Express and Twilio Verify verify sms express.png

    Many applications verify and authorize their users by sending a numeric code, called a One-Time Passcode (OTP), to the user’s phone number via either a voice call or a text message.

    In this article you’ll learn how to perform user verification via SMS through Twilio Verify. You’ll build a pared down frontend using JavaScript and HTML and you’ll build a Node.js backend with Express.


    To get started with this tutorial, you’ll need the following:

    • Node.js installed on your machine, along with a package manager like npm or yarn
    • A free Twilio account (sign up with this link and get $10 in free credit when you upgrade your account)
    • A phone where you can receive text messages

    Scaffold your backend

    In your terminal or command prompt window, navigate to your main projects or development folder. From there, run the following commands to create a new project folder, …

    Read More
  • By Jonas Lerebours
    Incident Notification and Escalation Loop using Programmable Voice Incident Notification and Escalation Loop

    Systems and Infrastructures are constantly monitored, and monitoring teams need to dispatch technicians to fix issues as fast as possible when an incident is raised. Using the Twilio API you already can call a single number to reach a technician and deliver a message, or call several numbers and deliver the message to the first person who answers. In this article we introduce an escalation loop: define several people to be called in case of an incident and call them in order, one after the other, until one of them accepts the call.

    For this to happen, we created a reusable set of Twilio Functions that can be triggered by a simple call to a REST API. The code for this solution is available on Github and can be easily deployed on your Twilio project.


    Before you can build the escalation and notification loop, you'll need to register or …

    Read More
  • By Darragh O'Connor
    Smishing: SMS Phishing Explained SMS Phishing Explained.png

    With the rise of attacks using familiar everyday tech as vectors, it is important to discuss the difference between a legitimate, bulk SMS and a well-crafted, malicious SMS designed to access your data or use your device for more nefarious actions.

    In this article, we provide an overview of an increasingly common cyber-attack that relies on the common usage of SMS as a platform, SMS phishing, and how it differs from bulk SMS. We’ll walk through examples of SMS phishing, highlight what you should watch out for, and help you recognize legitimate SMS communications.

    What is phishing?

    Phishing is a cyber-attack that disguises common communication platforms, such as email or messaging services, as a weapon. The goal of this attack is to trick the recipient into believing that the message is urgent and something that they want or need.

    Typically, these attacks can include:

    • A request from their bank to …
    Read More
  • By Ashutosh Hathidara
    Automatically Send Birthday Wishes with Python Flask and WhatsApp Automatically Send Birthday Wishes with Python Flask and WhatsApp

    Do you forget to send birthday wishes to your friends and loved ones? I do, and it usually results in being scolded by my fiancée! I’ve often wished for a software program that could send birthday wishes on my behalf.

    In this tutorial, we will create this exact end-to-end system. We will use Twilio's What’sApp API for sending the messages, the Flask web framework for the web server, and we will run messaging jobs periodically using APScheduler. We’ll also deploy the Flask application to AWS so it can be deployed resiliently and at scale.

    The complete code for this tutorial is available in this Github repository.


    • A Twilio account. (Sign up with this link and receive an additional $10 credit.)
    • The WhatsApp application installed on your mobile phone
    • An activated WhatsApp Sandbox (be sure to follow the setup instructions).
    • Your Account SID and Auth Token, found …
    Read More
  • Newer
    Sign up and start building
    Not ready yet? Talk to an expert.