Featured

How to use ngrok with Windows and Visual Studio to test webhooks

ngrok is a fantastic tool for debugging webhooks and web development in general. This guide will provide you with the skills you need to make ngrok work harmoniously with Visual Studio and IIS Express on Windows.

How to set up your Python and Flask development environment

Learn how to set up Python for web development using the Flask web app framework. Manage dependencies with pip and virtual environments and expose your local development machine to the Internet with ngrok.

How To Make REST API Requests in PowerShell

In this tutorial, learn how to use Invoke-WebRequest in PowerShell to make a REST API request to an endpoint protected with HTTP Basic Authentication. Our script will make an API request to Twilio to send an outbound SMS message from our PowerShell script.

How to set up your Node.js and Express development environment

Learn how to set up Node.js for web development using the Express web app framework. Manage dependencies with npm and expose your local development machine to the Internet with ngrok.

Secure your Flask app by validating incoming Twilio requests

Secure the views in your Flask application which accept incoming requests from Twilio. Use the Twilio Python SDK's request validator utility to confirm incoming requests to your views genuinely originated from Twilio.

Secure your Django project by validating incoming Twilio requests

Secure the views in your Django project which accept incoming requests from Twilio. Use the Twilio Python SDK's request validator utility to confirm incoming requests to your views genuinely originated from Twilio.

How to Use bash or zsh to Send an SMS from a New Twilio Number

We demonstrate using curl and sed in bash to find and purchase a Twilio number. We then use it to send a text message using only the command line.

How to Use the C Shell to Send an SMS from a New Twilio Number

We demonstrate using curl and sed in csh to find and purchase a Twilio number. We then use it to send a text message using only *NIX tools.

Serverless Webhooks with Azure Functions and C#

Leverage serverless architecture using Azure Functions and C# to handle Twilio's webhooks for incoming SMS messages and voice phone calls.

How to set up your Java and Servlets development environment

Learn how to set up Java for web development using Java Servlets. Manage dependencies with Gradle and expose your local development machine to the Internet with ngrok.

How to set up your PHP development environment

Learn how to set up PHP for web development using vanilla PHP. Manage dependencies with Composer and expose your local development machine to the Internet with ngrok.

How to set up your Ruby and Sinatra development environment

Learn how to set up Ruby for web development using the Sinatra web app framework. Manage dependencies with Bundler and expose your local development machine to the Internet with ngrok.

Serverless Webhooks with Azure Functions and Node.js

Leverage serverless architecture using Azure Functions and JavaScript/Node.js to handle Twilio's webhooks for incoming SMS messages and voice phone calls.

Secure your Express app by validating incoming Twilio requests

Secure the views in your Express application which accept incoming requests from Twilio. Use the Twilio Node SDK's webhook middleware to confirm incoming requests to your views genuinely originated from Twilio.

Secure your Servlet app by validating incoming Twilio requests

Secure the Servlets in your Java application which accept incoming requests from Twilio. Use the Twilio Java SDK's request validator utility to confirm incoming requests to your views genuinely originated from Twilio.

Secure your Sinatra app by validating incoming Twilio requests

Secure your Sinatra application which accept incoming requests from Twilio. Use the Twilio Ruby SDK's request validator utility to confirm incoming requests to your views genuinely originated from Twilio.

Secure your PHP/Lumen app by validating incoming Twilio requests

Secure the routes in your Lumen application which accept incoming requests from Twilio. Use the Twilio PHP SDK's request validator utility to confirm incoming requests to your views genuinely originated from Twilio.

How to set up your C# and ASP.NET MVC development environment

Learn how to set up C# for web development using the ASP.NET MVC web app framework. Expose your local development machine to the Internet with ngrok.

SMS

Track Delivery Status of Messages in C#

Learn how to track the delivery status of messages you send with Programmable SMS in your C# / ASP.NET web application and provide delivery feedback to Twilio.

Track Delivery Status of Messages in Python

Learn how to track the delivery status of messages you send with Programmable SMS in your Python web application and provide delivery feedback to Twilio.

Track Delivery Status of Messages in Node.js

Learn how to track the delivery status of messages you send with Programmable SMS in your Node.js web application and provide delivery feedback to Twilio.

Track Delivery Status of Messages in PHP

Learn how to track the delivery status of messages you send with Programmable SMS in your PHP web application and provide delivery feedback to Twilio.

Track Delivery Status of Messages in Ruby

Learn how to track the delivery status of messages you send with Programmable SMS in your Ruby web application and provide delivery feedback to Twilio.

Track Delivery Status of Messages in Java

Learn how to track the delivery status of messages you send with Programmable SMS in your Java web application and provide delivery feedback to Twilio.

Send Bulk SMS Messages in Python

Learn how to enhance SMS using Twilio's Programmable SMS with Copilot. Send bulk SMS messages and improve message delivery using Python.

Send Bulk SMS Messages in PHP

Learn how to enhance SMS using Twilio's Programmable SMS with Copilot. Send bulk SMS messages and improve message delivery using PHP.

Send Bulk SMS Messages in Node.js

Learn how to enhance SMS using Twilio's Programmable SMS with Copilot. Send bulk SMS messages and improve message delivery using Node.js.

Send Bulk SMS Messages in Ruby

Learn how to enhance SMS using Twilio's Programmable SMS with Copilot. Send bulk SMS messages and improve message delivery using Ruby.

Send Bulk SMS Messages in Java

Learn how to enhance SMS using Twilio's Programmable SMS with Copilot. Send bulk SMS messages and improve message delivery using Java.

Send Bulk SMS Messages in C#

Learn how to enhance SMS using Twilio's Programmable SMS with Copilot. Send bulk SMS messages and improve message delivery using C# / .NET.

Receive and Reply to SMS and MMS Messages in Python

Learn how to respond to an incoming SMS text message with a custom message using Twilio's Programmable SMS API and Python.

Receive and Reply to SMS and MMS Messages in Ruby

Learn how to respond to an incoming SMS text message with a custom message using Twilio's Programmable SMS API and Ruby.

Receive and Reply to SMS and MMS Messages in PHP

Learn how to respond to an incoming SMS text message with a custom message using Twilio's Programmable SMS API and PHP.

Receive and Reply to SMS and MMS Messages in C#

Learn how to respond to an incoming SMS text message with a custom message using Twilio's Programmable SMS API and C# / ASP.NET.

Receive and Reply to SMS and MMS Messages in Node.js

Learn how to respond to an incoming SMS text message with a custom message using Twilio's Programmable SMS API and Node.js.

Receive and Reply to SMS and MMS Messages in Java

Learn how to respond to an incoming SMS text message with a custom message using Twilio's Programmable SMS API and Java.

Create an SMS Conversation in Ruby

Learn how to track SMS text message conversations using Twilio's Programmable Messaging API and Ruby.

Create an SMS Conversation in Java

Learn how to track SMS text message conversations using Twilio's Programmable Messaging API and C# / ASP.NET.

Create an SMS Conversation in Node.js

Learn how to track SMS text message conversations using Twilio's Programmable Messaging API and Node.js.

Create an SMS Conversation in C#

Learn how to track SMS text message conversations using Twilio's Programmable Messaging API and C# / ASP.NET.

Create an SMS Conversation in PHP

Learn how to track SMS text message conversations using Twilio's Programmable Messaging API and PHP.

Create an SMS Conversation in Python

Learn how to track SMS text message conversations using Twilio's Programmable Messaging API and Python.

Retrieve and Modify Message History in Ruby

Learn how to find, lookup, edit, delete, and redact previously sent SMS Messages using Twilio's REST API and Ruby.

Retrieve and Modify Message History in Python

Learn how to find, lookup, edit, delete, and redact previously sent SMS Messages using Twilio's REST API and Python.

Retrieve and Modify Message History in PHP

Learn how to find, lookup, edit, delete, and redact previously sent SMS Messages using Twilio's REST API and PHP.

Retrieve and Modify Message History in Node.js

Learn how to find, lookup, edit, delete, and redact previously sent SMS Messages using Twilio's REST API and Node.js.

Retrieve and Modify Message History in Java

Learn how to find, lookup, edit, delete, and redact previously sent SMS Messages using Twilio's REST API and Java.

Retrieve and Modify Message History in C#

Learn how to find, lookup, edit, delete, and redact previously sent SMS Messages using Twilio's REST API and C# / .NET.

Send SMS and MMS Messages in C#

Use Programmable SMS to send SMS text messages and MMS messages with images and media in your C# / ASP.NET web application.

Send SMS and MMS Messages in Java

Use Programmable SMS to send SMS text messages and MMS messages with images and media in your Java web application.

Send SMS and MMS Messages in Node.js

Use Programmable SMS to send SMS text messages and MMS messages with images and media in your Node.js web application.

Send SMS and MMS Messages in PHP

Use Programmable SMS to send SMS text messages and MMS messages with images and media in your PHP web application.

Send SMS and MMS Messages in Ruby

Use Programmable SMS to send SMS text messages and MMS messages with images and media in your Ruby web application.

Send SMS and MMS Messages in Python

Use Programmable SMS to send SMS text messages and MMS messages with images and media in your Python web application.

Receive and Download Images on Incoming MMS Messages with C#

Use C#, ASP.NET, and Twilio to receive and download images and other media on incoming MMS messages.

Send SMS and MMS Messages In C

Use libcurl and the Twilio REST API to send SMS and MMS messages from C.

Send SMS and MMS Messages In C++

Use standard libraries, libcurl and the Twilio REST API to send SMS and MMS messages directly from C++.

Voice

Modify Calls In Progress With Java

Learn how to manipulate live phone calls using Java.

Modify Calls In Progress with PHP

Learn how to manipulate live phone calls using PHP.

Modify Calls In Progress With Python

Learn how to manipulate live phone calls using Python.

Modify Calls In Progress With C#

Learn how to manipulate live phone calls using C# / .NET.

Modify Calls In Progress with Ruby

Learn how to modify calls in progress using Ruby.

Modify Calls In Progress With Node.js

Learn how to manipulate live phone calls using Node.js.

Retrieve Call Logs with Node.js

Learn how to retrieve information about in progress and completed calls from your Twilio account using Node.js.

Retrieve Call Logs with Java

Learn how to retrieve information about in progress and completed calls from your Twilio account using Java.

Retrieve Call Logs with Ruby

Learn how to retrieve information about in progress and completed calls from your Twilio account using Ruby.

Retrieve Call Logs with C#

Learn how to retrieve information about in progress and completed calls from your Twilio account using C# / .NET.

Retrieve Call Logs with Python

Learn how to retrieve information about in progress and completed calls from your Twilio account using Python.

Retrieve Call Logs with PHP

Learn how to retrieve information about in progress and completed calls from your Twilio account using PHP.

Make Outbound Phone Calls with PHP

Learn how to make outbound phone calls in your PHP applications. With Twilio Programmable Voice, you can call just about anyone on the planet from your PHP code.

Make Outbound Phone Calls with Java

Learn how to make outbound phone calls in your Java applications. With Twilio Programmable Voice, you can call just about anyone on the planet from your Java code.

Make Outbound Phone Calls with Ruby

Learn how to make outbound phone calls in your Ruby applications. With Twilio Programmable Voice, you can call just about anyone on the planet from your Ruby code.

Make Outbound Phone Calls with C#

Learn how to make outgoing phone calls in your C# / .NET applications. With Twilio Programmable Voice, you can call just about anyone on the planet from your C# code.

Make Outbound Phone Calls with Python

Learn how to make outbound phone calls in your Python applications. With Twilio Programmable Voice, you can call just about anyone on the planet from your Python code.

Make Outbound Phone Calls with Node.js

Learn how to make outbound phone calls in your Node.js applications. With Twilio Programmable Voice, you can call just about anyone on the planet from your Node.js code.

Respond to Incoming Phone Calls in Node.js

Learn how to respond to incoming phone calls in your Node.js web application in this guide. This example uses the Express web framework and ngrok to respond to incoming phone calls to your Twilio phone number.

Respond to Incoming Phone Calls in PHP

Learn how to respond to incoming phone calls in your PHP web application in this guide. This example uses PHP and ngrok to respond to incoming phone calls to your Twilio phone number.

Respond to Incoming Phone Calls in Python

Learn how to respond to incoming phone calls in your Python web application in this guide. This example uses the Flask web framework and ngrok to respond to incoming phone calls to your Twilio phone number.

Respond to Incoming Phone Calls in Java

Learn how to respond to incoming phone calls in your Java application in this guide. This example uses Java Servlets and ngrok to respond to incoming phone calls to your Twilio phone number.

Respond to Incoming Phone Calls in Ruby

Learn how to respond to incoming phone calls in your Ruby web application in this guide. This example uses the Sinatra web framework and ngrok to respond to incoming phone calls to your Twilio phone number.

Respond to Incoming Phone Calls in C#

Learn how to respond to incoming phone calls in your C# / ASP.NET web application in this guide. This example uses ASP.NET MVC and ngrok to respond to incoming phone calls to your Twilio phone number.

Create Conference Calls in Python

Learn how to use Twilio Programmable Voice to create and manage conference calls in your Python web application.

Create Conference Calls in C#

Learn how to use Twilio Programmable Voice to create and manage conference calls in your C# / ASP.NET web application.

Create Conference Calls in Node.js

Learn how to use Twilio Programmable Voice to create and manage conference calls in your Node.js web application.

Create Conference Calls in PHP

Learn how to use Twilio Programmable Voice to create and manage conference calls in your PHP web application.

Create Conference Calls in Java

Learn how to use Twilio Programmable Voice to create and manage conference calls in your Java web application.

Create Conference Calls in Ruby

Learn how to use Twilio Programmable Voice to create and manage conference calls in your Ruby web application.

Gather User Input via Keypad (DTMF Tones) in C#

Learn how to gather user input during a Twilio Voice phone call through the phone's keypad (using DTMF tones) in your C# / ASP.NET application.

Gather User Input via Keypad (DTMF Tones) in Python

Learn how to gather user input during a Twilio Voice phone call through the phone's keypad (using DTMF tones) in your Python application.

Gather User Input via Keypad (DTMF Tones) in PHP

Learn how to gather user input during a Twilio Voice phone call through the phone's keypad (using DTMF tones) in your PHP application.

Gather User Input via Keypad (DTMF Tones) in Node.js

Learn how to gather user input during a Twilio Voice phone call through the phone's keypad (using DTMF tones) in your Node.js application.

Gather User Input via Keypad (DTMF Tones) in Ruby

Learn how to gather user input during a Twilio Voice phone call through the phone's keypad (using DTMF tones) in your Ruby application.

Gather User Input via Keypad (DTMF Tones) in Java

Learn how to gather user input during a Twilio Voice phone call through the phone's keypad (using DTMF tones) in your Java application.

Record Phone Calls in Node.js

Learn how to record incoming and outgoing Twilio Voice phone calls using Node.js.

Record Phone Calls in PHP

Learn how to record incoming and outgoing Twilio Voice phone calls using PHP.

Record Phone Calls in Python

Learn how to record incoming and outgoing Twilio Voice phone calls using Python.

Record Phone Calls in C#

Learn how to record incoming and outgoing Twilio Voice phone calls using C# / .NET.

Record Phone Calls in Ruby

Learn how to record incoming and outgoing Twilio Voice phone calls using Ruby.

Record Phone Calls in Java

Learn how to record incoming and outgoing Twilio Voice phone calls using Java.

Use Voice Add-ons in Python

Learn how to combine Twilio Add-ons with Programmable Voice to use data from Twilio's partners in your Python web application.

How To Use Recording Add-ons in Python

Learn how to combine Twilio Add-ons with Programmable Voice to use data from Twilio's partners in your Python web application.

Block Spam Calls and Robocalls with C#

Use the Twilio API, Twilio Marketplace, and C# to block spam callers, robocallers, and scammers.

Tips and Tricks

How to use ngrok with Windows and Visual Studio to test webhooks

ngrok is a fantastic tool for debugging webhooks and web development in general. This guide will provide you with the skills you need to make ngrok work harmoniously with Visual Studio and IIS Express on Windows.

Creating an ASP.NET MVC Webhook Project

Get a walkthrough setting up a basic project in Visual Studio for handling incoming webhook requests in ASP.NET MVC.

How to set up your Python and Flask development environment

Learn how to set up Python for web development using the Flask web app framework. Manage dependencies with pip and virtual environments and expose your local development machine to the Internet with ngrok.

How To Make REST API Requests in PowerShell

In this tutorial, learn how to use Invoke-WebRequest in PowerShell to make a REST API request to an endpoint protected with HTTP Basic Authentication. Our script will make an API request to Twilio to send an outbound SMS message from our PowerShell script.

How to set up your Node.js and Express development environment

Learn how to set up Node.js for web development using the Express web app framework. Manage dependencies with npm and expose your local development machine to the Internet with ngrok.

How to Use bash or zsh to Send an SMS from a New Twilio Number

We demonstrate using curl and sed in bash to find and purchase a Twilio number. We then use it to send a text message using only the command line.

Automated Testing of Twilio C# Apps with Moq

Learn how to automate testing of your Twilio API calls using C# and the Moq .NET mocking framework. Also learn good C# code decoupling techniques.

How to Use the C Shell to Send an SMS from a New Twilio Number

We demonstrate using curl and sed in csh to find and purchase a Twilio number. We then use it to send a text message using only *NIX tools.

How to Use bash or zsh to Make a Phone Call from a New Twilio Number

We walk through using bash and builtin commands to find and purchase numbers from Twilio. We then use Twilio to make an outbound call.

Serverless Webhooks with Azure Functions and C#

Leverage serverless architecture using Azure Functions and C# to handle Twilio's webhooks for incoming SMS messages and voice phone calls.

How to set up your Java and Servlets development environment

Learn how to set up Java for web development using Java Servlets. Manage dependencies with Gradle and expose your local development machine to the Internet with ngrok.

How to set up your PHP development environment

Learn how to set up PHP for web development using vanilla PHP. Manage dependencies with Composer and expose your local development machine to the Internet with ngrok.

How to set up your Ruby and Sinatra development environment

Learn how to set up Ruby for web development using the Sinatra web app framework. Manage dependencies with Bundler and expose your local development machine to the Internet with ngrok.

Serverless Webhooks with Azure Functions and Node.js

Leverage serverless architecture using Azure Functions and JavaScript/Node.js to handle Twilio's webhooks for incoming SMS messages and voice phone calls.

How to set up your C# and ASP.NET MVC development environment

Learn how to set up C# for web development using the ASP.NET MVC web app framework. Expose your local development machine to the Internet with ngrok.

Jarod Reyes
Kevin Whinnery
David Prothero
Rob Spectre
Gagneet Mac