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 Diane Phan
    How to Send a Picture on WhatsApp Using Twilio and Python header - How to Send a Picture on WhatsApp Using Twilio and Python

    The WhatsApp Business API from Twilio is a powerful, yet easy to use service that allows you to communicate with your users on the popular messaging app.

    In this article, we’ll walk you through how you can develop a functional Python program to send an image to a user through WhatsApp.

    Twilio WhatsApp console with an image and message "check out this owl!"


    To follow this tutorial you need the following items:

    The Twilio WhatsApp sandbox

    Twilio provides a WhatsApp sandbox, where you can easily …

    Read More
  • By Nikki Rubin
    Building Your Startup’s Customer Engagement Roadmap Building_Your_Startups_Customer_Engagement_Roadmap.jpg

    Twilio Startups is designed for early-stage founders building the future of communications with Twilio and Twilio SendGrid. From the launch of your startup, customer engagement is key to building meaningful connections and improving customer experience. To help you in your startup journey, check out the Twilio Startups Customer Engagement Canvas below for startup founders looking to plan their communications roadmap and create lasting customer relationships. Read on to start building your own Customer Engagement Canvas and access the latest research from Twilio to help your startup grow and scale.

    Why is building a customer engagement roadmap important for startups?

    Customer engagement is the emotional connection between your company and your customers—these sentiments strongly influence buying decisions. Unsurprisingly, customers who actively engage with a business tend to be more loyal and customers spend more money supporting brands they feel connected to.

    In business, like in life, you should always have empathy …

    Read More
  • By Valeriane Venance
    Send a WhatsApp Message in 30 Seconds with Ruby how-to-send-whatsapp-message-ruby

    Do I need to introduce WhatsApp? If you are reading this article, you are probably familiar with it, but in case you don't, WhatsApp is a cross-platform centralized messaging and voice-over-IP service that allows people from all over the world to communicate via text and voice calls.

    In this tutorial, you will learn how to send your first WhatsApp message using the Ruby programming language and Twilio.

    A bit of configuration, 30 seconds of code and you’ll be done!


    To follow along with me, you will need:

    Getting started

    Create a new folder called ruby-whatsapp on your computer, this is where we are going to create our code files.

    Install dependencies

    We will need the following gems:

    • bundler for avoiding permissions error
    • twilio-ruby …
    Read More
  • By Miguel Grinberg
    How to Send an SMS in FastAPI with Twilio How to Send an SMS in FastAPI with Twilio

    Twilio is all about powering communication and doing it conveniently and fast in any language. But if you have a Python application written with the asyncio package, it may not be completely clear how to translate the examples from the documentation into non-blocking code that works well with an asynchronous loop.

    In this tutorial you’ll learn how to properly deliver SMS notifications from a FastAPI application. The techniques shown here are also applicable to other asyncio frameworks.

    Project demo

    Tutorial requirements

    Read More
  • By Bharat Murali
    Launch Your First Twilio Segment App with No Code: Don’t Miss a Single Customer Win No Code Segment Integration CodeExchange

    Back in October, we released Quick Deploy apps in Beta – providing easy-to-configure applications that let you launch a Twilio project with no code. It wasn’t much later that we welcomed Segment to the Twilio family.

    Today, we're excited to announce our very first Twilio-Segment app in Twilio’s CodeExchange.

    Who should use the Twilio Segment Quick Deploy App

    If you own or run a business, understanding your customers deeply is critical to your success. Knowing who your customers are and reacting to their actions and needs are difficult tasks to accomplish in the digital world without adding needless friction. Engaging with the customer at the right time is essential.

    This is where Segment and Twilio come in. Segment allows you to observe and understand your customers while Twilio provides you with the channels to engage with them at the right time – and in the right medium.

    This Quick …

    Read More
  • By Vijay Devarapalli
    The Benefits of “Consumer Profile” eSIMs for IoT devices ConsumerProfiles_BlogHeader.png

    eUICC SIMs (aka eSIM) present a significant step forward in cellular connectivity for IoT devices. What does the architecture look like for implementing eUICC SIMs? This article provides a technical deeper dive and explains the benefits of the so-called Consumer Profile architecture over M2M Profiles.

    The convenience of deploying SIMs digitally

    If you are deploying a fleet of IoT devices, you don’t have to worry about buying SIMs, getting them shipped and clearing customs, managing an inventory of physical SIMs and having a process in place for swapping SIMs when needed. eUICC SIMs eliminates all of that by converting a physical SIM into a digital profile that can be downloaded on-demand onto an eUICC SIM.

    For unmanaged IoT devices, eSIM/eUICC means you can deploy once and never have to visit the device location for a SIM swap to change your connectivity provider.

    eUICC SIMs are also known popularly as eSIM, …

    Read More
  • By Mia Adjei
    Grant Video Access Tokens with Your Express + TypeScript Video API Grant Video Access Tokens with Your Express + TypeScript Video API

    So you've built a video API with Twilio Programmable Video, Node.js, TypeScript, and Express. You've added CORS support so that your future video app will be able to access resources on your server. What's next?

    In order for users to actually be able to connect to video rooms in your app, they will need to be authenticated using an access token. In this tutorial, you'll update your Express + TypeScript video API to add a new route that grants access tokens to the users who will be using your video app. Let's get started!


    You will need:

    • A free Twilio account. (If you register here, you'll receive $10 in Twilio credit when you upgrade to a paid account!)
    • Node.js (version 14.16.1 or higher) and npm installed on your machine.
    • HTTPie or cURL.
    • The code from the previous tutorial (see below).

    The rest of this tutorial builds on …

    Read More
  • By Mia Adjei
    Add CORS Support to Your Express + TypeScript API Add CORS Support to Your Express + TypeScript API

    Imagine you've just built a great API using Node.js, Express, and TypeScript. You've also built a client-side web app and are ready to fire it up in your browser, get it talking to your server, and hopefully share it with the world.

    You open up a browser window and navigate to where your app is running, then you pop open the console in your developer tools. Your app makes its first API call to your server...but then, instead of the data you're expecting to see populate your app, you see an error like the one below in your console:

    Access to fetch at 'http://localhost:5000/rooms' from origin 'http://localhost:3000' 
    has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present 
    on the requested resource. If an opaque response serves your needs, set the 
    request's mode to 'no-cors' to fetch the resource with CORS disabled.

    Yikes! This error is due to Cross-Origin Resource …

    Read More
  • By Harrison Harnisch
    Bridging Legacy and Future Platforms bridging-legacy-and-future-platforms.jpg

    Twilio’s sustained growth over the last decade has led to several architectural iterations of the Twilio Console. With each iteration, comes changes to handle the biggest problems of the time. The next generation of the Twilio Console is no exception!

    The previous post covered some of the challenges and issues we solved from the UX perspective. In this post, we’ll walk through how and why we went about migrating from the legacy Console to the new Console experience safely (spoiler, iframes were involved).

    Legacy Console

    In the previous iteration of the Twilio frontend architecture, the legacy Console was constructed in the Micro-Frontend pattern where each product team would have control over their content. The shell around the content was responsible for handling navigation between products, search, and settings for accounts and users.

    The proxy layer orchestrated this all by server-side rendering index.html, providing the HTML element for each product …

    Read More
  • By Michael Carpenter
    How I learned to stop worrying and use the PSTN how i learned to stop worrying.png

    VoIP-in' Around


    Voice-over-IP can be great, especially in places like call centers or offices with a managed network featuring properly applied quality of service, hefty bandwidth, and symmetric uplink/downlink allocations. In spots like these the improvement over traditional telephony speaks for itself: lower cost, elastic scalability, and call quality that is as-good-or-better-than plain old telephone service (POTS).

    The issue is those pesky unmanaged networks, where a customer service agent working from home, a sales rep making a call from a coffee shop, or a voice application user on a cellular network may have no visibility into the performance of the network they are on, and in most cases zero ability to make changes to the network.

    The overwhelming majority of call quality issues we see at Twilio are due to the local network conditions at the VoIP user end. Based on analysis of our Voice Insights data, on an average …

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