Now that you've provisioned a new Twilio phone number, you're ready to setup your Twilio communications application, and start sending and receiving Programmable messaging, voice calls, faxes, and more. This guide explains what comes next after getting a phone number.
Outbound from Twilio
In general, most outbound communications will require you to build an application that submits HTTP POST requests to a specific Twilio product's REST API resource. In your request, you'll need to pass to and from We provide helper library SDKs for easily building your application in most popular languages, and have a ton of code samples and tutorials to help get you started.
Here are links to tutorials for using some of our most popular products:
- Twilio Programmable Messaging: Send and receive messages wireless phones, or to popular messaging apps like WhatsApp and Facebook messenger.
- Twilio Programmable Voice: Send and receive voice calls to other phone numbers or SIP endpoints.
- Twilio Programmable Fax: Send .PDF files to fax machines.
Inbound to Twilio
Once a phone number has been acquired, setting up incoming communications is a three step process. In this section, we'll cover each of the steps required to get up and running.
Create your app
Incoming communications to Twilio will need to be handled by an application that responds with TwiML - our XML-based markup language. Twilio reaches out to your application on incoming communications, and uses the TwiML response we receive as instructions that tell us how to respond to a call, message, fax, and more.
TwiML can be created in simple XML format, or can be produced by one of our helper library SDKs. Each communications product relays different information in the request parameters, and supports a different set of verbs for responding to Twilio. For full details, see the following resources:
- TwiML for Programmable SMS (Twilio Docs)
- TwiML for Programmable Voice (Twilio Docs)
- TwiML for Programmable Fax (Twilio Docs)
Host your app
Once your app is ready, it will need to be posted online where Twilio can access it. We'll reach out on incoming communications, and then process the TwiML command instructions your app responds with. For hosting your app, we offer users an array of options to meet different requirements. Here are some examples:
This is an easy to write option for a uniform automated TwiML response (the same response every time), or variable responses with mustache templates.
Static TwiML is commonly self-hosted in an .XML file, or hosted by Twilio in a TwiML Bin.
A more complex dynamic TwiML response app is a better option for more elaborate use cases like collecting user voice or keypress inputs, creating a menu tree or IVR, inbound calling queues, and more.
Dynamic TwiML apps are commonly self-hosted in an app created with one of our helper library SDKs, or hosted by Twilio in Functions.
Studio is our no-code required visual interface for creating omni-channel Twilio communications applications. The flowchart-style UI allows you to quickly drag and drop widgets to build a custom communications app that meets your needs.
For more information, see Getting Started with Twilio Studio.
Configure your phone number
Once your app is built and posted, your phone number will need to direct us to your app. You can find instructions for configuring your Twilio phone number at the following resources:
- Configure a Twilio Phone Number to Receive and Respond to Messages
- Configure a Twilio Phone Number to Receive and Respond to Voice Calls
- Configure a Twilio Phone Number to Receive Faxes