Rate this page:

Gather Input On Call

Gather input on call widget

Studio does not officially support SSML, and its use in Studio widgets is not guaranteed to be reliable.


Gather Input On Call allows you to gather a user’s input while they are on call. Use this Widget to collect DTMF keypresses or text from speech recognition. This can then be saved (great for collecting data) or sent to another Widget (such as a Split Based On... Widget) to send the user down the right path.

There is no required configuration for the Gather Widget.

Note: Connecting a widget to the User Said Something transition will enable Speech Recognition, which incurs additional fees.

Caution: Studio does not redact <Gather> data collected by the Gather Input widget. To use <Gather> for collecting PCI sensitive data, use the TwiML Redirect widget to redirect the call away from Studio to an external URL that can collect <Gather> data in a compliant way.

Optional Configuration



Supported Values


Say or Play a Message

A choice indicating whether to play a pre-recorded message or say text (just as with Say/Play).

Say a Message, Play a Message

Say a Message

Text To Say

(if Say) The text to say. Templates are supported so you can say things like “Hello {{first_name}}”

Note: Studio does not officially support SSML, and its use in Studio widgets is not guaranteed to be reliable.


(if Say) Language and regional dialect for the message being said.

Select from menu on the widget or enter a Liquid variable for dynamic selection.

See complete list for details.


Message Voice

(if Say) Select the voice of your choosing from a dropdown.

Select from menu on the widget or enter a Liquid variable for dynamic selection.

Values vary based on language selected. See complete list for details.


URL of Audio File

(if Play) The URL of of media to play, i.e.

Number of Loops

Choose how many times you would like the message to loop.


Keypress Options

Stop Gathering After ___ Seconds

Time to wait for the caller to press a key.

1s - 30s


Stop Gathering On Keypress?

If Twilio should listen for a specific keypress to stop gathering digits. If set to "No," all keypresses will be gathered and submited once the the Stop Gathering After timeout is reached or the expected Number of Digits are collected.



Stop Gathering On Keypress ___

A value that will submit the received data as soon as it’s pressed. Note: This is a control key and its value is not submitted with the rest of the gathered digits.

0-9,#,* or blank


Stop Gathering After Number Of Digits

The number of digits you are expecting and will submit as soon as that number is reached.

0-9, or blank

Speech Recognition Options
Speech Recognition Language

Language the speech engine will try to recognize.

Select from menu on the widget or enter a Liquid variable for dynamic selection. See complete list of recognized languages. en-US

Speech Recognition Hints

A list of comma-separated hint values.

Profanity Filter

Redact profanity from the speech results

true, false


Advanced Speech Settings

The advanced speech settings of Gather should be used carefully, as certain combinations are incompatible with each other. Please consult the Voice <Gather> docs for full details of the options and how to use them.

Note: Studio uses auto as the default Speech Timeout, which overrides the default used by the underlying <Gather> verb.



Supported Values


Speech Timeout

Number of seconds of silence

auto, positive integer


Speech Model

Model the recognition engine should use to interpret speech

default, phone_call, numbers_commands


Account SID widgets.MY_WIDGET_NAME.AccountSid
API Version widgets.MY_WIDGET_NAME.ApiVersion
Called widgets.MY_WIDGET_NAME.Called
Caller widgets.MY_WIDGET_NAME.Caller
Call Status widgets.MY_WIDGET_NAME.CallStatus
Direction widgets.MY_WIDGET_NAME.Direction
From widgets.MY_WIDGET_NAME.From
From City widgets.MY_WIDGET_NAME.FromCity
From Country widgets.MY_WIDGET_NAME.FromCountry
From State widgets.MY_WIDGET_NAME.FromState
From ZIP widgets.MY_WIDGET_NAME.FromZip
Caller City widgets.MY_WIDGET_NAME.CallerCity
Caller Country widgets.MY_WIDGET_NAME.CallerCountry
Caller State widgets.MY_WIDGET_NAME.CallerState
Caller ZIP widgets.MY_WIDGET_NAME.CallerZip
Call SID widgets.MY_WIDGET_NAME.CallSid
Called City widgets.MY_WIDGET_NAME.CalledCity
Called Country widgets.MY_WIDGET_NAME.CalledCountry
Called State widgets.MY_WIDGET_NAME.CalledState
Called ZIP widgets.MY_WIDGET_NAME.CalledZip
To widgets.MY_WIDGET_NAME.To
To City widgets.MY_WIDGET_NAME.ToCity
To Country widgets.MY_WIDGET_NAME.ToCountry
To State widgets.MY_WIDGET_NAME.ToState
Confidence widgets.MY_WIDGET_NAME.Confidence
Digits widgets.MY_WIDGET_NAME.Digits
Speech Result widgets.MY_WIDGET_NAME.SpeechResult
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