Rate this page:

Make HTTP Request

HTTP Request widget


Make HTTP Request allows you to interact with applications and code that live outside Studio. Use this widget to interact with parts of your business logic not defined in flows or as Functions.

Note: Returning custom TwiML from a Make HTTP Request widget isn't supported. Use the Run Function widget instead, and follow our guide for returning custom TwiML from Twilio Functions.

Required Configuration:

The required fields for this Widget are Request Method and Request URL. The Request Method can be selected from a dropdown, and the URL is able to be set as Automatic.



Request Method

The desired HTTP method of your request (GET or POST)

Request URL

The URL you would like to make a request to.

Tip: For secure URLs, add your Basic Authentication credentials. Example:

Content Type Content type of the request body, either application/x-www-form-urlencoded or application/json.

Optional Configuration:

You may optionally decide to declare a request body and HTTP parameters for this Widget.



Request Body

Text to include as the body of your request.

HTTP Parameters

Key-value pairs of parameters to pass along with the request. String literals and variables are supported.


This Widget has two events that trigger transitions.




A successful return (HTTP 20X)


The URL does not successfully return (or has an error)


The HTTP response from the URL must return a 2xx status code within 10 seconds, and the response body must not exceed 64kB.

Response Recommendation Notes
Status Code 200 or 204 3xx redirection is supported. 4xx or 5xx status code will transition to "failed" in the widget.
Content Type application/json Content-Type header is not required if Status Code is 204 No Content. Other content types are supported, such as plain text or XML. But only application/json objects (e.g. {"foo":"bar"}) will be automatically parsed into Studio variables.
Body valid JSON Body content must match the Content-Type header.
Response Time 10 seconds or less Studio will timeout the request at 10 seconds and transition to "failed" in the widget.
Response Size Maximum 64kb Studio can only process responses up to 64kB.


Json: If your request returns an object in valid JSON, you will be able to access it via widgets.MY_WIDGET_NAME.parsed. Note that, although an array is valid JSON, if your request returns an array of objects, it will not be parsed.

For example, if you return {"message": "Hi", "person": {"name": "Bob", "age": 40}}, you can reference that in subsequent widgets as:



For all return types, you will have the following variables:




Rate this page:

Need some help?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Community Forums or browsing the Twilio tag on Stack Overflow.


        Thank you for your feedback!

        We are always striving to improve our documentation quality, and your feedback is valuable to us. Please select the reason(s) for your feedback or provide additional information about how we can improve:

        Sending your feedback...
        🎉 Thank you for your feedback!
        Something went wrong. Please try again.

        Thanks for your feedback!

        Refer us and get $10 in 3 simple steps!

        Step 1

        Get link

        Get a free personal referral link here

        Step 2

        Give $10

        Your user signs up and upgrade using link

        Step 3

        Get $10

        1,250 free SMSes
        OR 1,000 free voice mins
        OR 12,000 chats
        OR more