> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Legado: compilar procedimentos

POST https://api.elevenlabs.io/v1/convai/agents/{agent_id}/branches/{branch_id}/procedures/compile

Legado. Não use. Salvar um rascunho de agente (`POST /v1/convai/agents/{agent_id}/drafts`) e publicar um agente (`PATCH /v1/convai/agents/{agent_id}`) compila procedimentos estruturados em nós e arestas de workflow, salva o workflow compilado com o rascunho ou a versão e retorna erros de validação; portanto, não é mais necessária uma chamada de compilação separada. Por enquanto, este endpoint continua disponível para que os chamadores existentes não sejam interrompidos, como uma execução de teste que compila os rascunhos de procedimentos atuais em um workflow sem persistir nada. Ele será descontinuado futuramente.

Reference: https://elevenlabs.io/docs/api-reference/agents/procedures/compile

## Servers

- `https://api.elevenlabs.io` (Production, default)
- `https://api.us.elevenlabs.io` (Production US)
- `https://api.eu.residency.elevenlabs.io` (Production EU)
- `https://api.in.residency.elevenlabs.io` (Production India)
- `https://api.sg.residency.elevenlabs.io` (Production Singapore)

## Request

### Path parameters

- `agent_id` (string, required) — ID do agente do qual obter o rascunho do procedimento
- `branch_id` (string, required) — ID da ramificação de onde obter o rascunho do procedimento

## Response

### 200

Resposta bem-sucedida

- `workflow` (AgentWorkflowResponseModel, required) — Workflow gerado a partir da compilação

## Errors

### 400 Bad Request Error

Falha na validação do procedimento estruturado.

- `errors` (map from string to list of ProcedureValidationError, required) — Erros de validação indexados por ID de procedimento.

### 422 Unprocessable Entity Error

Erro de validação

- `detail` (list of ValidationError, optional)

## Types

### AgentWorkflowResponseModel

- `edges` (map from string to WorkflowEdgeModel-Output, required)
- `nodes` (map from string to AgentWorkflowResponseModelNodes, required)
- `prevent_subagent_loops` (boolean, required, default: false) — Se deve impedir loops na execução do workflow.

### ProcedureValidationError

- `path` (string, required) — Caminho JSON para o erro, por exemplo, 'trigger', 'steps[0].instruction'
- `message` (string, required) — Mensagem de erro legível para humanos

### ValidationError

- `loc` (list of ValidationErrorLocItems, required)
- `msg` (string, required)
- `type` (string, required)

### WorkflowEdgeModel-Output

- `source` (string, required) — ID do nó de origem.
- `target` (string, required) — ID do nó de destino.
- `forward_condition` (WorkflowEdgeModelOutputForwardCondition, required, nullable) — Condição que deve ser atendida para que a aresta seja percorrida na direção direta (da origem para o destino).
- `backward_condition` (WorkflowEdgeModelOutputBackwardCondition, required, nullable) — Condição que deve ser atendida para que a aresta seja percorrida na direção inversa (do destino para a origem).

### AgentWorkflowResponseModelNodes

- `type`: `end` (WorkflowEndNodeModel)
  - `edge_order` (list of string, required) — Os IDs das arestas de saída na ordem em que devem ser avaliadas.
  - `outcome` (enum, required, default: success) — Se chegar a este nó End encerra a conversa com sucesso ou falha.
    - Allowed values: `success`, `failure`
  - `position` (Position-Output, required) — Posição do nó no workflow.
- `type`: `override_agent` (WorkflowOverrideAgentNodeModel)
  - `additional_knowledge_base` (list of KnowledgeBaseLocator, required) — Documentos adicionais da base de conhecimento aos quais o subagente tem acesso. Eles serão usados além dos documentos do agente principal.
  - `additional_prompt` (string, required) — Objetivo específico deste subagente. Ele será adicionado ao prompt do sistema e pode ser usado para refinar ainda mais o comportamento do agente neste contexto específico.
  - `additional_tool_ids` (list of string, required) — IDs de ferramentas adicionais às quais o subagente tem acesso. Elas serão usadas além das ferramentas do agente principal.
  - `conversation_config` (ConversationalConfigAPIModelWorkflowOverride-Output, required) — Substituições de configuração aplicadas enquanto o subagente conduz a conversa.
  - `edge_order` (list of string, required) — Os IDs das arestas de saída na ordem em que devem ser avaliadas.
  - `entry_behavior` (enum, required, default: auto) — Define se este nó deve gerar uma resposta imediatamente ao ser acessado ou aguardar a entrada do usuário. Quando definido como "auto", o comportamento será decidido com base no tipo do nó anterior: "wait_for_user" após os nós "say" e "start" e "generate_immediately" nos demais casos.
    - Allowed values: `generate_immediately`, `wait_for_user`, `auto`
  - `label` (string, required) — Rótulo legível para humanos do nó, usado em toda a interface.
  - `position` (Position-Output, required) — Posição do nó no workflow.
- `type`: `phone_number` (WorkflowPhoneNumberNodeModel)
  - `custom_sip_headers` (list of WorkflowPhoneNumberNodeModelOutputCustomSipHeadersItems, required) — Cabeçalhos SIP personalizados a serem incluídos ao transferir a chamada. Cada cabeçalho pode ser um valor estático ou uma referência a variável dinâmica.
  - `edge_order` (list of string, required) — Os IDs das arestas de saída na ordem em que devem ser avaliadas.
  - `position` (Position-Output, required) — Posição do nó no workflow.
  - `post_dial_digits` (WorkflowPhoneNumberNodeModelOutputPostDialDigits, required, nullable) — Dígitos DTMF a enviar após a conexão da chamada, por exemplo, 'ww1234' para ramal. Pode ser um valor estático ou uma referência de variável dinâmica. Use 'w' para uma pausa de 0,5 s. Compatível apenas com transferências do Twilio.
  - `sip_refer_play_dialtone` (boolean, required, default: true) — Quando True, um tom de chamada é reproduzido na perna original da chamada enquanto uma transferência SIP REFER é concluída. O tom é transmitido por RTP ao par SIP que executa o REFER, portanto desative esta opção se o sistema receptor (por exemplo, um SBC ou central de atendimento) não deve ouvi-lo. Quando desativada, a pessoa que ligou ouve silêncio até a transferência ser concluída. Apenas para transferências SIP REFER.
  - `transfer_destination` (WorkflowPhoneNumberNodeModelOutputTransferDestination, required)
  - `transfer_type` (enum, required, default: conference)
    - Allowed values: `blind`, `conference`, `sip_refer`
  - `uui` (UUITransferConfig, required, nullable) — Informações de Usuário para Usuário (RFC 7433) a serem anexadas a transferências SIP REFER. Transporta o contexto da chamada, como identificadores de CRM ou motivo de escalonamento, durante a transferência.
- `type`: `standalone_agent` (WorkflowStandaloneAgentNodeModel)
  - `agent_id` (string, required, nullable) — O ID do agente para o qual transferir a conversa. None significa transferir dentro do agente atual.
  - `branch_id` (string, required, nullable) — ID opcional da ramificação do agente de destino. None segue a implantação de tráfego do agente de destino ou usa sua ramificação principal quando node_id está definido.
  - `delay_ms` (integer, required, default: 0) — Atraso artificial em milissegundos aplicado antes de transferir a conversa.
  - `edge_order` (list of string, required) — Os IDs das arestas de saída na ordem em que devem ser avaliadas.
  - `enable_transferred_agent_first_message` (boolean, required, default: false) — Indica se deve permitir que o agente transferido envie sua primeira mensagem configurada após a transferência.
  - `node_id` (string, required, nullable) — ID opcional do nó de destino no workflow do agente de destino. Quando definido, a transferência começa nesse nó, em vez do nó de entrada padrão.
  - `position` (Position-Output, required) — Posição do nó no workflow.
  - `preserve_client_tts_overrides` (boolean, required, default: false) — Define se as substituições do cliente de TTS devem ser mantidas no agente transferido.
  - `preserve_voice_settings` (boolean, required, default: false) — Define se a voz base, o modelo TTS e as configurações de voz devem ser transferidos para o agente transferido.
  - `transfer_message` (string, required, nullable) — Mensagem opcional enviada ao usuário antes do início da transferência.
- `type`: `start` (WorkflowStartNodeModel)
  - `edge_order` (list of string, required) — Os IDs das arestas de saída na ordem em que devem ser avaliadas.
  - `position` (Position-Output, required) — Posição do nó no workflow.
- `type`: `tool` (WorkflowToolNodeModel)
  - `edge_order` (list of string, required) — Os IDs das arestas de saída na ordem em que devem ser avaliadas.
  - `position` (Position-Output, required) — Posição do nó no workflow.
  - `tools` (list of WorkflowToolLocator, required) — Lista de ferramentas para executar em paralelo. Todo o nó é considerado bem-sucedido se todas as ferramentas forem executadas com sucesso.
- `type`: `say` (WorkflowSayNodeModel)
  - `additional_knowledge_base` (list of KnowledgeBaseLocator, required) — Documentos da base de conhecimento disponíveis ao LLM enquanto este nó gera sua mensagem, além dos documentos do agente.
  - `additional_prompt` (string, required) — Aceito para manter a consistência com nós de subagentes, mas não é usado. Descreva a mensagem em `message.prompt` ou substitua o prompt do sistema por `conversation_config.agent.prompt.prompt`.
  - `additional_tool_ids` (list of string, required) — Aceito para manter a consistência com nós de subagentes, mas não é usado. Um nó say não pode chamar ferramentas.
  - `conversation_config` (ConversationalConfigAPIModelWorkflowOverride-Output, required) — Substituições de configuração aplicadas enquanto este nó fala, como a voz ou, para mensagens de prompt, o LLM e o prompt do sistema.
  - `edge_order` (list of string, required) — Os IDs das arestas de saída na ordem em que devem ser avaliadas.
  - `label` (string, required) — Rótulo legível para humanos do nó, usado em toda a interface.
  - `message` (WorkflowSayNodeModelOutputMessage, required) — Mensagem falada por este nó. Use `literal` para texto exato ou `prompt` para que o LLM gere a mensagem a partir de uma descrição.
  - `position` (Position-Output, required) — Posição do nó no workflow.
  - `wait_for_speech_completion` (boolean, required, default: false) — Quando for true, o workflow só segue para o próximo nó depois que a mensagem for totalmente falada.
  - `wait_for_user_response` (boolean, required, default: false) — Quando for true, o nó fala sua mensagem e espera a resposta do usuário antes de avaliar as arestas de saída, para que elas possam seguir caminhos diferentes com base na resposta. Se o usuário permanecer em silêncio, o workflow avança após o tempo limite do turno.
- `type`: `update_state` (WorkflowUpdateStateNodeModel)
  - `edge_order` (list of string, required) — Os IDs das arestas de saída na ordem em que devem ser avaliadas.
  - `label` (string, required) — Rótulo legível para humanos do nó, usado em toda a interface.
  - `position` (Position-Output, required) — Posição do nó no workflow.
  - `updates` (list of WorkflowStateUpdate-Output, required) — Atualizações de estado aplicadas quando o workflow chega a este nó. Um nó aceita no máximo 50 atualizações.

### ValidationErrorLocItems

### WorkflowEdgeModelOutputForwardCondition

Condição que deve ser atendida para que a aresta seja percorrida na direção direta (da origem para o destino).

- `type`: `expression` (WorkflowExpressionConditionModel)
  - `expression` (ASTNode-Output, required) — Expressão a avaliar.
  - `label` (string, required, nullable) — Rótulo opcional legível para humanos da condição, usado em toda a interface.
- `type`: `llm` (WorkflowLLMConditionModel)
  - `condition` (string, required) — Condição a avaliar
  - `label` (string, required, nullable) — Rótulo opcional legível para humanos da condição, usado em toda a interface.
- `type`: `result` (WorkflowResultConditionModel)
  - `label` (string, required, nullable) — Rótulo opcional legível para humanos da condição, usado em toda a interface.
  - `successful` (boolean, required) — Se todas as ferramentas no nó de ferramenta executado anteriormente foram executadas com sucesso.
- `type`: `unconditional` (WorkflowUnconditionalModel)
  - `label` (string, required, nullable) — Rótulo opcional legível para humanos da condição, usado em toda a interface.

### WorkflowEdgeModelOutputBackwardCondition

Condição que deve ser atendida para que a aresta seja percorrida na direção inversa (do destino para a origem).

- `type`: `expression` (WorkflowExpressionConditionModel)
  - `expression` (ASTNode-Output, required) — Expressão a avaliar.
  - `label` (string, required, nullable) — Rótulo opcional legível para humanos da condição, usado em toda a interface.
- `type`: `llm` (WorkflowLLMConditionModel)
  - `condition` (string, required) — Condição a avaliar
  - `label` (string, required, nullable) — Rótulo opcional legível para humanos da condição, usado em toda a interface.
- `type`: `result` (WorkflowResultConditionModel)
  - `label` (string, required, nullable) — Rótulo opcional legível para humanos da condição, usado em toda a interface.
  - `successful` (boolean, required) — Se todas as ferramentas no nó de ferramenta executado anteriormente foram executadas com sucesso.
- `type`: `unconditional` (WorkflowUnconditionalModel)
  - `label` (string, required, nullable) — Rótulo opcional legível para humanos da condição, usado em toda a interface.

### Position-Output

- `x` (double, required, default: 0)
- `y` (double, required, default: 0)

### KnowledgeBaseLocator

- `type` (enum, required) — O tipo da base de conhecimento
  - Allowed values: `file`, `url`, `text`, `folder`
- `name` (string, required) — O nome da base de conhecimento
- `id` (string, required) — O ID da base de conhecimento
- `usage_mode` (enum, optional, default: auto) — O modo de uso da base de conhecimento
  - Allowed values: `prompt`, `auto`

### ConversationalConfigAPIModelWorkflowOverride-Output

- `asr` (ASRConversationalConfigWorkflowOverride, optional, nullable) — Configuração para transcrição conversacional
- `turn` (TurnConfigWorkflowOverride, optional, nullable) — Configuração para detecção de turnos
- `tts` (TTSConversationalConfigWorkflowOverride-Output, optional, nullable) — Configuração para Text to Speech conversacional
- `conversation` (ConversationConfigWorkflowOverride-Output, optional, nullable) — Configuração para eventos de conversa
- `language_presets` (map from string to LanguagePreset-Output, optional, nullable) — Predefinições de idioma para conversas
- `vad` (VADConfigWorkflowOverride, optional, nullable) — Configuração para detecção de atividade de voz
- `agent` (AgentConfigAPIModelWorkflowOverride-Output, optional, nullable) — Configuração específica do agente

### WorkflowPhoneNumberNodeModelOutputCustomSipHeadersItems

- `type`: `dynamic` (CustomSIPHeaderWithDynamicVariable)
  - `key` (string, required) — O nome do cabeçalho SIP (por exemplo, 'X-Customer-ID')
  - `value` (string, required) — O nome da variável dinâmica a ser resolvida
- `type`: `static` (CustomSIPHeader)
  - `key` (string, required) — O nome do cabeçalho SIP (por exemplo, 'X-Customer-ID')
  - `value` (string, required) — O valor do cabeçalho

### WorkflowPhoneNumberNodeModelOutputPostDialDigits

Dígitos DTMF a enviar após a conexão da chamada, por exemplo, 'ww1234' para ramal. Pode ser um valor estático ou uma referência de variável dinâmica. Use 'w' para uma pausa de 0,5 s. Compatível apenas com transferências do Twilio.

- `type`: `dynamic` (PostDialDigitsDynamicVariable)
  - `value` (string, required) — O nome da variável dinâmica a ser resolvida
- `type`: `static` (PostDialDigitsStatic)
  - `value` (string, required) — Dígitos DTMF a enviar após a conexão da chamada, por exemplo, 'ww1234' para ramal

### WorkflowPhoneNumberNodeModelOutputTransferDestination

- `type`: `phone` (PhoneNumberTransferDestination)
  - `phone_number` (string, required)
- `type`: `phone_dynamic_variable` (PhoneNumberDynamicVariableTransferDestination)
  - `phone_number` (string, required)
- `type`: `sip_uri` (SIPUriTransferDestination)
  - `sip_uri` (string, required)
- `type`: `sip_uri_dynamic_variable` (SIPUriDynamicVariableTransferDestination)
  - `sip_uri` (string, required)

### UUITransferConfig

Envelope de Informações de Usuário para Usuário para transferências SIP REFER (RFC 7433). Os payloads de saída são codificados em hexadecimal (a única codificação definida pela RFC 7433). O campo discriminador de protocolo permite que formatos por plataforma (Talkdesk, Genesys, ...) sejam definidos por configuração, em vez de sinalizadores de transferência dispersos. Outros campos (codificação ASCII, nome do cabeçalho, parâmetros de finalidade/conteúdo) podem ser adicionados aqui sem alterar o modelo de transferência.

- `data` (string, required) — Payload UUI a ser enviado em transferências SIP REFER. Compatível com variáveis dinâmicas inline e codificado em hexadecimal no momento da transferência.
- `protocol_discriminator` (string, optional, nullable) — Discriminador opcional de protocolo de um octeto (dois dígitos hexadecimais, por exemplo, '00'). Exigido por plataformas como Genesys Cloud, que, caso contrário, removem o primeiro octeto da carga útil. Deixe sem definir para plataformas como Talkdesk, que esperam uma carga útil hexadecimal sem delimitadores.
- `protocol_discriminator_mode` (enum, optional, default: prefix) — Como anexar protocol\_discriminator. 'prefix' adiciona o octeto antes do payload hexadecimal (User-to-User=XX\<hex>;encoding=hex). 'pd\_parameter' o envia como um parâmetro separado (User-to-User=\<hex>;pd=XX;encoding=hex). Ignorado quando protocol\_discriminator não está definido.
  - Allowed values: `prefix`, `pd_parameter`

### WorkflowToolLocator

- `tool_id` (string, required)
- `schema_overrides` (map from string to WorkflowToolLocatorSchemaOverrides, optional, nullable) — Substituições de parâmetros por nó aplicadas sobre a configuração da própria ferramenta. As chaves são caminhos de parâmetros separados por ponto (ferramentas de webhook prefixam as chaves com path_params./query_params./request_body.). Elas têm prioridade sobre quaisquer substituições já definidas na própria ferramenta.

### WorkflowSayNodeModelOutputMessage

Mensagem falada por este nó. Use `literal` para texto exato ou `prompt` para que o LLM gere a mensagem a partir de uma descrição.

- `type`: `literal` (SayNodeLiteralMessage)
  - `text` (string, required) — Texto exato falado pelo agente. Compatível com espaços reservados de variáveis dinâmicas `{{variable_name}}`.
  - `text_translations` (map from string to TranslatedString, required) — Traduções de `text`, organizadas por código de idioma. Quando o idioma da conversa tem uma entrada, o valor dela é falado em vez de `text`.
- `type`: `prompt` (SayNodePromptMessage)
  - `prompt` (string, required) — Descrição da mensagem que o LLM deve gerar. Ela é adicionada ao prompt do sistema do agente enquanto este nó está ativo.

### WorkflowStateUpdate-Output

- `type` ("dynamic_variable", required)
- `variable_name` (string, required) — Nome da variável dinâmica a ser atribuída.
- `expression` (ASTNode-Output, required) — Expressão cujo resultado é atribuído à variável. Ela pode combinar constantes, outras variáveis dinâmicas, valores extraídos pelo LLM e operadores.
- `required` (boolean, required, default: true) — Quando for false, o LLM pode omitir os valores dos quais esta atualização depende. Nesse caso, a atualização é ignorada e a variável mantém o valor atual.

### ASTNode-Output

- `type`: `add_operator` (ASTAdditionOperatorNode)
  - `left` (ASTNode-Output, required) — Operando esquerdo do operador binário.
  - `right` (ASTNode-Output, required) — Operando direito do operador binário.
- `type`: `and_operator` (ASTAndOperatorNode)
  - `children` (list of ASTNode-Output, required) — Nós filhos do operador lógico.
- `type`: `boolean_literal` (ASTBooleanNode)
  - `value` (boolean, required) — Valor deste literal.
- `type`: `conditional_operator` (ASTConditionalOperatorNode)
  - `condition` (ASTNode-Output, required) — Condição que decide qual expressão deve ser selecionada.
  - `falseExpression` (ASTNode-Output, required) — Expressão selecionada se a condição for false.
  - `trueExpression` (ASTNode-Output, required) — Expressão selecionada se a condição for true.
- `type`: `div_operator` (ASTDivisionOperatorNode)
  - `left` (ASTNode-Output, required) — Operando esquerdo do operador binário.
  - `right` (ASTNode-Output, required) — Operando direito do operador binário.
- `type`: `dynamic_variable` (ASTDynamicVariableNode)
  - `name` (string, required) — O nome da variável dinâmica.
- `type`: `eq_operator` (ASTEqualsOperatorNode)
  - `left` (ASTNode-Output, required) — Operando esquerdo do operador binário.
  - `right` (ASTNode-Output, required) — Operando direito do operador binário.
- `type`: `gt_operator` (ASTGreaterThanOperatorNode)
  - `left` (ASTNode-Output, required) — Operando esquerdo do operador binário.
  - `right` (ASTNode-Output, required) — Operando direito do operador binário.
- `type`: `gte_operator` (ASTGreaterThanOrEqualsOperatorNode)
  - `left` (ASTNode-Output, required) — Operando esquerdo do operador binário.
  - `right` (ASTNode-Output, required) — Operando direito do operador binário.
- `type`: `llm` (ASTLLMNode)
  - `value_schema` (LLMLiteralJsonSchemaProperty, required) — Esquema JSON que descreve o valor que o LLM deve extrair.
  - `prompt` (string, required, deprecated) — O prompt a ser avaliado como um valor booleano. Descontinuado. Use um esquema booleano.
- `type`: `lt_operator` (ASTLessThanOperatorNode)
  - `left` (ASTNode-Output, required) — Operando esquerdo do operador binário.
  - `right` (ASTNode-Output, required) — Operando direito do operador binário.
- `type`: `lte_operator` (ASTLessThanOrEqualsOperatorNode)
  - `left` (ASTNode-Output, required) — Operando esquerdo do operador binário.
  - `right` (ASTNode-Output, required) — Operando direito do operador binário.
- `type`: `mul_operator` (ASTMultiplicationOperatorNode)
  - `left` (ASTNode-Output, required) — Operando esquerdo do operador binário.
  - `right` (ASTNode-Output, required) — Operando direito do operador binário.
- `type`: `neq_operator` (ASTNotEqualsOperatorNode)
  - `left` (ASTNode-Output, required) — Operando esquerdo do operador binário.
  - `right` (ASTNode-Output, required) — Operando direito do operador binário.
- `type`: `null_literal` (ASTNullNode)
- `type`: `number_literal` (ASTNumberNode)
  - `value` (AstNumberNodeOutputValue, required) — Valor deste literal.
- `type`: `or_operator` (ASTOrOperatorNode)
  - `children` (list of ASTNode-Output, required) — Nós filhos do operador lógico.
- `type`: `string_literal` (ASTStringNode)
  - `value` (string, required) — Valor deste literal.
- `type`: `sub_operator` (ASTSubtractionOperatorNode)
  - `left` (ASTNode-Output, required) — Operando esquerdo do operador binário.
  - `right` (ASTNode-Output, required) — Operando direito do operador binário.

### ASRConversationalConfigWorkflowOverride

- `quality` (enum, optional, nullable, default: high) — A qualidade da transcrição
  - Allowed values: `high`
- `provider` (enum, optional, nullable, default: scribe_realtime) — O provedor do serviço de transcrição
  - Allowed values: `elevenlabs`, `scribe_realtime`, `scribe_v2_turbo`
- `user_input_audio_format` (enum, optional, nullable, default: pcm_16000) — O formato do áudio a ser transcrito
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `keywords` (list of string, optional, nullable) — Palavras-chave para aumentar a probabilidade de previsão

### TurnConfigWorkflowOverride

- `turn_timeout` (double, optional, nullable) — Tempo máximo de espera pela resposta do usuário antes de retomar o contato
- `initial_wait_time` (double, optional, nullable) — Por quanto tempo o agente aguardará o usuário iniciar a conversa se a primeira mensagem estiver vazia. Se não for definido, usa o turn_timeout regular.
- `silence_end_call_timeout` (double, optional, nullable) — Tempo máximo de espera desde a última fala do usuário antes de encerrar a chamada
- `turn_eagerness` (enum, optional, nullable, default: normal) — Controla o quanto o agente está disposto a responder. Baixo = menos disposto (espera mais), Padrão = nível padrão, Alto = mais disposto (responde mais cedo)
  - Allowed values: `patient`, `normal`, `eager`
- `spelling_patience` (enum, optional, nullable, default: auto) — Controla se o agente deve ser mais paciente quando o usuário estiver soletrando números e entidades nomeadas. Auto = baseado no modelo, Off = nunca aguardar mais tempo.
  - Allowed values: `auto`, `off`
- `speculative_turn` (boolean, optional, nullable) — Quando ativado, começa a gerar respostas do LLM durante o silêncio antes que a confiança total do turno seja alcançada, reduzindo a latência percebida. Pode aumentar os custos do LLM.
- `retranscribe_on_turn_timeout` (boolean, optional, nullable) — Quando ativada, se o VAD não detectar fala, tenta transcrever novamente o áudio acumulado quando o turno atinge o tempo limite. Desativa a cobrança com desconto por silêncio enquanto estiver ativada para o agente ou nó de workflow ativo.
- `turn_model` (enum, optional, nullable, default: turn_v3) — Versão do modelo de detecção de turno a ser usada.
  - Allowed values: `turn_v2`, `turn_v3`
- `interruption_ignore_terms` (list of string, optional, nullable) — Lista de termos que não devem acionar uma interrupção quando ditos pelo usuário (por exemplo, 'entendi', 'compreendido'). Usa correspondência exata sem diferenciação entre maiúsculas e minúsculas.
- `interruption_ignore_term_languages` (list of string, optional, nullable) — Códigos de idioma para os quais categorias predefinidas de termos a ignorar foram ativadas. Armazenados explicitamente para que a exibição não seja inferida pela sobreposição de termos.
- `merge_with_default_ignore_terms` (boolean, optional, nullable) — Quando ativado, os termos padrão selecionados para interruption_ignore_term_languages são usados além de interruption_ignore_terms.
- `transcribe_on_disabled_interruptions` (boolean, optional, nullable) — Quando as interrupções estão desativadas, ainda transcreve o que o usuário diz para que seja levado para o próximo turno. Quando desativado, a fala do usuário durante um turno não interrompível é ignorada e não inicia um turno.
- `soft_timeout_config` (SoftTimeoutConfigWorkflowOverride, optional, nullable) — Configuração da funcionalidade de timeout flexível. Fornece feedback imediato durante respostas mais longas da LLM.

### TTSConversationalConfigWorkflowOverride-Output

- `model_id` (enum, optional, nullable, default: eleven_v4_turbo) — O modelo a ser usado para TTS
  - Allowed values: `eleven_turbo_v2`, `eleven_turbo_v2_5`, `eleven_flash_v2`, `eleven_flash_v2_5`, `eleven_multilingual_v2`, `eleven_v3_conversational`, `eleven_v4`, `eleven_v4_turbo`
- `voice_id` (string, optional, nullable) — O ID da voz a usar para TTS
- `supported_voices` (list of SupportedVoice, optional, nullable) — Vozes adicionais compatíveis com o agente
- `expressive_mode` (boolean, optional, nullable) — Quando ativado, aplica o prompt de tags de áudio expressivas. É desativado automaticamente para modelos que não são v3.
- `suggested_audio_tags` (list of SuggestedAudioTag, optional, nullable) — Tags de áudio sugeridas para melhorar a expressividade da fala (para os modelos eleven_v3 e eleven_v3_conversational). O agente ainda pode usar outras tags não listadas aqui.
- `agent_output_audio_format` (enum, optional, nullable, default: pcm_16000) — O formato de áudio a ser usado para TTS
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `optimize_streaming_latency` (enum, optional, nullable) — Descontinuado: este campo não tem efeito e é ignorado.
  - Allowed values: `0`, `1`, `2`, `3`, `4`
- `stability` (double, optional, nullable) — A estabilidade da fala gerada
- `speed` (double, optional, nullable) — A velocidade da fala gerada
- `similarity_boost` (double, optional, nullable) — O aumento de similaridade para a fala gerada
- `text_normalisation_type` (enum, optional, nullable, default: system_prompt) — Método para converter números em palavras antes de converter texto em voz. Se definido como SYSTEM_PROMPT, o prompt do sistema será atualizado para incluir instruções de normalização. Se definido como ELEVENLABS, o texto será normalizado após a geração, gerando uma pequena latência adicional.
  - Allowed values: `system_prompt`, `elevenlabs`
- `pronunciation_dictionary_locators` (list of PydanticPronunciationDictionaryVersionLocator, optional, nullable) — Os localizadores do dicionário de pronúncia
- `enable_phoneme_tags` (boolean, optional, nullable) — Ative o processamento de tags de fonemas SSML para modelos V3. Quando ativadas, as tags de fonemas (em linha e de dicionários de pronúncia) são analisadas em IPA em linha antes de serem enviadas ao modelo.
- `audio_effects` (EffectsSpec-Output, optional, nullable) — Especificação opcional de efeitos de TTS: predefinição de filtro, distância (EQ de proximidade) e ambiente (reverberação por convolução).

### ConversationConfigWorkflowOverride-Output

- `text_only` (boolean, optional, nullable) — Se ativado, o áudio não será processado e apenas o texto será usado. Use para evitar a cobrança de áudio.
- `max_duration_seconds` (integer, optional, nullable) — A duração máxima de uma conversa em segundos
- `client_events` (list of enum, optional, nullable) — Os eventos que serão enviados ao cliente
  - Allowed values: `conversation_initiation_metadata`, `asr_initiation_metadata`, `ping`, `audio`, `interruption`, `user_transcript`, `tentative_user_transcript`, `agent_response`, `agent_response_correction`, `client_tool_call`, `mcp_tool_call`, `mcp_connection_status`, `agent_tool_request`, `agent_tool_response`, `agent_tool_response_full_payload`, `agent_response_metadata`, `vad_score`, `agent_chat_response_part`, `client_error`, `guardrail_triggered`, `dtmf_request`, `agent_response_complete`, `context_usage`, `internal_turn_probability`, `internal_tentative_agent_response`
- `file_input` (FileInputConfigWorkflowOverride, optional, nullable) — Configuração para entrada de arquivos (uploads de imagens/PDFs) durante conversas.
- `monitoring_enabled` (boolean, optional, nullable) — Ative o monitoramento de conversas em tempo real via WebSocket
- `monitoring_events` (list of enum, optional, nullable) — Os eventos que serão enviados às conexões de monitoramento.
  - Allowed values: `conversation_initiation_metadata`, `asr_initiation_metadata`, `ping`, `audio`, `interruption`, `user_transcript`, `tentative_user_transcript`, `agent_response`, `agent_response_correction`, `client_tool_call`, `mcp_tool_call`, `mcp_connection_status`, `agent_tool_request`, `agent_tool_response`, `agent_tool_response_full_payload`, `agent_response_metadata`, `vad_score`, `agent_chat_response_part`, `client_error`, `guardrail_triggered`, `dtmf_request`, `agent_response_complete`, `context_usage`, `internal_turn_probability`, `internal_tentative_agent_response`
- `dtmf_input_settings` (DTMFInputConfig, optional, nullable) — Configure a coleta de entrada DTMF (teclado) durante chamadas telefônicas
- `background_sound` (BackgroundSoundConfigWorkflowOverride, optional, nullable) — Configuração do som de fundo durante conversas.
- `source_attribution` (boolean, optional, nullable) — Quando ativado e houver conteúdo na base de conhecimento, o LLM é instruído a informar quais fontes utilizou.

### LanguagePreset-Output

- `overrides` (ConversationConfigClientOverride-Output, required) — As substituições da predefinição de idioma
- `first_message_translation` (LanguagePresetTranslation, optional, nullable) — A tradução da primeira mensagem
- `soft_timeout_translation` (LanguagePresetTranslation, optional, nullable) — A tradução da mensagem de timeout flexível

### VADConfigWorkflowOverride

### AgentConfigAPIModelWorkflowOverride-Output

- `first_message` (string, optional, nullable) — Se não estiver vazio, será a primeira mensagem que o agente dirá. Se estiver vazio, o agente aguardará o usuário iniciar a conversa.
- `language` (string, optional, nullable) — Idioma do agente — usado para ASR e TTS
- `hinglish_mode` (boolean, optional, nullable) — Quando ativado, o agente mistura palavras e frases em inglês às respostas em hindi, malaiala, telugo ou canarês.
- `dynamic_variables` (DynamicVariablesConfigWorkflowOverride, optional, nullable) — Configuração para variáveis dinâmicas
- `disable_first_message_interruptions` (boolean, optional, nullable) — Se for true, o usuário não poderá interromper o agente enquanto a primeira mensagem estiver sendo enviada.
- `max_conversation_duration_message` (string, optional, nullable) — Se não estiver vazio, será a mensagem que o agente enviará quando a duração máxima da conversa for atingida.
- `text_behavior_overrides` (map from string to BehaviorOverride, optional, nullable) — Substituições do comportamento de resposta por canal para conversas por texto. Os padrões integrados do canal serão aplicados quando não estiver definido.
- `prompt` (PromptAgentAPIModelWorkflowOverride-Output, optional, nullable) — O prompt do agente

### WorkflowToolLocatorSchemaOverrides

- `source`: `constant` (ConstantSchemaOverride)
  - `constant_value` (WorkflowToolLocatorSchemaOverridesDiscriminatorMappingConstantConstantValue, required, nullable) — O valor constante a ser usado
- `source`: `dynamic_variable` (DynamicVariableSchemaOverride)
  - `dynamic_variable` (string, required) — O nome da variável dinâmica a ser usada
- `source`: `llm` (LLMSchemaOverride)
  - `prompt` (string, optional, nullable) — Substituição do prompt para o LLM. Se não for fornecida, será usada a descrição do esquema original.
- `source`: `omit` (OmitSchemaOverride)

### TranslatedString

- `value` (string, required)

### LLMLiteralJsonSchemaProperty

- `type` (LlmLiteralJsonSchemaPropertyType, required)
- `description` (string, required)
- `enum` (list of string, optional, nullable) — List of allowed string values for string type parameters

### AstNumberNodeOutputValue

Valor deste literal.

### SoftTimeoutConfigWorkflowOverride

- `timeout_seconds` (double, optional, nullable) — Tempo em segundos antes de exibir a mensagem predefinida enquanto aguarda a resposta do LLM. Defina como -1 para desativar.
- `message` (string, optional, nullable) — Mensagem a exibir quando o primeiro tempo limite flexível for atingido durante a espera pela resposta do LLM. Compatível com variáveis dinâmicas (por exemplo, \{\{system\_\_time}}, \{\{custom\_variable}}).
- `additional_soft_timeout_messages` (list of string, optional, nullable) — Mensagens estáticas extras de preenchimento para os soft timeouts subsequentes na mesma geração de LLM. O primeiro timeout usa `message`. Se houver menos mensagens configuradas que `max_soft_timeouts_per_generation`, a última mensagem configurada será repetida; caso contrário, será usada uma mensagem de preenchimento integrada.
- `use_llm_generated_message` (boolean, optional, nullable) — Se ativado, a mensagem de timeout suave será gerada dinamicamente em vez de usar a mensagem estática.
- `randomize_fillers` (boolean, optional, nullable) — Se ativado, embaralha uma vez a ordem das mensagens estáticas de timeout suave no início de cada turno. Aplica-se apenas quando use_llm_generated_message é false.
- `max_soft_timeouts_per_generation` (integer, optional, nullable) — Número máximo de mensagens de preenchimento durante a espera por uma única resposta do LLM. É acionado a cada timeout_seconds até que o LLM transmita conteúdo ou esse limite seja atingido.
- `llm_generated_message_prompt_override` (string, optional, nullable) — Prompt personalizado para gerar a mensagem de preenchimento de tempo limite flexível quando use\_llm\_generated\_message estiver ativado. O contexto recente da conversa é fornecido como uma mensagem de usuário separada. Se não for definido, o prompt padrão será usado. Compatível com variáveis dinâmicas (por exemplo, \{\{system\_\_time}}, \{\{custom\_variable}}).
- `disable_until_first_user_message` (boolean, optional, nullable) — Quando true, os preenchimentos de timeout flexível são suprimidos até que a conversa tenha pelo menos uma mensagem real do usuário. Isso evita preenchimentos durante o turno de abertura do agente (por exemplo, workflow generate-immediately ou chamadas de ferramenta antes de o usuário falar).

### SupportedVoice

- `label` (string, required)
- `voice_id` (string, required)
- `description` (string, optional, nullable)
- `language` (string, optional, nullable)
- `model_family` (enum, optional, nullable)
  - Allowed values: `turbo`, `flash`, `multilingual`, `v3_conversational`, `v4`, `v4_turbo`
- `optimize_streaming_latency` (enum, optional, nullable)
  - Allowed values: `0`, `1`, `2`, `3`, `4`
- `stability` (double, optional, nullable)
- `speed` (double, optional, nullable)
- `similarity_boost` (double, optional, nullable)

### SuggestedAudioTag

- `tag` (string, required) — Tag de áudio a usar (para melhor desempenho, 1 a 2 palavras, por exemplo, 'feliz', 'animado')
- `description` (string, optional, nullable) — Descrição opcional de quando usar esta tag

### PydanticPronunciationDictionaryVersionLocator

Um localizador para que outros documentos possam fazer referência a um dicionário específico e à sua versão. Esta é uma versão pydantic de PronunciationDictionaryVersionLocatorDBModel. Necessário para garantir compatibilidade com os demais modelos de dados do agente.

- `pronunciation_dictionary_id` (string, required) — O ID do dicionário de pronúncia
- `version_id` (string, required, nullable) — O ID da versão do dicionário de pronúncia

### EffectsSpec-Output

Efeitos de áudio aplicados à fala gerada: uma predefinição de filtro, distância percebida, um ambiente de reverberação, uma camada de ruído de fundo e panoramização estéreo. Deixe todos os campos com os valores padrão para obter áudio sem processamento.

- `filter_preset_id` (string, required, nullable) — ID de uma predefinição de filtro que modifica o timbre da voz, como `phone` ou `old_radio`. Liste IDs válidos com `GET /v1/audio-effects/catalog`.
- `distance` (double, required, default: 0) — A distância em que o falante parece estar do microfone, de 0 (próximo, sem alteração) a 1 (distante). Valores mais altos atenuam as frequências graves e agudas e, quando um ambiente é definido, deslocam o equilíbrio da voz seca para a reverberação.
- `environment_id` (string, required, nullable) — ID de um ambiente de reverberação que insere a voz em um espaço, como `small_room` ou `hall`. Liste IDs válidos com `GET /v1/audio-effects/catalog`. A reverberação é renderizada em estéreo e adiciona uma cauda de até vários segundos após o fim da fala.
- `background_noise_id` (string, required, nullable) — ID de uma camada de ruído de fundo reproduzida em loop sob a voz, como `cafe` ou `keyboard`. Liste IDs válidos com `GET /v1/audio-effects/catalog`.
- `send_level` (double, required, default: 1) — Quanto da voz é enviado para a reverberação, de 0 (nada) a 1 (total). Só se aplica quando `environment_id` está definido; 0 desativa a reverberação.
- `pan` (double, required, default: 0) — Posição estéreo da voz, de -1 (totalmente à esquerda), passando por 0 (centro), até 1 (totalmente à direita). Apenas a voz é panoramizada; a reverberação e o ruído de fundo permanecem centralizados.

### FileInputConfigWorkflowOverride

- `enabled` (boolean, optional, nullable) — Quando ativado, os usuários podem anexar imagens, PDFs ou arquivos de texto no chat quando o LLM oferece suporte a entrada multimodal.
- `max_files_in_memory` (integer, optional, nullable) — Número dos arquivos mais recentes mantidos na memória durante uma conversa. Os arquivos mais antigos são resumidos e seus bytes são liberados.
- `max_files_per_conversation` (integer, optional, nullable) — Total de arquivos que um usuário pode enviar em uma conversa. Os envios são cobrados por arquivo. Use -1 para não definir limite ou um valor >= max_files_in_memory.

### DTMFInputConfig

Configuração da coleta de entrada DTMF (teclado) durante chamadas telefônicas.

- `dtmf_input_timeout` (double, optional, default: 2) — Tempo limite, em segundos, para aguardar dígitos DTMF adicionais
- `hash_terminator` (boolean, optional, default: true) — Se for true, pressionar # conclui imediatamente a entrada DTMF.
- `redact_input` (boolean, optional, default: false) — Se for true, substitui as entradas DTMF (teclado) do chamador por um marcador de redação na transcrição, no registro da conversa e na análise. Os dígitos que o agente repete ou passa para uma ferramenta não são afetados.

### BackgroundSoundConfigWorkflowOverride

- `source_type` (enum, optional, nullable) — O tipo de fonte de som de fundo.
  - Allowed values: `preset`
- `source_id` (enum, optional, nullable) — Identificador da fonte sonora.
  - Allowed values: `office2`, `office1`, `restaurant`, `city`, `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `volume` (double, optional, nullable) — Nível de volume do som de fundo (0,01 a 1,0).
- `crossfade_loop` (boolean, optional, nullable) — Aplique um crossfade no limite do loop para evitar estalos audíveis quando o som se repetir.

### ConversationConfigClientOverride-Output

- `asr` (ASRConversationalConfigOverride, optional, nullable) — Configuração para transcrição conversacional
- `turn` (TurnConfigOverride, optional, nullable) — Configuração para detecção de turnos
- `tts` (TTSConversationalConfigOverride, optional, nullable) — Configuração para Text to Speech conversacional
- `conversation` (ConversationConfigOverride, optional, nullable) — Configuração para eventos de conversa
- `agent` (AgentConfigOverride-Output, optional, nullable) — Configuração específica do agente

### LanguagePresetTranslation

- `source_hash` (string, required)
- `text` (string, required)

### DynamicVariablesConfigWorkflowOverride

- `dynamic_variable_placeholders` (map from string to any, optional, nullable) — Um dicionário de marcadores de variáveis dinâmicas e seus valores.

### BehaviorOverride

- `verbosity` (enum, optional, nullable) — Substituição de verbosidade. O padrão subjacente é aplicado quando não definido.
  - Allowed values: `auto`, `concise`, `thorough`
- `output_format` (enum, optional, nullable) — Substituição do formato de saída. O padrão subjacente será aplicado quando não estiver definido.
  - Allowed values: `mp3_22050_32`, `mp3_44100_32`, `mp3_44100_64`, `mp3_44100_96`, `mp3_44100_128`, `mp3_44100_192`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `ulaw_8000`
- `interaction_budget` (enum, optional, nullable) — Substituição do orçamento de interação. O padrão subjacente é aplicado quando não definido.
  - Allowed values: `realtime`, `5_minutes`, `10_minutes`, `1_hour`

### PromptAgentAPIModelWorkflowOverride-Output

- `prompt` (string, optional, nullable) — O prompt do agente
- `llm` (enum, optional, nullable) — O LLM a ser consultado com o prompt e o histórico do chat. Se estiver usando residência de dados, o LLM deve ser compatível com o ambiente de residência de dados.
  - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemini-4-argon`, `claude-sonnet-4-5`, `claude-opus-4-6`, `claude-opus-4-7`, `claude-opus-4-8`, `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-4-6`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-sonnet-4`, `claude-haiku-4-5`, `claude-haiku-5-5`, `claude-3-7-sonnet`, `claude-3-5-sonnet`, `claude-3-5-sonnet-v1`, `claude-3-haiku`, `grok-beta`, `custom-llm`, `qwen3-4b`, `qwen3-30b-a3b`, `qwen36-35b-a3b`, `qwen35-397b-a17b`, `gpt-oss-20b`, `gpt-oss-120b`, `glm-45-air-fp8`, `glm-52`, `deepseek-v41-flash`, `nemotron-35-super-vl-nvfp4`, `gemini-2.5-flash-preview-09-2025`, `gemini-2.5-flash-lite-preview-09-2025`, `gemini-2.5-flash-preview-05-20`, `gemini-2.5-flash-preview-04-17`, `gemini-2.5-flash-lite-preview-06-17`, `gemini-2.0-flash-lite-001`, `gemini-2.0-flash-001`, `gemini-1.5-flash-002`, `gemini-1.5-flash-001`, `gemini-1.5-pro-002`, `gemini-1.5-pro-001`, `claude-sonnet-4@20250514`, `claude-sonnet-4-5@20250929`, `claude-haiku-4-5@20251001`, `claude-3-7-sonnet@20250219`, `claude-3-5-sonnet@20240620`, `claude-3-5-sonnet-v2@20241022`, `claude-3-haiku@20240307`, `gpt-5-2025-08-07`, `gpt-5.1-2025-11-13`, `gpt-5.2-2025-12-11`, `gpt-5.4-2026-03-05`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano-2026-03-17`, `gpt-5.5-2026-04-23`, `gpt-5-mini-2025-08-07`, `gpt-5-nano-2025-08-07`, `gpt-4.1-2025-04-14`, `gpt-4.1-mini-2025-04-14`, `gpt-4.1-nano-2025-04-14`, `gpt-4o-mini-2024-07-18`, `gpt-4o-2024-11-20`, `gpt-4o-2024-08-06`, `gpt-4o-2024-05-13`, `gpt-4-0613`, `gpt-4-0314`, `gpt-4-turbo-2024-04-09`, `gpt-3.5-turbo-0125`, `gpt-3.5-turbo-1106`, `watt-tool-8b`, `watt-tool-70b`
- `reasoning_effort` (enum, optional, nullable) — Esforço de raciocínio do modelo. Disponível apenas para alguns modelos.
  - Allowed values: `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`
- `thinking_budget` (integer, optional, nullable) — Número máximo de tokens usados para raciocínio. Use 0 para desativar, se houver suporte do modelo.
- `enable_reasoning_summary` (boolean, optional, nullable) — Ative resumos de raciocínio do modelo. Quando desativado, não solicitamos resumos ao provedor, quando possível, para obter um TTFB mais rápido. Não é compatível com ZRM.
- `temperature` (double, optional, nullable) — A temperatura para o LLM. O padrão é 0. Defina como null para omitir totalmente o parâmetro da solicitação ao LLM, o que é útil para LLMs personalizados que rejeitam o campo de temperatura.
- `max_tokens` (integer, optional, nullable) — Se for maior que 0, número máximo de tokens que o LLM pode prever
- `tool_ids` (list of string, optional, nullable) — Uma lista de IDs das ferramentas usadas pelo agente.
- `tool_ids_strict` (boolean, optional, nullable) — Aplica-se apenas como uma substituição na conversa e é permitido sempre que tool_ids puder ser substituído. Quando verdadeiro, o tool_ids substituído é a lista completa de ferramentas permitidas na conversa, incluindo ferramentas em nós do workflow. É ignorado quando definido no agente.
- `built_in_tools` (BuiltInToolsWorkflowOverride-Output, optional, nullable) — Ferramentas de sistema integradas a serem usadas pelo agente
- `enable_parallel_tool_calls` (boolean, optional, nullable) — Ative chamadas paralelas de ferramentas. Quando ativado, o agente pode executar várias ferramentas em paralelo em um único turno. Não é compatível com todos os modelos.
- `mcp_server_ids` (list of string, optional, nullable) — Uma lista de IDs de servidores MCP a serem usados pelo agente
- `native_mcp_server_ids` (list of string, optional, nullable) — Uma lista de IDs de servidores MCP nativos a serem usados pelo agente
- `knowledge_base` (list of KnowledgeBaseLocator, optional, nullable) — Uma lista de bases de conhecimento a serem usadas pelo agente
- `custom_llm` (CustomLLM, optional, nullable) — Definição de um LLM personalizado se o campo LLM estiver definido como 'CUSTOM_LLM'
- `ignore_default_personality` (boolean, optional, nullable) — Se deve remover as linhas de personalidade padrão do prompt do sistema
- `rag` (RagConfigWorkflowOverride-Output, optional, nullable) — Configuração para RAG
- `timezone` (string, optional, nullable) — Fuso horário para exibir a hora atual no prompt do sistema. Se definido, a hora atual será incluída no prompt do sistema usando esse fuso horário. Deve ser um nome de fuso horário válido (por exemplo, 'America/New_York', 'Europe/London', 'UTC'). Recomendado para respostas precisas que consideram o horário; sem isso, o agente não tem conhecimento da data/hora atual, a menos que você a forneça por meio de variáveis dinâmicas ou ferramentas, o que pode levar a referências de tempo incorretas ou alucinadas.
- `backup_llm_config` (PromptAgentApiModelWorkflowOverrideOutputBackupLlmConfig, optional, nullable) — Configuração da cascata de LLMs de backup. Pode ser desativada, usar os padrões do sistema ou especificar uma ordem personalizada.
- `cascade_timeout_seconds` (double, optional, nullable) — Tempo em segundos antes de alternar para o LLM de backup. Deve estar entre 2 e 15 segundos.
- `tools` (list of PromptAgentApiModelWorkflowOverrideOutputToolsItems, optional, nullable) — Uma lista de ferramentas que o agente pode usar durante a conversa; use tool_ids em vez disso

### WorkflowToolLocatorSchemaOverridesDiscriminatorMappingConstantConstantValue

O valor constante a ser usado

### LlmLiteralJsonSchemaPropertyType

### ASRConversationalConfigOverride

- `keywords` (list of string, optional, nullable) — Palavras-chave para aumentar a probabilidade de previsão

### TurnConfigOverride

- `soft_timeout_config` (SoftTimeoutConfigOverride, optional, nullable) — Configuração da funcionalidade de timeout flexível. Fornece feedback imediato durante respostas mais longas da LLM.

### TTSConversationalConfigOverride

- `model_id` (enum, optional, nullable, default: eleven_v4_turbo) — O modelo a ser usado para TTS
  - Allowed values: `eleven_turbo_v2`, `eleven_turbo_v2_5`, `eleven_flash_v2`, `eleven_flash_v2_5`, `eleven_multilingual_v2`, `eleven_v3_conversational`, `eleven_v4`, `eleven_v4_turbo`
- `voice_id` (string, optional, nullable) — O ID da voz a usar para TTS
- `supported_voices` (list of SupportedVoice, optional, nullable) — Vozes adicionais compatíveis com o agente
- `stability` (double, optional, nullable) — A estabilidade da fala gerada
- `speed` (double, optional, nullable) — A velocidade da fala gerada
- `similarity_boost` (double, optional, nullable) — O aumento de similaridade para a fala gerada
- `pronunciation_dictionary_locators` (list of PydanticPronunciationDictionaryVersionLocator, optional, nullable) — Os localizadores do dicionário de pronúncia

### ConversationConfigOverride

- `text_only` (boolean, optional, nullable) — Se ativado, o áudio não será processado e apenas o texto será usado. Use para evitar a cobrança de áudio.
- `max_duration_seconds` (integer, optional, nullable) — A duração máxima de uma conversa em segundos

### AgentConfigOverride-Output

- `first_message` (string, optional, nullable) — Se não estiver vazio, será a primeira mensagem que o agente dirá. Se estiver vazio, o agente aguardará o usuário iniciar a conversa.
- `language` (string, optional, nullable) — Idioma do agente — usado para ASR e TTS
- `max_conversation_duration_message` (string, optional, nullable) — Se não estiver vazio, será a mensagem que o agente enviará quando a duração máxima da conversa for atingida.
- `prompt` (PromptAgentAPIModelOverride-Output, optional, nullable) — O prompt do agente

### BuiltInToolsWorkflowOverride-Output

- `transfer_to_agent` (SystemToolConfig, optional, nullable) — A ferramenta de transferência para agente
- `end_call` (SystemToolConfig, optional, nullable) — A ferramenta de encerramento da chamada
- `language_detection` (SystemToolConfig, optional, nullable) — A ferramenta de detecção de idioma
- `transfer_to_number` (SystemToolConfig, optional, nullable) — A ferramenta de transferência para número
- `skip_turn` (SystemToolConfig, optional, nullable) — A ferramenta para pular turno
- `play_keypad_touch_tone` (SystemToolConfig, optional, nullable) — A ferramenta de reprodução DTMF
- `voicemail_detection` (SystemToolConfig, optional, nullable) — A ferramenta de detecção de caixa postal

### CustomLLM

- `url` (string, required) — A URL do endpoint compatível com Chat Completions
- `model_id` (string, optional, nullable) — O ID do modelo a ser usado se a URL disponibilizar vários modelos
- `api_key` (CustomLlmApiKey, optional, nullable) — A chave de API para autenticação. Pode ser uma referência a um segredo do workspace \{'secret\_id': '...'} ou uma referência a uma variável de ambiente \{'env\_var\_label': '...'}.
- `auth_connection` (CustomLlmAuthConnection, optional, nullable) — Conexão de autenticação opcional do workspace. Só há suporte para conexões de autenticação que produzem um token Authorization Bearer; não há suporte para conexões de autenticação Basic, mTLS, cabeçalho personalizado e segredo de URL.
- `request_headers` (map from string to CustomLlmRequestHeaders, optional) — Cabeçalhos que devem ser incluídos na solicitação
- `api_version` (string, optional, nullable) — A versão da API a ser usada na solicitação
- `api_type` (enum, optional, default: chat_completions) — O tipo de API a ser usado (chat_completions, responses ou websocket)
  - Allowed values: `chat_completions`, `responses`, `websocket`

### RagConfigWorkflowOverride-Output

- `enabled` (boolean, optional, nullable)
- `embedding_model` (enum, optional, nullable, default: e5_mistral_7b_instruct)
  - Allowed values: `e5_mistral_7b_instruct`, `multilingual_e5_large_instruct`
- `max_vector_distance` (double, optional, nullable) — Distância vetorial máxima dos trechos recuperados.
- `max_documents_length` (integer, optional, nullable) — Comprimento total máximo dos trechos de documentos recuperados do RAG.
- `max_retrieved_rag_chunks_count` (integer, optional, nullable) — Número máximo de trechos de documentos RAG a recuperar inicialmente do armazenamento vetorial. Eles são então filtrados ainda mais pela distância vetorial e pelo comprimento total.
- `num_candidates` (integer, optional, nullable) — Número de candidatos avaliados na busca vetorial ANN. Um número maior significa melhores resultados, mas maior latência. O valor mínimo recomendado é 100. Se desativado, o valor padrão será usado.
- `query_rewrite_prompt_override` (string, optional, nullable) — Prompt personalizado para reescrever consultas do usuário antes da recuperação RAG. O histórico da conversa será anexado automaticamente ao final. Se não for definido, o prompt padrão será usado.
- `knowledge_base_tool_info` (KnowledgeBaseToolInfo, optional, nullable) — Quando definido, o agente usa a ferramenta knowledge_base em vez da ferramenta legada knowledge_base_rag. None significa que o agente não aderiu.

### PromptAgentApiModelWorkflowOverrideOutputBackupLlmConfig

Configuração da cascata de LLMs de backup. Pode ser desativada, usar os padrões do sistema ou especificar uma ordem personalizada.

### PromptAgentApiModelWorkflowOverrideOutputToolsItems

O tipo de ferramenta

- `type`: `api_integration_webhook` (ApiIntegrationWebhookToolConfig)
  - `api_integration_connection_id` (string, required)
  - `api_integration_id` (string, required)
  - `api_schema_overrides` (ApiIntegrationWebhookOverrides, required, nullable) — Substituições do usuário aplicadas sobre o api_schema base
  - `assignments` (list of DynamicVariableAssignment, required) — Configuração para extrair valores das respostas de ferramentas e atribuí-los a variáveis dinâmicas
  - `description` (string, required) — Descrição de quando a ferramenta deve ser usada e do que ela faz.
  - `dynamic_variables` (DynamicVariablesConfig, required) — Configuração para variáveis dinâmicas
  - `execution_mode` (enum, required, default: immediate) — Determina quando e como a ferramenta é executada: 'immediate' executa a ferramenta imediatamente quando solicitada pelo LLM; 'post_tool_speech' aguarda o agente terminar de falar antes de executar; e 'async' executa a ferramenta em segundo plano, sem bloquear — ideal para operações demoradas.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `interruption_mode` (enum, required, default: allow) — Controla se o usuário pode interromper o agente durante esta chamada de ferramenta. 'allow' (padrão) permite que o usuário interrompa a qualquer momento, 'disable_during_tool' suprime interrupções apenas enquanto a ferramenta está em execução e 'disable_during_tool_and_turn' suprime interrupções enquanto a ferramenta é executada e durante a resposta do agente que a segue.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `name` (string, required)
  - `pre_tool_speech` (enum, required, default: auto) — Controla se o agente fala antes de esta ferramenta ser chamada. 'auto' (padrão) decide com base na latência recente da ferramenta, 'force' sempre faz o agente falar e 'off' desativa totalmente esse comportamento, independentemente da latência.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, required, default: 20) — O tempo máximo, em segundos, para aguardar a conclusão da chamada de ferramenta. Deve estar entre 5 e 300 segundos, inclusive.
  - `tool_call_sound` (enum, required, nullable) — Tipo de som predefinido para chamadas de ferramenta, reproduzido durante a execução da ferramenta. Se não for especificado, nenhum som de chamada de ferramenta será reproduzido.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, required, default: auto) — Determina quando o som de chamada da ferramenta deve tocar. 'auto' toca apenas quando há fala antes da ferramenta; 'always' toca em todas as chamadas de ferramenta.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, required, default: auto) — Controla como os erros das ferramentas são processados antes de serem compartilhados com o agente. 'auto' determina o tratamento com base no tipo de ferramenta (resumido para integrações nativas, oculto para as demais), 'summarized' envia um resumo gerado por LLM, 'passthrough' envia o erro bruto e 'hide' não compartilha o erro com o agente.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `tool_version` (string, required, default: 1.0.0) — A versão da ferramenta de integração da API
  - `disable_interruptions` (boolean, required, default: false, deprecated) — DESCONTINUADO: use `interruption_mode`. Se for true, o usuário não poderá interromper o agente enquanto esta ferramenta estiver em execução.
  - `force_pre_tool_speech` (boolean, required, default: false, deprecated) — DESCONTINUADO: use `pre_tool_speech`. Se for true, o agente falará antes da chamada da ferramenta.
- `type`: `client` (ClientToolConfig)
  - `description` (string, required) — Descrição de quando a ferramenta deve ser usada e do que ela faz.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuração para extrair valores das respostas de ferramentas e atribuí-los a variáveis dinâmicas
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Configuração para variáveis dinâmicas
  - `execution_mode` (enum, optional, default: immediate) — Determina quando e como a ferramenta é executada: 'immediate' executa a ferramenta imediatamente quando solicitada pelo LLM; 'post_tool_speech' aguarda o agente terminar de falar antes de executar; e 'async' executa a ferramenta em segundo plano, sem bloquear — ideal para operações demoradas.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `expects_response` (boolean, optional, default: false) — Se for true, a chamada desta ferramenta deverá bloquear a conversa até que o cliente responda, e essa resposta será passada ao LLM. Se for false, continuaremos a conversa sem esperar a resposta do cliente. Isso é útil para mostrar conteúdo a um usuário sem bloquear a conversa.
  - `interruption_mode` (enum, optional, default: allow) — Controla se o usuário pode interromper o agente durante esta chamada de ferramenta. 'allow' (padrão) permite que o usuário interrompa a qualquer momento, 'disable_during_tool' suprime interrupções apenas enquanto a ferramenta está em execução e 'disable_during_tool_and_turn' suprime interrupções enquanto a ferramenta é executada e durante a resposta do agente que a segue.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `parameters` (ObjectJsonSchemaProperty-Output, optional, nullable) — Schema para quaisquer parâmetros a serem enviados ao cliente
  - `pre_tool_speech` (enum, optional, default: auto) — Controla se o agente fala antes de esta ferramenta ser chamada. 'auto' (padrão) decide com base na latência recente da ferramenta, 'force' sempre faz o agente falar e 'off' desativa totalmente esse comportamento, independentemente da latência.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — O tempo máximo, em segundos, de espera pela conclusão da chamada da ferramenta. Deve ser entre 1 e 120 segundos (inclusive) ou -1 para aguardar indefinidamente a resposta do cliente (requer expects_response).
  - `tool_call_sound` (enum, optional, nullable) — Tipo de som predefinido para chamadas de ferramenta, reproduzido durante a execução da ferramenta. Se não for especificado, nenhum som de chamada de ferramenta será reproduzido.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Determina quando o som de chamada da ferramenta deve tocar. 'auto' toca apenas quando há fala antes da ferramenta; 'always' toca em todas as chamadas de ferramenta.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Controla como os erros das ferramentas são processados antes de serem compartilhados com o agente. 'auto' determina o tratamento com base no tipo de ferramenta (resumido para integrações nativas, oculto para as demais), 'summarized' envia um resumo gerado por LLM, 'passthrough' envia o erro bruto e 'hide' não compartilha o erro com o agente.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `interruption_mode`. Se for true, o usuário não poderá interromper o agente enquanto esta ferramenta estiver em execução.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `pre_tool_speech`. Se for true, o agente falará antes da chamada da ferramenta.
- `type`: `mcp` (mcp)
- `type`: `smb` (smb)
- `type`: `system` (SystemToolConfig)
  - `name` (string, required)
  - `params` (ToolResponseModelToolConfigDiscriminatorMappingSystemParams, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuração para extrair valores das respostas de ferramentas e atribuí-los a variáveis dinâmicas
  - `description` (string, optional, default: ) — Descrição de quando a ferramenta deve ser usada e do que ela faz. Deixe em branco para usar a descrição padrão otimizada para o tipo específico de ferramenta.
  - `interruption_mode` (enum, optional, default: allow) — Controla se o usuário pode interromper o agente durante esta chamada de ferramenta. 'allow' (padrão) permite que o usuário interrompa a qualquer momento, 'disable_during_tool' suprime interrupções apenas enquanto a ferramenta está em execução e 'disable_during_tool_and_turn' suprime interrupções enquanto a ferramenta é executada e durante a resposta do agente que a segue.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Controla se o agente fala antes de esta ferramenta ser chamada. 'auto' (padrão) decide com base na latência recente da ferramenta, 'force' sempre faz o agente falar e 'off' desativa totalmente esse comportamento, independentemente da latência.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — O tempo máximo, em segundos, para aguardar a conclusão da chamada de ferramenta.
  - `tool_call_sound` (enum, optional, nullable) — Tipo de som predefinido para chamadas de ferramenta, reproduzido durante a execução da ferramenta. Se não for especificado, nenhum som de chamada de ferramenta será reproduzido.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Determina quando o som de chamada da ferramenta deve tocar. 'auto' toca apenas quando há fala antes da ferramenta; 'always' toca em todas as chamadas de ferramenta.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Controla como os erros das ferramentas são processados antes de serem compartilhados com o agente. 'auto' determina o tratamento com base no tipo de ferramenta (resumido para integrações nativas, oculto para as demais), 'summarized' envia um resumo gerado por LLM, 'passthrough' envia o erro bruto e 'hide' não compartilha o erro com o agente.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `interruption_mode`. Se for true, o usuário não poderá interromper o agente enquanto esta ferramenta estiver em execução.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `pre_tool_speech`. Se for true, o agente falará antes da chamada da ferramenta.
- `type`: `webhook` (WebhookToolConfig)
  - `api_schema` (WebhookToolApiSchemaConfig-Output, required) — O esquema do webhook de saída, incluindo parâmetros e especificação de URL
  - `description` (string, required) — Descrição de quando a ferramenta deve ser usada e do que ela faz.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuração para extrair valores das respostas de ferramentas e atribuí-los a variáveis dinâmicas
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Configuração para variáveis dinâmicas
  - `execution_mode` (enum, optional, default: immediate) — Determina quando e como a ferramenta é executada: 'immediate' executa a ferramenta imediatamente quando solicitada pelo LLM; 'post_tool_speech' aguarda o agente terminar de falar antes de executar; e 'async' executa a ferramenta em segundo plano, sem bloquear — ideal para operações demoradas.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `follow_redirects` (boolean, optional, default: false) — Se deve seguir um redirecionamento do endpoint e retornar a resposta final. Um redirecionamento é seguido como um GET sem o corpo da solicitação; nenhuma configuração desta ferramenta (cabeçalhos, autenticação, certificado de cliente) é enviada ao destino do redirecionamento. Tanto o endpoint quanto o destino do redirecionamento devem usar HTTPS. Não é compatível com ferramentas de integração de API.
  - `follow_redirects_allowed_domains` (list of string, optional) — Domínios para os quais um redirecionamento pode apontar, por exemplo, 'test.example.com'. Obrigatório ao seguir redirecionamentos; um destino fora da lista será recusado.
  - `interruption_mode` (enum, optional, default: allow) — Controla se o usuário pode interromper o agente durante esta chamada de ferramenta. 'allow' (padrão) permite que o usuário interrompa a qualquer momento, 'disable_during_tool' suprime interrupções apenas enquanto a ferramenta está em execução e 'disable_during_tool_and_turn' suprime interrupções enquanto a ferramenta é executada e durante a resposta do agente que a segue.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Controla se o agente fala antes de esta ferramenta ser chamada. 'auto' (padrão) decide com base na latência recente da ferramenta, 'force' sempre faz o agente falar e 'off' desativa totalmente esse comportamento, independentemente da latência.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — O tempo máximo, em segundos, para aguardar a conclusão da chamada de ferramenta. Deve estar entre 5 e 300 segundos, inclusive.
  - `tool_call_sound` (enum, optional, nullable) — Tipo de som predefinido para chamadas de ferramenta, reproduzido durante a execução da ferramenta. Se não for especificado, nenhum som de chamada de ferramenta será reproduzido.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Determina quando o som de chamada da ferramenta deve tocar. 'auto' toca apenas quando há fala antes da ferramenta; 'always' toca em todas as chamadas de ferramenta.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Controla como os erros das ferramentas são processados antes de serem compartilhados com o agente. 'auto' determina o tratamento com base no tipo de ferramenta (resumido para integrações nativas, oculto para as demais), 'summarized' envia um resumo gerado por LLM, 'passthrough' envia o erro bruto e 'hide' não compartilha o erro com o agente.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `interruption_mode`. Se for true, o usuário não poderá interromper o agente enquanto esta ferramenta estiver em execução.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `pre_tool_speech`. Se for true, o agente falará antes da chamada da ferramenta.

### SoftTimeoutConfigOverride

- `message` (string, optional, nullable) — Mensagem a exibir quando o primeiro tempo limite flexível for atingido durante a espera pela resposta do LLM. Compatível com variáveis dinâmicas (por exemplo, \{\{system\_\_time}}, \{\{custom\_variable}}).
- `additional_soft_timeout_messages` (list of string, optional, nullable) — Mensagens estáticas extras de preenchimento para os soft timeouts subsequentes na mesma geração de LLM. O primeiro timeout usa `message`. Se houver menos mensagens configuradas que `max_soft_timeouts_per_generation`, a última mensagem configurada será repetida; caso contrário, será usada uma mensagem de preenchimento integrada.

### PromptAgentAPIModelOverride-Output

- `prompt` (string, optional, nullable) — O prompt do agente
- `llm` (enum, optional, nullable) — O LLM a ser consultado com o prompt e o histórico do chat. Se estiver usando residência de dados, o LLM deve ser compatível com o ambiente de residência de dados.
  - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemini-4-argon`, `claude-sonnet-4-5`, `claude-opus-4-6`, `claude-opus-4-7`, `claude-opus-4-8`, `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-4-6`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-sonnet-4`, `claude-haiku-4-5`, `claude-haiku-5-5`, `claude-3-7-sonnet`, `claude-3-5-sonnet`, `claude-3-5-sonnet-v1`, `claude-3-haiku`, `grok-beta`, `custom-llm`, `qwen3-4b`, `qwen3-30b-a3b`, `qwen36-35b-a3b`, `qwen35-397b-a17b`, `gpt-oss-20b`, `gpt-oss-120b`, `glm-45-air-fp8`, `glm-52`, `deepseek-v41-flash`, `nemotron-35-super-vl-nvfp4`, `gemini-2.5-flash-preview-09-2025`, `gemini-2.5-flash-lite-preview-09-2025`, `gemini-2.5-flash-preview-05-20`, `gemini-2.5-flash-preview-04-17`, `gemini-2.5-flash-lite-preview-06-17`, `gemini-2.0-flash-lite-001`, `gemini-2.0-flash-001`, `gemini-1.5-flash-002`, `gemini-1.5-flash-001`, `gemini-1.5-pro-002`, `gemini-1.5-pro-001`, `claude-sonnet-4@20250514`, `claude-sonnet-4-5@20250929`, `claude-haiku-4-5@20251001`, `claude-3-7-sonnet@20250219`, `claude-3-5-sonnet@20240620`, `claude-3-5-sonnet-v2@20241022`, `claude-3-haiku@20240307`, `gpt-5-2025-08-07`, `gpt-5.1-2025-11-13`, `gpt-5.2-2025-12-11`, `gpt-5.4-2026-03-05`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano-2026-03-17`, `gpt-5.5-2026-04-23`, `gpt-5-mini-2025-08-07`, `gpt-5-nano-2025-08-07`, `gpt-4.1-2025-04-14`, `gpt-4.1-mini-2025-04-14`, `gpt-4.1-nano-2025-04-14`, `gpt-4o-mini-2024-07-18`, `gpt-4o-2024-11-20`, `gpt-4o-2024-08-06`, `gpt-4o-2024-05-13`, `gpt-4-0613`, `gpt-4-0314`, `gpt-4-turbo-2024-04-09`, `gpt-3.5-turbo-0125`, `gpt-3.5-turbo-1106`, `watt-tool-8b`, `watt-tool-70b`
- `tool_ids` (list of string, optional, nullable) — Uma lista de IDs das ferramentas usadas pelo agente.
- `tool_ids_strict` (boolean, optional, nullable) — Aplica-se apenas como uma substituição na conversa e é permitido sempre que tool_ids puder ser substituído. Quando verdadeiro, o tool_ids substituído é a lista completa de ferramentas permitidas na conversa, incluindo ferramentas em nós do workflow. É ignorado quando definido no agente.
- `native_mcp_server_ids` (list of string, optional, nullable) — Uma lista de IDs de servidores MCP nativos a serem usados pelo agente
- `knowledge_base` (list of KnowledgeBaseLocator, optional, nullable) — Uma lista de bases de conhecimento a serem usadas pelo agente

### SystemToolConfig

Uma ferramenta de sistema é usada para chamar um método do sistema no servidor

- `name` (string, required)
- `params` (ToolResponseModelToolConfigDiscriminatorMappingSystemParams, required)
- `description` (string, optional, default: ) — Descrição de quando a ferramenta deve ser usada e do que ela faz. Deixe em branco para usar a descrição padrão otimizada para o tipo específico de ferramenta.
- `response_timeout_secs` (integer, optional, default: 20) — O tempo máximo, em segundos, para aguardar a conclusão da chamada de ferramenta.
- `interruption_mode` (enum, optional, default: allow) — Controla se o usuário pode interromper o agente durante esta chamada de ferramenta. 'allow' (padrão) permite que o usuário interrompa a qualquer momento, 'disable_during_tool' suprime interrupções apenas enquanto a ferramenta está em execução e 'disable_during_tool_and_turn' suprime interrupções enquanto a ferramenta é executada e durante a resposta do agente que a segue.
  - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
- `pre_tool_speech` (enum, optional, default: auto) — Controla se o agente fala antes de esta ferramenta ser chamada. 'auto' (padrão) decide com base na latência recente da ferramenta, 'force' sempre faz o agente falar e 'off' desativa totalmente esse comportamento, independentemente da latência.
  - Allowed values: `auto`, `force`, `off`
- `assignments` (list of DynamicVariableAssignment, optional) — Configuração para extrair valores das respostas de ferramentas e atribuí-los a variáveis dinâmicas
- `tool_call_sound` (enum, optional, nullable) — Tipo de som predefinido para chamadas de ferramenta, reproduzido durante a execução da ferramenta. Se não for especificado, nenhum som de chamada de ferramenta será reproduzido.
  - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `tool_call_sound_behavior` (enum, optional, default: auto) — Determina quando o som de chamada da ferramenta deve tocar. 'auto' toca apenas quando há fala antes da ferramenta; 'always' toca em todas as chamadas de ferramenta.
  - Allowed values: `auto`, `always`
- `tool_error_handling_mode` (enum, optional, default: auto) — Controla como os erros das ferramentas são processados antes de serem compartilhados com o agente. 'auto' determina o tratamento com base no tipo de ferramenta (resumido para integrações nativas, oculto para as demais), 'summarized' envia um resumo gerado por LLM, 'passthrough' envia o erro bruto e 'hide' não compartilha o erro com o agente.
  - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
- `disable_interruptions` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `interruption_mode`. Se for true, o usuário não poderá interromper o agente enquanto esta ferramenta estiver em execução.
- `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `pre_tool_speech`. Se for true, o agente falará antes da chamada da ferramenta.

### CustomLlmApiKey

A chave de API para autenticação. Pode ser uma referência a um segredo do workspace \{'secret\_id': '...'} ou uma referência a uma variável de ambiente \{'env\_var\_label': '...'}.

### CustomLlmAuthConnection

Conexão de autenticação opcional do workspace. Só há suporte para conexões de autenticação que produzem um token Authorization Bearer; não há suporte para conexões de autenticação Basic, mTLS, cabeçalho personalizado e segredo de URL.

### CustomLlmRequestHeaders

### KnowledgeBaseToolInfo

- `enabled_strategies` (list of enum, optional) — Estratégias de pesquisa expostas ao modelo. Não pode estar vazio.
  - Allowed values: `cat`, `keyword`, `semantic`, `ls`

### BackupLLMDefault

### BackupLLMDisabled

### BackupLLMOverride

- `order` (list of enum, required)
  - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemini-4-argon`, `claude-sonnet-4-5`, `claude-opus-4-6`, `claude-opus-4-7`, `claude-opus-4-8`, `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-4-6`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-sonnet-4`, `claude-haiku-4-5`, `claude-haiku-5-5`, `claude-3-7-sonnet`, `claude-3-5-sonnet`, `claude-3-5-sonnet-v1`, `claude-3-haiku`, `grok-beta`, `custom-llm`, `qwen3-4b`, `qwen3-30b-a3b`, `qwen36-35b-a3b`, `qwen35-397b-a17b`, `gpt-oss-20b`, `gpt-oss-120b`, `glm-45-air-fp8`, `glm-52`, `deepseek-v41-flash`, `nemotron-35-super-vl-nvfp4`, `gemini-2.5-flash-preview-09-2025`, `gemini-2.5-flash-lite-preview-09-2025`, `gemini-2.5-flash-preview-05-20`, `gemini-2.5-flash-preview-04-17`, `gemini-2.5-flash-lite-preview-06-17`, `gemini-2.0-flash-lite-001`, `gemini-2.0-flash-001`, `gemini-1.5-flash-002`, `gemini-1.5-flash-001`, `gemini-1.5-pro-002`, `gemini-1.5-pro-001`, `claude-sonnet-4@20250514`, `claude-sonnet-4-5@20250929`, `claude-haiku-4-5@20251001`, `claude-3-7-sonnet@20250219`, `claude-3-5-sonnet@20240620`, `claude-3-5-sonnet-v2@20241022`, `claude-3-haiku@20240307`, `gpt-5-2025-08-07`, `gpt-5.1-2025-11-13`, `gpt-5.2-2025-12-11`, `gpt-5.4-2026-03-05`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano-2026-03-17`, `gpt-5.5-2026-04-23`, `gpt-5-mini-2025-08-07`, `gpt-5-nano-2025-08-07`, `gpt-4.1-2025-04-14`, `gpt-4.1-mini-2025-04-14`, `gpt-4.1-nano-2025-04-14`, `gpt-4o-mini-2024-07-18`, `gpt-4o-2024-11-20`, `gpt-4o-2024-08-06`, `gpt-4o-2024-05-13`, `gpt-4-0613`, `gpt-4-0314`, `gpt-4-turbo-2024-04-09`, `gpt-3.5-turbo-0125`, `gpt-3.5-turbo-1106`, `watt-tool-8b`, `watt-tool-70b`

### ApiIntegrationWebhookOverrides

- `schema_overrides` (map from string to ApiIntegrationWebhookOverridesSchemaOverrides, optional, nullable)
- `response_filter_mode` (enum, optional, nullable, default: all) — Controla como as respostas das ferramentas são filtradas antes de ficarem visíveis para o agente.
  - Allowed values: `all`, `allow`, `hide_all`
- `response_filters` (list of string, optional, nullable)
- `request_headers` (map from string to ApiIntegrationWebhookOverridesRequestHeaders, optional, nullable)

### DynamicVariableAssignment

Configuração para extrair valores das respostas de ferramentas e atribuí-los a variáveis dinâmicas.

- `dynamic_variable` (string, required) — O nome da variável dinâmica à qual atribuir o valor extraído
- `value_path` (string, required) — Caminho em notação de ponto para extrair o valor da origem, por exemplo, 'user.name' ou 'data.0.id'.
- `source` ("response", optional, default: response) — A origem da qual extrair o valor. No momento, apenas 'response' é compatível.
- `sanitize` (boolean, optional, default: false) — Se for true, o valor desta atribuição será removido da resposta da ferramenta antes de ser enviado ao LLM e à transcrição, mas ainda será processado para atribuição de variável.
- `preserve_native_type` (boolean, optional, default: false) — Se for true, valores não escalares (listas, objetos) extraídos da resposta da ferramenta serão armazenados em seu tipo nativo, em vez de serem convertidos em strings JSON. Ative esta opção para usar arrays extraídos diretamente como variáveis dinâmicas de lista.

### DynamicVariablesConfig

- `dynamic_variable_placeholders` (map from string to any, optional) — Um dicionário de marcadores de variáveis dinâmicas e seus valores.

### ObjectJsonSchemaProperty-Output

- `description` (string, optional, default: )
- `dynamic_variable` (string, optional, default: ) — Quando definido, todo o parâmetro é preenchido com esta variável dinâmica no tempo de execução. Mutuamente exclusivo com description (valor fornecido pelo LLM), constant_value e is_omitted.
- `constant_value` (map from string to any, optional, nullable) — Quando definido, todo o objeto usa este valor JSON constante no tempo de execução. Mutuamente exclusivo com description (objeto fornecido pelo LLM), dynamic_variable e is_omitted.
- `is_omitted` (boolean, optional, default: false) — Se for true, este parâmetro será completamente omitido da solicitação. Válido somente para parâmetros opcionais. Mutuamente exclusivo com description, dynamic_variable e constant_value.
- `type` ("object", optional, default: object)
- `required` (list of string, optional)
- `properties` (map from string to ObjectJsonSchemaPropertyOutput, optional)
- `required_constraints` (RequiredConstraints, optional, nullable) — Contêiner para restrições de composição anyOf/allOf aplicadas aos campos obrigatórios.

### ToolResponseModelToolConfigDiscriminatorMappingSystemParams

- `system_tool_type`: `end_call` (EndCallToolConfig)
- `system_tool_type`: `end_procedure` (EndProcedureToolConfig)
  - `procedures` (map from string to ToolResponseModelToolConfigDiscriminatorMappingSystemParamsDiscriminatorMappingEndProcedureProcedures, optional)
- `system_tool_type`: `knowledge_base` (KnowledgeBaseToolConfig)
  - `enabled_strategies` (list of enum, optional)
    - Allowed values: `cat`, `keyword`, `semantic`, `ls`
- `system_tool_type`: `knowledge_base_rag` (KnowledgeBaseRagToolConfig)
- `system_tool_type`: `language_detection` (LanguageDetectionToolConfig)
  - `only_at_conversation_start` (boolean, optional, default: false) — Se nenhuma troca de idioma ocorrer nos 2 primeiros turnos do usuário, as tentativas posteriores falharão e a conversa permanecerá no idioma atual. Se o idioma mudar durante esses turnos, mudanças posteriores continuarão disponíveis. Ative para reduzir a possibilidade de trocas incorretas.
- `system_tool_type`: `play_keypad_touch_tone` (PlayDTMFToolConfig)
  - `suppress_turn_after_dtmf` (boolean, optional, default: false) — Se for true, o agente não gerará mais fala após reproduzir tons DTMF. Isso evita que a fala do agente interfira em sistemas de IVR.
  - `use_out_of_band_dtmf` (boolean, optional, default: true) — Envie tons DTMF como eventos RTP fora de banda (RFC 4733), em vez de áudio em banda. Só é eficaz para números importados de troncos SIP.
- `system_tool_type`: `skip_turn` (SkipTurnToolConfig)
  - `wait_timeout_secs` (double, optional, default: -1) — Segundos de espera após skip_turn antes de o agente gerar uma verificação contextual. O temporizador "Encerrar conversa após silêncio" é pausado durante a espera. -1 desativa a espera: após skip_turn, o agente permanece em silêncio até que o chamador fale, e esse temporizador continua em execução. Aplica-se apenas a conversas por voz.
- `system_tool_type`: `start_procedure` (StartProcedureToolConfig)
  - `procedures` (map from string to ToolResponseModelToolConfigDiscriminatorMappingSystemParamsDiscriminatorMappingStartProcedureProcedures, optional)
- `system_tool_type`: `transfer_to_agent` (TransferToAgentToolConfig)
  - `transfers` (list of AgentTransfer-Output, required)
- `system_tool_type`: `transfer_to_number` (TransferToNumberToolConfig)
  - `transfers` (list of PhoneNumberTransfer, required)
  - `enable_client_message` (boolean, optional, default: true) — Se deve reproduzir uma mensagem para o cliente enquanto ele aguarda a transferência. O padrão é true para manter a compatibilidade com versões anteriores.
- `system_tool_type`: `voicemail_detection` (VoicemailDetectionToolConfig)
  - `voicemail_message` (string, optional, nullable) — Mensagem opcional para deixar na caixa postal quando ela for detectada. Se não for fornecida, a chamada será encerrada imediatamente ao detectar a caixa postal. Oferece suporte a variáveis dinâmicas (por exemplo, \{\{system\_\_time}}, \{\{system\_\_call\_duration\_secs}}, \{\{custom\_variable}}).

### WebhookToolApiSchemaConfig-Output

- `url` (string, required) — A URL para a qual o webhook será enviado. Pode incluir parâmetros de caminho, por exemplo, [https://example.com/agents/\{agent\_id}](https://example.com/agents/\{agent_id})
- `request_headers` (map from string to WebhookToolApiSchemaConfigOutputRequestHeaders, optional) — Cabeçalhos que devem ser incluídos na solicitação
- `method` (enum, optional, default: GET) — O método HTTP a usar para o webhook
  - Allowed values: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`
- `path_params_schema` (map from string to LiteralJsonSchemaProperty, optional) — Schema para parâmetros de caminho, se houver. As chaves devem corresponder aos placeholders na URL.
- `query_params_schema` (QueryParamsJsonSchema-Output, optional, nullable) — Schema para parâmetros de consulta, se houver. Eles serão adicionados ao final da URL como parâmetros de consulta. Observação: as propriedades em um parâmetro de consulta devem ser todas de tipos literais
- `request_body_schema` (ObjectJsonSchemaProperty-Output, optional, nullable) — Schema para os parâmetros do corpo, se houver. Usado para solicitações POST/PATCH/PUT. O schema deve ser um objeto que será enviado como corpo JSON
- `response_body_schema` (ObjectJsonSchemaProperty-Output, optional, nullable) — Schema que descreve a estrutura esperada do corpo da resposta. Apenas para documentação; não é exibido ao LLM.
- `response_filter` (ResponseFilter, optional, nullable) — Filtro opcional de lista de permissões aplicado à resposta antes que o LLM a veja, para que respostas grandes não poluam o contexto. O padrão é a resposta completa.
- `content_type` (enum, optional, default: application/json) — Tipo de conteúdo do corpo da solicitação. Aplica-se apenas a solicitações POST/PUT/PATCH.
  - Allowed values: `application/json`, `application/x-www-form-urlencoded`
- `auth_resolved_params` (list of string, optional) — Placeholders de URL resolvidos pela conexão de autenticação (por exemplo, segredos inseridos por UrlSecretAuthConnection), e não por path_params_schema.
- `auth_connection` (WebhookToolApiSchemaConfigOutputAuthConnection, optional, nullable) — Conexão de autenticação opcional a usar para autenticar neste webhook

### ConvAISecretLocator

Usado para referenciar um segredo do armazenamento de segredos do agente.

- `secret_id` (string, required)

### ConvAIEnvVarLocator

Usado para referenciar uma variável de ambiente pelo rótulo.

- `env_var_label` (string, required)

### AuthConnectionLocator

Usado para referenciar uma conexão de autenticação do armazenamento de conexões de autenticação do espaço de trabalho.

- `auth_connection_id` (string, required)

### EnvironmentAuthConnectionLocator

Referencia uma variável de ambiente do tipo 'auth_connection' pelo rótulo. Em tempo de execução, é resolvida para a conexão de autenticação do ambiente atual, recorrendo ao ambiente padrão.

- `env_var_label` (string, required)

### ConvAIDynamicVariable

Usado para referenciar uma variável dinâmica.

- `variable_name` (string, required)

### ApiIntegrationWebhookOverridesSchemaOverrides

- `source`: `constant` (ConstantSchemaOverride)
  - `constant_value` (WorkflowToolLocatorSchemaOverridesDiscriminatorMappingConstantConstantValue, required, nullable) — O valor constante a ser usado
- `source`: `dynamic_variable` (DynamicVariableSchemaOverride)
  - `dynamic_variable` (string, required) — O nome da variável dinâmica a ser usada
- `source`: `llm` (LLMSchemaOverride)
  - `prompt` (string, optional, nullable) — Substituição do prompt para o LLM. Se não for fornecida, será usada a descrição do esquema original.
- `source`: `omit` (OmitSchemaOverride)

### ApiIntegrationWebhookOverridesRequestHeaders

### ObjectJsonSchemaPropertyOutput

### RequiredConstraints

Contêiner para restrições de composição anyOf/allOf aplicadas aos campos obrigatórios.

- `any_of` (list of RequiredConstraint, optional)
- `all_of` (list of RequiredConstraint, optional)

### ToolResponseModelToolConfigDiscriminatorMappingSystemParamsDiscriminatorMappingEndProcedureProcedures

### ToolResponseModelToolConfigDiscriminatorMappingSystemParamsDiscriminatorMappingStartProcedureProcedures

### AgentTransfer-Output

- `condition` (string, required)
- `agent_id` (string, optional, nullable)
- `branch_id` (string, optional, nullable)
- `node_id` (string, optional, nullable)
- `delay_ms` (integer, optional, default: 0)
- `transfer_message` (string, optional, nullable)
- `enable_transferred_agent_first_message` (boolean, optional, default: false)
- `is_workflow_node_transfer` (boolean, optional, default: false)
- `preserve_client_tts_overrides` (boolean, optional, default: false) — Define se as substituições do cliente de TTS devem ser mantidas no agente transferido.
- `preserve_voice_settings` (boolean, optional, default: false) — Define se a voz base, o modelo TTS e as configurações de voz devem ser transferidos para o agente transferido.

### PhoneNumberTransfer

- `transfer_destination` (PhoneNumberTransferTransferDestination, required)
- `condition` (string, required)
- `custom_sip_headers` (list of PhoneNumberTransferCustomSipHeadersItems, optional) — Cabeçalhos SIP personalizados a serem incluídos ao transferir a chamada. Cada cabeçalho pode ser um valor estático ou uma referência a variável dinâmica.
- `transfer_type` (enum, optional, default: conference)
  - Allowed values: `blind`, `conference`, `sip_refer`
- `sip_refer_play_dialtone` (boolean, optional, default: true) — Quando True, um tom de chamada é reproduzido na perna original da chamada enquanto uma transferência SIP REFER é concluída. O tom é transmitido por RTP ao par SIP que executa o REFER, portanto desative esta opção se o sistema receptor (por exemplo, um SBC ou central de atendimento) não deve ouvi-lo. Quando desativada, a pessoa que ligou ouve silêncio até a transferência ser concluída. Apenas para transferências SIP REFER.
- `uui` (UUITransferConfig, optional, nullable) — Informações de Usuário para Usuário (RFC 7433) a serem anexadas a transferências SIP REFER. Transporta o contexto da chamada, como identificadores de CRM ou motivo de escalonamento, durante a transferência.
- `post_dial_digits` (PhoneNumberTransferPostDialDigits, optional, nullable) — Dígitos DTMF a enviar após a conexão da chamada, por exemplo, 'ww1234' para ramal. Pode ser um valor estático ou uma referência de variável dinâmica. Use 'w' para uma pausa de 0,5 s. Compatível apenas com transferências do Twilio.
- `phone_number` (string, optional, nullable, deprecated)

### WebhookToolApiSchemaConfigOutputRequestHeaders

### LiteralJsonSchemaProperty

Propriedade de schema para tipos JSON literais. IMPORTANTE: apenas UM dos seguintes campos pode ser definido: description (o LLM fornece o valor), dynamic_variable (valor de uma variável), is_system_provided (o sistema fornece o valor), constant_value (valor fixo) ou is_omitted (o parâmetro é omitido). Eles são mutuamente exclusivos.

- `type` (LiteralJsonSchemaPropertyType, required)
- `description` (string, optional, default: ) — A descrição da propriedade. Quando definida, o LLM fornecerá o valor com base nesta descrição. Mutuamente exclusiva com dynamic_variable, is_system_provided, constant_value e is_omitted.
- `enum` (list of string, optional, nullable) — List of allowed string values for string type parameters
- `is_system_provided` (boolean, optional, default: false) — Se for true, o valor será preenchido pelo sistema em tempo de execução. Usado por ferramentas de Webhook de integração de API para criação de templates. Mutuamente exclusivo com description, dynamic_variable, constant_value e is_omitted.
- `dynamic_variable` (string, optional, default: ) — O nome da variável dinâmica a ser usada para o valor desta propriedade. Mutuamente exclusivo com description, is_system_provided, constant_value e is_omitted.
- `allowed_values` (AllowedValues, optional, nullable) — Proteção de rejeição no servidor para um valor fornecido por um LLM: o runtime rejeita qualquer valor fora do conjunto permitido nomeado por este objeto, e o conjunto não é apresentado ao LLM como um enum. Compatível apenas quando a origem do valor é `description`; combiná-la com dynamic_variable, is_system_provided, constant_value ou is_omitted é rejeitado.
- `constant_value` (LiteralJsonSchemaPropertyConstantValue, optional, nullable, default: ) — Um valor constante para usar nesta propriedade. Mutuamente exclusivo com description, dynamic_variable, is_system_provided e is_omitted.
- `is_omitted` (boolean, optional, default: false) — Se for true, este parâmetro será completamente omitido da solicitação. Válido somente para parâmetros opcionais. Mutuamente exclusivo com description, dynamic_variable, is_system_provided e constant_value.
- `allowed_values_dynamic_variable` (string, optional, default: , deprecated) — DESCONTINUADO: use `allowed_values`. Quando definido, o LLM fornece o valor, mas o tempo de execução rejeita qualquer valor que não esteja na lista mantida por esta variável dinâmica (deve ser um array JSON, como ["ws_alpha", "ws_beta"]). Use para permitir que o LLM escolha de um conjunto verificado pelo servidor (por exemplo, os IDs aos quais o usuário atual tem permissão de acesso). Exige descrição; mutuamente exclusivo com dynamic_variable, is_system_provided, constant_value e is_omitted.

### QueryParamsJsonSchema-Output

- `properties` (map from string to LiteralJsonSchemaProperty, required)
- `required` (list of string, optional)

### ResponseFilter

Configuração para filtrar respostas de ferramentas antes que fiquem visíveis para o agente.

- `mode` (enum, optional, default: all) — Controla como as respostas das ferramentas são filtradas. 'all' retorna a resposta inteira, 'allow' retorna apenas os caminhos especificados e 'hide_all' oculta a resposta inteira.
  - Allowed values: `all`, `allow`, `hide_all`
- `filters` (list of string, optional) — Caminhos em notação de ponto a incluir quando o modo for 'allow', por exemplo, ['ticket.id', 'ticket.status'].
- `content_type` ("application/json", optional, default: application/json) — Tipo de conteúdo para filtragem de respostas. Apenas respostas 'application/json' são filtradas.

### WebhookToolApiSchemaConfigOutputAuthConnection

Conexão de autenticação opcional a usar para autenticar neste webhook

### ArrayJsonSchemaProperty-Output

- `description` (string, optional, default: )
- `dynamic_variable` (string, optional, default: ) — Quando definido, todo o parâmetro é preenchido com esta variável dinâmica no tempo de execução. Mutuamente exclusivo com description (valor fornecido pelo LLM), constant_value e is_omitted.
- `constant_value` (list of any, optional, nullable) — Quando definido, todo o array usa este valor constante no tempo de execução. Mutuamente exclusivo com description (array fornecido pelo LLM), dynamic_variable e is_omitted.
- `is_omitted` (boolean, optional, default: false) — Se for true, este parâmetro será completamente omitido da solicitação. Válido somente para parâmetros opcionais. Mutuamente exclusivo com description, dynamic_variable e constant_value.
- `type` ("array", optional, default: array)
- `items` (ArrayJsonSchemaPropertyOutputItems, optional, default: {"allowed_values_dynamic_variable":"","constant_value":"","description":"Array element","dynamic_variable":"","is_omitted":false,"is_system_provided":false,"type":"string"}) — Schema para elementos de array.

### RequiredConstraint

Um conjunto de campos que devem estar todos presentes para atender a esta restrição.

- `required` (list of string, required)

### ProcedureVersionRef

- `procedure_id` (string, required) — ID do procedimento
- `version_id` (string, required) — ID da versão do procedimento.

### ProcedureDraftRef

- `procedure_id` (string, required) — ID do procedimento
- `version_id` (any, optional)

### PhoneNumberTransferTransferDestination

- `type`: `phone` (PhoneNumberTransferDestination)
  - `phone_number` (string, required)
- `type`: `phone_dynamic_variable` (PhoneNumberDynamicVariableTransferDestination)
  - `phone_number` (string, required)
- `type`: `sip_uri` (SIPUriTransferDestination)
  - `sip_uri` (string, required)
- `type`: `sip_uri_dynamic_variable` (SIPUriDynamicVariableTransferDestination)
  - `sip_uri` (string, required)

### PhoneNumberTransferCustomSipHeadersItems

- `type`: `dynamic` (CustomSIPHeaderWithDynamicVariable)
  - `key` (string, required) — O nome do cabeçalho SIP (por exemplo, 'X-Customer-ID')
  - `value` (string, required) — O nome da variável dinâmica a ser resolvida
- `type`: `static` (CustomSIPHeader)
  - `key` (string, required) — O nome do cabeçalho SIP (por exemplo, 'X-Customer-ID')
  - `value` (string, required) — O valor do cabeçalho

### PhoneNumberTransferPostDialDigits

Dígitos DTMF a enviar após a conexão da chamada, por exemplo, 'ww1234' para ramal. Pode ser um valor estático ou uma referência de variável dinâmica. Use 'w' para uma pausa de 0,5 s. Compatível apenas com transferências do Twilio.

- `type`: `dynamic` (PostDialDigitsDynamicVariable)
  - `value` (string, required) — O nome da variável dinâmica a ser resolvida
- `type`: `static` (PostDialDigitsStatic)
  - `value` (string, required) — Dígitos DTMF a enviar após a conexão da chamada, por exemplo, 'ww1234' para ramal

### LiteralJsonSchemaPropertyType

### AllowedValues

- `dynamic_variable` (string, required) — Nome de uma variável dinâmica que deve resultar em uma matriz JSON de valores permitidos, por exemplo, ["ws_alpha", "ws_beta"]. As variáveis do sistema funcionam apenas se resultarem em uma lista.

### LiteralJsonSchemaPropertyConstantValue

Um valor constante para usar nesta propriedade. Mutuamente exclusivo com description, dynamic_variable, is_system_provided e is_omitted.

### ArrayJsonSchemaPropertyOutputItems

Schema para elementos de array.

## Examples

**Response**

```json
{
  "workflow": {
    "edges": [],
    "nodes": [],
    "prevent_subagent_loops": false
  }
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/compile"

response = requests.post(url)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/compile';
const options = {method: 'POST'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/compile"

	req, _ := http.NewRequest("POST", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/compile")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/compile")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/compile');

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/compile");
var request = new RestRequest(Method.POST);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbranch_0901k4aafjxxfxt93gd841r7tv5t/procedures/compile")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```