Webhooks are user-defined HTTP callbacks. They are triggered by some event in a web application and can facilitate integrating different applications or third-party APIs, like Twilio.
Twilio uses webhooks to let your application know when events happen, such as receiving an SMS message or getting an incoming phone call. When the event occurs, Twilio makes an HTTP request (usually a POST or a GET) to the URL you configured for the webhook. Twilio's request will include details of the event such as the incoming phone number or the body of an incoming message. Many other modern web services like GitHub and Slack also make use of webhooks to communicate events.
Some of these webhooks are informational (such as letting you know that a voice call recording is ready for download), and others require your web application to respond (for instance, letting Twilio know what to do when someone calls your Twilio phone number).
Ready to start building webhooks for Twilio in your own web application? Listen to the following Twilio Tip, and read this guide to get started with webhooks.
Each Twilio product uses webhooks differently. To learn more about which webhooks each product uses, and how to set them up with your application, visit these pages:
Webhooks aren't just limited to products. You can also have Twilio send you webhooks when events occur in your application, such as billing levels reaching a certain threshold, or if an error occurs when Twilio calls your web application. You could set up a pipeline that sends your webhooks into Slack, Microsoft Teams, or another chat system. You could also set up a webhook that notifies you via email.
Learn more about each of these areas on these pages:
Get an in-depth discussion of webhooks, learn how to validate that inbound webhooks are from Twilio, and read answers to questions from the Twilio developer community.
Ready to start implementing webhooks with your own application? Want to see what capabilities webhooks have? Follow along with these tutorials to learn how to track the delivery status for messages, reply to text messages, or use Azure Functions to create serverless webhooks.