import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: 'My API Key',
});
const response = await client.calls.actions.gatherUsingSpeak('call_control_id', {
payload: 'say this on call',
voice: 'male',
});
console.log(response.data);{
"data": {
"result": "ok"
}
}Convert text to speech and play it on the call until the required DTMF signals are gathered to build interactive menus.
You can pass a list of valid digits along with an ‘invalid_payload’, which will be played back at the beginning of each prompt. Speech will be interrupted when a DTMF signal is received. The Answer command must be issued before the gather_using_speak command.
Expected Webhooks:
call.dtmf.received (you may receive many of these webhooks)call.gather.endedimport Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: 'My API Key',
});
const response = await client.calls.actions.gatherUsingSpeak('call_control_id', {
payload: 'say this on call',
voice: 'male',
});
console.log(response.data);{
"data": {
"result": "ok"
}
}Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Unique identifier and token for controlling the call
Gather using speak request
The text or SSML to be converted into speech. There is a 3,000 character limit.
"Say this on the call"
Specifies the voice used in speech synthesis.
<Provider>.<Model>.<VoiceId>. Specifying only the provider will give default values for voice_id and model_id.Supported Providers:
AWS.Polly.<VoiceId> (e.g., AWS.Polly.Joanna). For neural voices, which provide more realistic, human-like speech, append -Neural to the VoiceId (e.g., AWS.Polly.Joanna-Neural). Check the available voices for compatibility.ElevenLabs.<ModelId>.<VoiceId> (e.g., ElevenLabs.eleven_multilingual_v2.21m00Tcm4TlvDq8ikWAM). The ModelId part is optional. To use ElevenLabs, you must provide your ElevenLabs API key as an integration identifier secret in "voice_settings": {"api_key_ref": "<secret_identifier>"}. See integration secrets documentation for details. Check available voices.Telnyx.<model_id>.<voice_id>For service_level basic, you may define the gender of the speaker (male or female).
"Telnyx.KokoroTTS.af"
The text or SSML to be converted into speech when digits don't match the valid_digits parameter or the number of digits is not between min and max. There is a 3,000 character limit.
"Say this on the call"
The type of the provided payload. The payload can either be plain text, or Speech Synthesis Markup Language (SSML).
text, ssml "ssml"
This parameter impacts speech quality, language options and payload types. When using basic, only the en-US language and payload type text are allowed.
basic, premium "premium"
The settings associated with the voice selected
Show child attributes
The identifier for an integration secret /v2/integration_secrets that refers to your ElevenLabs API key. Warning: Free plans are unlikely to work with this integration.
"my_elevenlabs_api_key"
The language you want spoken. This parameter is ignored when a Polly.* voice is specified.
arb, cmn-CN, cy-GB, da-DK, de-DE, en-AU, en-GB, en-GB-WLS, en-IN, en-US, es-ES, es-MX, es-US, fr-CA, fr-FR, hi-IN, is-IS, it-IT, ja-JP, ko-KR, nb-NO, nl-NL, pl-PL, pt-BR, pt-PT, ro-RO, ru-RU, sv-SE, tr-TR "en-US"
The minimum number of digits to fetch. This parameter has a minimum value of 1.
1
The maximum number of digits to fetch. This parameter has a maximum value of 128.
10
The maximum number of times that a file should be played back if there is no input from the user on the call.
3
The number of milliseconds to wait for a DTMF response after speak ends before a replaying the sound file.
60000
The digit used to terminate input if fewer than maximum_digits digits have been gathered.
"#"
A list of all digits accepted as valid.
"123"
The number of milliseconds to wait for input between digits.
10000
Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.
"aGF2ZSBhIG5pY2UgZGF5ID1d"
Use this field to avoid duplicate commands. Telnyx will ignore any command with the same command_id for the same call_control_id.
"891510ac-f3e4-11e8-af5b-de00688a4901"
Was this page helpful?