<Gather> verb collects DTMF tones during a call. <Say> can be nested within <Gather> to create an interactive IVR with text-to-speech.
Attributes
| ATTRIBUTE | DESCRIPTION | OPTIONS | DEFAULT |
|---|---|---|---|
action | URL where TeXML will send the gathered result and message history. Same method (GET/POST) as set for the TexML application is used. Transfers control of the current call to the TeXML file returned. | - | |
timeout | Time in seconds between digits before the <Gather> digits are sent to your action URL. Telnyx will wait until all nested verbs have been executed before beginning the timeout period. | 1 - 120 | 5 |
input | The input type for the gather action. | dtmf, speech, dtmf speech | dtmf |
speechTimeout | Time in seconds to wait after speech ends before timing out. | - | |
partialResultCallback | URL for sending partial gather results. | - | |
partialResultCallbackMethod | HTTP request type used for partialResultCallback. | GET, POST | POST |
profanityFilter | Whether to filter profanity from speech recognition results (camelCase format). | - | |
useEnhanced | Enables enhanced transcription, this works for models phone_call and video (camelCase format). | - | |
hints | Hints to improve transcription accuracy. On Deepgram, this maps to the Nova-2 keyword biasing feature and is supported only on model="deepgram/nova-2"; it is silently dropped on Nova-3 (use keyterms instead). Accepts a comma-separated string. | - | |
keyterms | Deepgram Nova-3 keyterm prompting. Biases recognition toward domain-specific terms or brand names. Supported only on model="deepgram/nova-3"; silently dropped on Nova-2 (use hints instead). Accepts a comma-separated string. | - | |
smartFormat | Disable Deepgram’s smart formatting so the transcript stays lowercase with no punctuation. Deepgram-only; silently dropped on other engines. | true | |
transcriptionEngine | Engine to use for speech recognition: Google, Telnyx, Azure, Deepgram, xAI, AssemblyAI, Soniox, Speechmatics, Parakeet, Humain, Reson8, Cohere | Google, Telnyx, Azure, Deepgram, xAI, AssemblyAI, Soniox, Speechmatics, Parakeet, Humain, Reson8, Cohere | - |
model | Speech recognition model. Format is vendor/model-name — e.g. deepgram/nova-2, deepgram/nova-3, azure/fast, assemblyai/universal-streaming, soniox/stt-rt-v4, speechmatics/standard, nvidia/parakeet-v3, omi-health/omi-med-stt-v1, xai/grok-stt, humain/realtime, reson8/turns, cohere/ar-stt. The vendor must match transcriptionEngine. On Deepgram, defaults to deepgram/nova-3 when unset. | - | |
apiKeyRef | Reference to the API key for authentication. See integration secrets documentation for details. The parameter is optional as defaults are available for some regions. Used with Azure transcriptionEngine. | - | |
region | Region to use with the specified transcription engine. Required for Azure. See regions in transcription_engine_config. | - | |
finishOnKey | The set of digits, (0-9, *, #), that indicates the end of the gather. | # | |
numDigits | The number of digits to be gathered. | - | |
language | The language used. See RESTful API documentation for supported values. By default en-US. | en-US | |
validDigits | The set of valid digits for the gather action. | - | |
invalidDigitsAction | URL where TeXML will send the invalid gathered digits. The same method (GET/POST) as set for the TeXML application is used. Transfers control of the current call to the TeXML file returned. | - | |
minDigits | Minimum number of digits to be gathered. | 1 - 128 | 1 |
maxDigits | Maximum number of digits to be gathered. | 1 - 128 | 128 |
Child verbs/nouns
| NOUN/VERB | DESCRIPTION |
|---|---|
Say | |
Play |
Examples
Expected callbacks
Ifaction is set, a callback is sent when gather completes with the collected digits or speech.
See Gather Callback for the full payload reference.