Variáveis dinâmicas
Variáveis dinâmicas
Passe valores em tempo de execução para personalizar o comportamento do seu agente.
Variáveis dinâmicas permitem inserir valores em tempo de execução nas mensagens, nos prompts de sistema e nas ferramentas do seu agente. Assim, você pode personalizar cada conversa com dados específicos do usuário sem criar vários agentes.
Visão geral
As variáveis dinâmicas podem ser integradas a diversos aspectos do seu agente:
- Prompts de sistema para personalizar o comportamento e o contexto
- Primeiras mensagens para personalizar as saudações
- Parâmetros e cabeçalhos de ferramentas para transmitir dados específicos do usuário
Veja alguns exemplos em que as variáveis dinâmicas são úteis:
- Personalizar saudações com nomes de usuários
- Incluir detalhes da conta nas respostas
- Transmitir dados para chamadas de ferramentas
- Personalizar o comportamento com base nos níveis de assinatura
- Acessar informações do sistema como ID da conversa ou duração da chamada
As variáveis dinâmicas são ideais para inserir dados específicos do usuário que não devem ser codificados diretamente na configuração do seu agente.
Variáveis dinâmicas do sistema
Seu agente tem acesso a estas variáveis de sistema disponíveis automaticamente:
system__agent_id- Identificador único do agente que iniciou a conversa (permanece estável durante toda a conversa)system__current_agent_id- Identificador único do agente ativo no momento (muda após transferências de agente)system__caller_id- Número de telefone de quem ligou (somente chamadas de voz)system__called_number- Número de telefone de destino (somente chamadas de voz)system__call_duration_secs- Duração da chamada em segundossystem__time_utc- Hora atual em UTC (formato ISO)system__time- Hora atual no fuso horário especificado (formato legível, por exemplo, “Friday, 12:33 12 December 2025”)system__timezone- Fuso horário fornecido pelo usuário (deve ser válido para tzinfo)system__conversation_id- Identificador único da conversa da ElevenLabssystem__call_sid- SID da chamada (somente chamadas twilio)system__call_id- Identificador único da chamada de tronco SIP (somente chamadas de tronco SIP)system__agent_turns- Número total de turnos de conversa realizados pelo agente nesta conversa.system__current_agent_turns- Número de turnos de conversa realizados pelo agente atual. É redefinido sempre que a conversa é transferida para outro agente.system__current_subagent_turns- Número de turnos de conversa realizados pelo subagente atual. É redefinido sempre que o workflow faz a transição para outro nó.system__is_text_only- Verdadeiro se a conversa funcionar no modo somente texto; falso caso contrário.system__conversation_history- Representação serializada em JSON do histórico da conversa atual. Avaliada de forma preguiçosa no momento em que é referenciada. Veja os detalhes do formato abaixo.
Variáveis do sistema:
- Estão disponíveis sem configuração em tempo de execução
- Têm o prefixo
system__(prefixo reservado) - São atualizadas automaticamente durante toda a conversa
system__.Formato do histórico da conversa
A variável system__conversation_history contém um objeto JSON com a seguinte estrutura:
Cada entrada inclui um role ("user", "agent" ou "tool") e um dos itens a seguir:
message— o conteúdo de texto do turnotool_requests— um array de chamadas de ferramentas feitas pelo agente, com valores de parâmetros resolvidostool_results— um array de respostas de ferramentas
Se o resultado ou um parâmetro de uma ferramenta contiver um histórico de conversa aninhado, ele será ocultado por um marcador (por exemplo, [conversation_history (5 turns)]) para evitar expansão recursiva ilimitada.
Essa variável é útil para transmitir o contexto da conversa a ferramentas (por exemplo, webhooks, LLMs personalizados) ou para incluir o histórico da conversa nos prompts de subagentes durante transferências.
Variáveis dinâmicas secretas
As variáveis dinâmicas secretas são preenchidas da mesma forma que as variáveis dinâmicas normais, mas indicam aos nossos ElevenAgents que elas devem ser usadas apenas em cabeçalhos de variáveis dinâmicas e nunca enviadas a um provedor de LLM como parte do prompt de sistema ou da primeira mensagem de um agente.
Recomendamos usá-las para tokens de autenticação ou IDs privados que não devem ser enviados a um LLM. Para criar uma variável dinâmica secreta, basta prefixar a variável dinâmica com secret__.
Os valores secretos são retornados ocultos como <REDACTED>, inclusive em webhooks pós-chamada e na
API de conversas. Não use o prefixo secret__ para valores que você precisa consultar após a
conversa. Passe-os como variáveis dinâmicas normais ou transmita um identificador não sensível e consulte
o valor sensível no seu próprio sistema.
Atualizar variáveis dinâmicas por ferramentas
As chamadas de ferramentas podem criar ou atualizar variáveis dinâmicas se retornarem um objeto JSON válido. Para especificar o que deve ser extraído, defina o(s) caminho(s) do objeto usando notação de ponto. Se o campo ou caminho não existir, nada será atualizado.
Exemplo de objeto de resposta e notação de ponto:
- Status corresponde ao caminho:
response.status - O e-mail do primeiro usuário no array de usuários corresponde ao caminho:
response.users.0.email
Para atualizar uma variável dinâmica com o e-mail do primeiro usuário, defina a atribuição da seguinte forma.

As atribuições são um campo de cada ferramenta de webhook, documentado aqui.
Guia
Pré-requisitos
- Uma conta da ElevenLabs
- Um agente conversacional da ElevenLabs configurado (crie um aqui)
Definir variáveis dinâmicas nos prompts
Adicione variáveis usando chaves duplas {{variable_name}} em:
- Prompts de sistema
- Primeiras mensagens
- Parâmetros de ferramentas


Definir variáveis dinâmicas nas ferramentas
Você também pode definir variáveis dinâmicas na configuração da ferramenta.
Para criar uma nova variável dinâmica, defina o tipo de valor como Dynamic variable e clique no botão +.


Definir marcadores
Configure valores padrão para testar sem transmitir variáveis em tempo de execução.
Atualizar pelo painel
Atualizar pela CLI
Atualizar pela API
Defina valores padrão para cada variável dinâmica no painel do agente.

Transmitir variáveis em tempo de execução
Ao iniciar uma conversa, forneça as variáveis dinâmicas no seu código:
Verifique se você tem o SDK mais recente instalado.
Integração com a página pública de conversa
A página pública de conversa é compatível com variáveis dinâmicas por meio de parâmetros de URL, permitindo personalizar conversas ao compartilhar links de agentes. Isso é especialmente útil para incorporar agentes personalizados em sites, e-mails ou campanhas de marketing.
Métodos de parâmetros de URL
Há dois métodos para transmitir variáveis dinâmicas à página pública de conversa:
Método 1: JSON codificado em Base64
Transmita variáveis como um objeto JSON codificado em base64 usando o parâmetro vars:
O parâmetro vars contém JSON codificado em base64:
Método 2: Parâmetros individuais de consulta
Transmita variáveis usando parâmetros de consulta com o prefixo var_:
Precedência de parâmetros
Quando os dois métodos são usados simultaneamente, os parâmetros individuais var_ têm precedência sobre as variáveis codificadas em base64 para evitar conflitos:
Neste exemplo, user_name será “John” (de var_user_name) em vez de “Jane” (do vars codificado em base64).
Exemplos de implementação
Geração de URL em JavaScript
Geração de URL em Python
Criação manual de URL
Tipos compatíveis
As variáveis dinâmicas são compatíveis com estes tipos de valor:
Solução de problemas
Variáveis não substituídas
Verifique se:
- Os nomes das variáveis correspondem exatamente (diferenciam maiúsculas de minúsculas)
- As variáveis usam chaves duplas:
{{ variable_name }} - As variáveis estão incluídas no seu objeto dynamic_variables
Erros de tipo
Verifique se:
- Os valores das variáveis correspondem ao tipo esperado
- Os valores são apenas strings, números ou booleanos