Variáveis dinâmicas
Variáveis dinâmicas
Envie valores em tempo de execução para personalizar o comportamento do seu agente.
Variáveis dinâmicas permitem inserir valores de tempo de execução nas mensagens, nos prompts de sistema e nas ferramentas do seu agente. Isso permite 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 vários aspectos do seu agente:
- Prompts de sistema para personalizar o comportamento e o contexto
- Primeiras mensagens para personalizar 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 agente.
Variáveis dinâmicas do sistema
Seu agente tem acesso a estas variáveis do sistema disponíveis automaticamente:
system__agent_id- Identificador exclusivo do agente que iniciou a conversa (permanece estável durante toda a conversa)system__current_agent_id- Identificador exclusivo do agente atualmente ativo (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- Horário UTC atual (formato ISO)system__time- Horário 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 exclusivo da conversa da ElevenLabssystem__call_sid- SID da chamada (somente chamadas Twilio)system__call_id- Identificador exclusivo da chamada do tronco SIP (somente chamadas do tronco SIP)system__agent_turns- Número total de turnos de conversa realizados pelo agente durante esta conversa.system__current_agent_turns- Número de turnos de conversa realizados pelo agente atual. É redefinido sempre que a conversa é transferida para um agente diferente.system__current_subagent_turns- Número de turnos de conversa realizados pelo subagente atual. É redefinido sempre que o workflow faz a transição para um nó diferente.system__is_text_only- Verdadeiro se a conversa operar no modo somente texto; caso contrário, falso.system__conversation_history- Representação serializada em JSON do histórico atual da conversa. 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 de 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 seguintes itens:
message— o conteúdo de texto do turnotool_requests— uma matriz de chamadas de ferramentas feitas pelo agente, com valores de parâmetros resolvidostool_results— uma matriz de respostas de ferramentas
Se o resultado ou 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 e LLMs personalizados) ou para incluir o histórico da conversa em 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 só devem ser usadas 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 adicionar o prefixo secret__ à variável dinâmica.
Atualizar variáveis dinâmicas com 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 os caminhos de objeto usando a 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:
- O status corresponde ao caminho:
response.status - O e-mail do primeiro usuário na matriz 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 em 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 Variável dinâmica e clique no botão +.


Definir marcadores
Configure valores padrão para testes 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 Fale com
A página pública Fale com oferece suporte a variáveis dinâmicas por meio de parâmetros de URL, permitindo personalizar conversas ao compartilhar links de agentes. Isso é particularmente ú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 Fale com:
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 de consulta individuais
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
Construção manual de URL
Tipos aceitos
As variáveis dinâmicas aceitam estes tipos de valor:
Solução de problemas
As variáveis não sã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