Skip to main content
The <Gather> verb collects DTMF tones during a call. <Say> can be nested within <Gather> to create an interactive IVR with text-to-speech.

Attributes

ATTRIBUTEDESCRIPTIONOPTIONSDEFAULT
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 - 1205
input The input type for the gather action. dtmf, speech, dtmf speechdtmf
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, POSTPOST
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 Nova-2 models (deepgram/nova-2, deepgram/nova-2-medical, deepgram/nova-2-phonecall); it is silently dropped on Nova-3 and Flux models (use keyterms instead). Accepts a comma-separated string. -
keyterms Deepgram keyterm prompting. Biases recognition toward domain-specific terms or brand names. Supported only on Nova-3 and Flux models (deepgram/nova-3, deepgram/nova-3-medical, deepgram/flux, deepgram/flux-multi); silently dropped on Nova-2 models (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, or the registered name of a community engine: any name that is not one of these (1-64 characters: lowercase letters, digits, hyphens and underscores). A community engine is called with the key behind apiKeyRef, which is required. -
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, speechmatics/linden-1 (preview, no auto-detect; defaults to en), nvidia/parakeet-v3, omi-health/omi-med-stt-v1, xai/grok-stt, humain/realtime, reson8/turns, cohere/ar-stt. Deepgram also offers deepgram/nova-2-medical, deepgram/nova-2-phonecall and deepgram/nova-3-medical (English only), and deepgram/flux / deepgram/flux-multi. The vendor must match transcriptionEngine. On Deepgram, defaults to deepgram/nova-3 when unset. For a community engine, this is the name of one of the engine’s models (1-32 characters: lowercase letters, digits, hyphens, underscores and dots); omit it to use the engine’s default model. Not a vendor/model pair. -
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. Required with a community engine: the Integration Secret holding the key the engine expects. -
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 Language for speech recognition, as a BCP-47 tag such as en-US or fr-CA. The supported values depend on transcriptionEngine and model — see languages in transcription_engine_config. A value the engine supports is used as is (e.g. fr-CA on Deepgram); otherwise it is reduced to its base language (fr-FR becomes fr), and unrecognized values fall back to en. 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 - 1281
maxDigits Maximum number of digits to be gathered. 1 - 128128

Child verbs/nouns

NOUN/VERBDESCRIPTION
Say
Play

Examples

Expected callbacks

If action is set, a callback is sent when gather completes with the collected digits or speech. See Gather Callback for the full payload reference.