Class: Telnyx::Models::AI::AssistantCreateParams

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

Overview

Defined Under Namespace

Classes: ExternalLlm, FallbackConfig, Integration, InterruptionSettings, McpServer, PostConversationSettings

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(id:, allowed_tools: nil) ⇒ Object

Some parameter documentations has been truncated, see McpServer for more details.

Reference to an MCP server attached to an assistant. Create and manage MCP servers with the ‘/ai/mcp_servers` endpoints, then attach them to assistants by ID.

Parameters:

  • id (String)

    ID of the MCP server to attach. This must be the ‘id` of an MCP server returned

  • allowed_tools (Array<String>) (defaults to: nil)

    Optional per-assistant allowlist of MCP tool names. When omitted, the assistant



# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 482

Instance Attribute Details

#descriptionString?

Returns:

  • (String, nil)


26
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 26

optional :description, String

#dynamic_variablesHash{Symbol=>Object}?

Map of dynamic variables and their default values

Returns:

  • (Hash{Symbol=>Object}, nil)


32
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 32

optional :dynamic_variables, Telnyx::Internal::Type::HashOf[Telnyx::Internal::Type::Unknown]

#dynamic_variables_webhook_timeout_msInteger?

Timeout in milliseconds for the dynamic variables webhook. Must be between 1 and 10000 ms. If the webhook does not respond within this timeout, the call proceeds with default values. See the [dynamic variables guide](developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables).

Returns:

  • (Integer, nil)


41
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 41

optional :dynamic_variables_webhook_timeout_ms, Integer

#dynamic_variables_webhook_urlString?

If ‘dynamic_variables_webhook_url` is set, Telnyx sends a POST request to this URL at the start of the conversation to resolve dynamic variables. Gotcha: the webhook response must wrap variables under a top-level `dynamic_variables` object, e.g. `{“customer_name”: “Jane”}`. Returning a flat object will be ignored and variables will fall back to their defaults. See the [dynamic variables guide](developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables) for the full request/response format and timeout behavior.

Returns:

  • (String, nil)


54
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 54

optional :dynamic_variables_webhook_url, String

#enabled_featuresArray<Symbol, Telnyx::Models::AI::EnabledFeatures>?

Returns:



59
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 59

optional :enabled_features, -> { Telnyx::Internal::Type::ArrayOf[enum: Telnyx::AI::EnabledFeatures] }

#external_llmTelnyx::Models::AI::AssistantCreateParams::ExternalLlm?



64
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 64

optional :external_llm, -> { Telnyx::AI::AssistantCreateParams::ExternalLlm }

#fallback_configTelnyx::Models::AI::AssistantCreateParams::FallbackConfig?



69
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 69

optional :fallback_config, -> { Telnyx::AI::AssistantCreateParams::FallbackConfig }

#greetingString?

Text that the assistant will use to start the conversation. This may be templated with [dynamic variables](developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables). Use an empty string to have the assistant wait for the user to speak first. Use the special value ‘<assistant-speaks-first-with-model-generated-message>` to have the assistant generate the greeting based on the system instructions.

Returns:

  • (String, nil)


80
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 80

optional :greeting, String

#insight_settingsTelnyx::Models::AI::InsightSettings?



85
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 85

optional :insight_settings, -> { Telnyx::AI::InsightSettings }

#instructionsString

System instructions for the assistant. These may be templated with [dynamic variables](developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)

Returns:

  • (String)


16
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 16

required :instructions, String

#integrationsArray<Telnyx::Models::AI::AssistantCreateParams::Integration>?

Connected integrations attached to the assistant. The catalog of available integrations is at ‘/ai/integrations`; the user’s connected integrations are at ‘/ai/integrations/connections`. Each item references a catalog integration by `integration_id`.



94
95
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 94

optional :integrations,
-> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantCreateParams::Integration] }

#interruption_settingsTelnyx::Models::AI::AssistantCreateParams::InterruptionSettings?

Settings for interruptions and how the assistant decides the user has finished speaking. These timings are most relevant when using non turn-taking transcription models. For turn-taking models like ‘deepgram/flux`, end-of-turn behavior is controlled by the transcription end-of-turn settings under `transcription.settings` (`eot_threshold`, `eot_timeout_ms`, `eager_eot_threshold`).



106
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 106

optional :interruption_settings, -> { Telnyx::AI::AssistantCreateParams::InterruptionSettings }

#llm_api_key_refString?

This is only needed when using third-party inference providers selected by ‘model`. The `identifier` for an integration secret [/v2/integration_secrets](developers.telnyx.com/api-reference/integration-secrets/create-a-secret) that refers to your LLM provider’s API key. For bring-your-own endpoint authentication, use ‘external_llm.llm_api_key_ref` instead. Warning: Free plans are unlikely to work with this integration.

Returns:

  • (String, nil)


117
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 117

optional :llm_api_key_ref, String

#mcp_serversArray<Telnyx::Models::AI::AssistantCreateParams::McpServer>?

MCP servers attached to the assistant. Create MCP servers with ‘/ai/mcp_servers`, then reference them by `id` here.



124
125
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 124

optional :mcp_servers,
-> { Telnyx::Internal::Type::ArrayOf[Telnyx::AI::AssistantCreateParams::McpServer] }

#messaging_settingsTelnyx::Models::AI::MessagingSettings?



130
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 130

optional :messaging_settings, -> { Telnyx::AI::MessagingSettings }

#modelString?

ID of the model to use when ‘external_llm` is not set. You can use the [Get models API](developers.telnyx.com/api-reference/chat/get-available-models) to see available models. If `external_llm` is provided, the assistant uses `external_llm` instead of this field. If neither `model` nor `external_llm` is provided, Telnyx applies the default model.

Returns:

  • (String, nil)


140
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 140

optional :model, String

#nameString

Returns:

  • (String)


21
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 21

required :name, String

#observability_settingsTelnyx::Models::AI::ObservabilityReq?



145
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 145

optional :observability_settings, -> { Telnyx::AI::ObservabilityReq }

#post_conversation_settingsTelnyx::Models::AI::AssistantCreateParams::PostConversationSettings?

Configuration for post-conversation processing. When enabled, the assistant receives one additional LLM turn after the conversation ends, allowing it to execute tool calls such as logging to a CRM or sending a summary. The assistant can execute multiple parallel or sequential tools during this phase. Telephony-control tools (e.g. hangup, transfer) are unavailable post-conversation. Beta feature.



156
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 156

optional :post_conversation_settings, -> { Telnyx::AI::AssistantCreateParams::PostConversationSettings }

#privacy_settingsTelnyx::Models::AI::PrivacySettings?



161
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 161

optional :privacy_settings, -> { Telnyx::AI::PrivacySettings }

#tagsArray<String>?

Tags associated with the assistant. Tags can also be managed with the assistant tag endpoints.

Returns:

  • (Array<String>, nil)


168
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 168

optional :tags, Telnyx::Internal::Type::ArrayOf[String]

#telephony_settingsTelnyx::Models::AI::TelephonySettings?



173
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 173

optional :telephony_settings, -> { Telnyx::AI::TelephonySettings }

#tool_idsArray<String>?

IDs of shared tools to attach to the assistant. New integrations should prefer ‘tool_ids` over inline `tools`.

Returns:

  • (Array<String>, nil)


180
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 180

optional :tool_ids, Telnyx::Internal::Type::ArrayOf[String]

#transcriptionTelnyx::Models::AI::TranscriptionSettings?



193
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 193

optional :transcription, -> { Telnyx::AI::TranscriptionSettings }

#voice_settingsTelnyx::Models::AI::VoiceSettings?



198
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 198

optional :voice_settings, -> { Telnyx::AI::VoiceSettings }

#widget_settingsTelnyx::Models::AI::WidgetSettings?

Configuration settings for the assistant’s web widget.



204
# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 204

optional :widget_settings, -> { Telnyx::AI::WidgetSettings }

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/telnyx/models/ai/assistant_create_params.rb', line 344