Class: Telnyx::Models::Calls::ActionStartAIAssistantParams

Inherits:
Internal::Type::BaseModel show all
Extended by:
Internal::Type::RequestParameters::Converter
Includes:
Internal::Type::RequestParameters
Defined in:
lib/telnyx/models/calls/action_start_ai_assistant_params.rb

Overview

Defined Under Namespace

Modules: MessageHistory, VoiceSettings Classes: Participant

Instance Attribute Summary collapse

Attributes included from Internal::Type::RequestParameters

#request_options

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Internal::Type::RequestParameters::Converter

dump_request

Methods included from Internal::Type::RequestParameters

included

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(content:, metadata: nil, role: :developer) ⇒ Object

Developer-provided instructions that the model should follow, regardless of messages sent by the user.

Parameters:

  • content (String)

    The contents of the developer message.

  • metadata (Hash{Symbol=>Object}) (defaults to: nil)

    Metadata to add to the message

  • role (Symbol, :developer) (defaults to: :developer)

    The role of the messages author, in this case developer.



# File 'lib/telnyx/models/calls/action_start_ai_assistant_params.rb', line 118

Instance Attribute Details

#assistantTelnyx::Models::CallAssistantRequest?

AI Assistant configuration. All fields except ‘id` are optional — the assistant’s stored configuration will be used as fallback for any omitted fields.



22
# File 'lib/telnyx/models/calls/action_start_ai_assistant_params.rb', line 22

optional :assistant, -> { Telnyx::CallAssistantRequest }

#call_control_idString

Returns:

  • (String)


14
# File 'lib/telnyx/models/calls/action_start_ai_assistant_params.rb', line 14

required :call_control_id, String

#client_stateString?

Use this field to add state to every subsequent webhook. It must be a valid Base-64 encoded string.

Returns:

  • (String, nil)


29
# File 'lib/telnyx/models/calls/action_start_ai_assistant_params.rb', line 29

optional :client_state, String

#command_idString?

Use this field to avoid duplicate commands. Telnyx will ignore any command with the same ‘command_id` for the same `call_control_id`.

Returns:

  • (String, nil)


36
# File 'lib/telnyx/models/calls/action_start_ai_assistant_params.rb', line 36

optional :command_id, String

#greetingString?

Text that will be played when the assistant starts, if none then nothing will be played when the assistant starts. The greeting can be text for any voice or SSML for ‘AWS.Polly.<voice_id>` voices. There is a 3,000 character limit.

Returns:

  • (String, nil)


44
# File 'lib/telnyx/models/calls/action_start_ai_assistant_params.rb', line 44

optional :greeting, String

#interruption_settingsTelnyx::Models::Calls::InterruptionSettings?

Settings for handling user interruptions during assistant speech



50
# File 'lib/telnyx/models/calls/action_start_ai_assistant_params.rb', line 50

optional :interruption_settings, -> { Telnyx::Calls::InterruptionSettings }

#participantsArray<Telnyx::Models::Calls::ActionStartAIAssistantParams::Participant>?

A list of participants to add to the conversation when it starts.



64
65
# File 'lib/telnyx/models/calls/action_start_ai_assistant_params.rb', line 64

optional :participants,
-> { Telnyx::Internal::Type::ArrayOf[Telnyx::Calls::ActionStartAIAssistantParams::Participant] }

#send_message_history_updatesBoolean?

When ‘true`, a webhook is sent each time the conversation message history is updated.

Returns:

  • (Boolean, nil)


72
# File 'lib/telnyx/models/calls/action_start_ai_assistant_params.rb', line 72

optional :send_message_history_updates, Telnyx::Internal::Type::Boolean

#transcriptionTelnyx::Models::Calls::TranscriptionConfig?

The settings associated with speech to text for the voice assistant. This is only relevant if the assistant uses a text-to-text language model. Any assistant using a model with native audio support (e.g. ‘fixie-ai/ultravox-v0_4`) will ignore this field.



81
# File 'lib/telnyx/models/calls/action_start_ai_assistant_params.rb', line 81

optional :transcription, -> { Telnyx::Calls::TranscriptionConfig }

#voiceString?

The voice to be used by the voice assistant. Currently we support ElevenLabs, Telnyx and AWS voices.

**Supported Providers:**

  • AWS: Use ‘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](docs.aws.amazon.com/polly/latest/dg/available-voices.html) for compatibility.

  • Azure: Use ‘Azure.<VoiceId>. (e.g. Azure.en-CA-ClaraNeural, Azure.en-CA-LiamNeural, Azure.en-US-BrianMultilingualNeural, Azure.en-US-Ava:DragonHDLatestNeural. For a complete list of voices, go to [Azure Voice Gallery](speech.microsoft.com/portal/voicegallery).)

  • ElevenLabs: Use ‘ElevenLabs.<ModelId>.<VoiceId>` (e.g., `ElevenLabs.BaseModel.John`). The `ModelId` part is optional. To use ElevenLabs, you must provide your ElevenLabs API key as an integration secret under `“voice_settings”: “<secret_id>”`. See [integration secrets documentation](developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret) for details. Check [available voices](elevenlabs.io/docs/api-reference/get-voices).

  • Telnyx: Use ‘Telnyx.<model_id>.<voice_id>`

  • Inworld: Use ‘Inworld.<ModelId>.<VoiceId>` (e.g., `Inworld.Mini.Loretta`, `Inworld.Max.Oliver`). Supported models: `Mini`, `Max`.

Returns:

  • (String, nil)


110
# File 'lib/telnyx/models/calls/action_start_ai_assistant_params.rb', line 110

optional :voice, String

#voice_settingsTelnyx::Models::Calls::ElevenLabsVoiceSettings, ...

The settings associated with the voice selected



116
# File 'lib/telnyx/models/calls/action_start_ai_assistant_params.rb', line 116

optional :voice_settings, union: -> { Telnyx::Calls::ActionStartAIAssistantParams::VoiceSettings }