Como criar autenticação segura de chamadas para agentes de voz
- Publicado
- Última atualização
OuvirOuça este artigo
Os agentes de voz estão evoluindo rapidamente: de simples respondentes de perguntas frequentes para sistemas que executam ações, alteram contas, processam transações e acessam dados sensíveis dos clientes. Essa mudança traz um desafio fundamental: como autenticar a identidade de quem liga em um sistema de IA conversacional no qual não existem métodos tradicionais de verificação visual?
Quando um agente de voz pode atualizar assinaturas, consultar saldos ou iniciar reembolsos, ele precisa autenticar quem liga com o mesmo rigor dos call centers humanos, mas em uma interação inteiramente por voz. Ao contrário de agentes humanos que seguem políticas da empresa, agentes de IA exigem uma autenticação determinística e baseada em ferramentas, que não dependa do julgamento do LLM.
Este artigo apresenta padrões de autenticação comprovados do nosso trabalho como Forward Deployed Engineers em implementações empresariais. Abordaremos cinco abordagens principais, desde autenticação baseada em sessão para widgets incorporados até métodos específicos de telefonia e verificação por OTP, além de explicar como implementar cada uma usando bloqueio determinístico de workflow na plataforma ElevenLabs.
Mais importante ainda, demonstraremos por que a autenticação não pode ser deixada para inferência conversacional. Em vez disso, ela deve ser projetada com subagentes isolados, verificação baseada em ferramentas e roteamento condicional de workflow, garantindo que apenas usuários autenticados cheguem a operações privilegiadas.
Resumo
- A autenticação de chamadas para agentes de voz deve ser determinística e baseada em ferramentas; ela não pode ser deixada para a inferência conversacional do LLM.
- A autenticação pelo aplicativo host transfere os dados de sessão existentes para o agente, para que usuários que já fizeram login não precisem se autenticar novamente.
- A autenticação baseada em conhecimento verifica dados fornecidos por quem liga, como número da conta ou data de nascimento, em um sistema de backend por meio de uma chamada de ferramenta no servidor.
- Implementações de telefonia podem usar variáveis dinâmicas do sistema, como o identificador de chamadas, para autenticar silenciosamente, mas isso deve ser combinado com um segundo fator, pois o identificador de chamadas pode ser falsificado ou compartilhado.
- A verificação por código de uso único envia um código por SMS ou e-mail e o valida por meio de um serviço de backend.
A base arquitetural da autenticação determinística
Para garantir que apenas usuários autenticados possam acessar informações relacionadas à conta, recomendamos uma segregação rigorosa de ambiente e acesso por meio dos workflows da ElevenLabs. A autenticação deve sempre ser implementada com uma chamada de ferramenta que retorne sucesso ou falha como valor booleano, configurada como uma ferramenta de despacho no criador de workflows da ElevenLabs.
Ao vincular a condição de transferência diretamente ao resultado da chamada de ferramenta, o subagente com acesso aos dados da conta só poderá ser acessado após uma autenticação bem-sucedida e permanecerá totalmente isolado de usuários não autenticados. Isso torna a autenticação determinística, sem depender de uma decisão do LLM, e impede qualquer avanço para nós posteriores sem uma identidade verificada.
Como alternativa, expressões de transferência podem ser usadas como um método confiável de transferência. Essas expressões fazem referência a variáveis dinâmicas atualizadas pelos resultados de chamadas de ferramenta.
Exemplo de implementação
Verifique o usuário no Salesforce (chamada de ferramenta). Se for bem-sucedida, recupere os dados de transações do cliente no Salesforce (outra chamada de ferramenta) e, em seguida, transfira o usuário para um subagente responsável por usar esses dados para se comunicar com o cliente e executar outras ações, se necessário.

Métodos de autenticação da identidade do usuário
Esses métodos de autenticação não têm suporte nativo na plataforma ElevenLabs. Eles podem ser implementados por meio de ferramentas no servidor que se integram ao seu CRM ou backend/banco de dados, onde os dados de autenticação são armazenados.
Autenticação pelo aplicativo host
Para agentes de voz incorporados a um site, o aplicativo host pode transmitir dados da sessão do usuário — como status de login, ID da conta ou tokens de sessão — por variáveis dinâmicas ao inicializar o agente/widget. Essas variáveis são inseridas automaticamente nas chamadas de ferramenta, permitindo que o agente recupere dados personalizados de sistemas integrados sem exigir uma autenticação separada.
Isso permite um fluxo de suporte contínuo, pois o usuário já foi verificado pelo aplicativo host. Você pode configurar isso por meio de uma configuração personalizada ou usar o widget da ElevenLabs, no qual as variáveis são transmitidas em tempo de execução pela configuração do widget (por exemplo, <elevenlabs-convai dynamic-variables='{"user_id": "123", "account_tier": "premium"}'>).
Consulte a documentação de Variáveis dinâmicas para conferir a configuração completa.
Autenticação baseada em conhecimento (KBA)
O agente de voz pede que a pessoa forneça dados de autenticação, como número da conta, CEP, data de nascimento ou respostas de segurança. Uma ferramenta no servidor — webhook ou chamada de backend — verifica esses valores em seu banco de dados, como um CRM ou repositório de identidades. A ferramenta retorna um resultado de sucesso ou falha que inclui um status booleano (is_error) e um texto descritivo.
Você pode implementar isso por meio de bloqueio determinístico de workflow: após solicitar as informações relevantes, configure um despacho de ferramenta e use conexões de transferência condicional no workflow que se ramificam conforme o status de sucesso ou falha da ferramenta, direcionando usuários autenticados para nós de agente “privilegiados”.
Essa abordagem oferece suporte a perguntas de segurança estáticas e à verificação dinâmica no estilo “out-of-wallet”, dependendo dos seus requisitos de risco de fraude.
Consulte a documentação sobre ferramentas no servidor e nó de ferramenta de despacho em workflows de agentes para mais detalhes.
Variáveis dinâmicas do sistema (somente telefonia)
Para conversas por telefone, via Twilio ou tronco SIP, seu agente tem acesso automático a variáveis de sistema específicas de telefonia, incluindo system__caller_id, o número de telefone de quem liga. Essa variável é preenchida automaticamente quando a conversa começa.
Você pode usá-la de duas formas:
- Em prompts/mensagens: faça referência a elas com chaves duplas, por exemplo, {{system__caller_id}}, e elas serão substituídas pelos valores reais.
- Nos parâmetros da ferramenta: configure os parâmetros da ferramenta para usar essas variáveis, permitindo autenticação silenciosa sem mencioná-las no prompt.
Por exemplo, você pode configurar uma ferramenta para enviar automaticamente o identificador de chamadas ao endpoint de consulta do CRM, permitindo que o agente verifique silenciosamente se o número recebido corresponde ao número cadastrado do cliente para autenticação do usuário. Em vez de uma chamada de ferramenta, a autenticação também pode ser configurada como um webhook de início de conversa, executado antes de a conversa começar.
Observação de segurança: como as pessoas podem ligar de números diferentes dos cadastrados, ou números armazenados podem estar acessíveis a pessoas não autorizadas, a autenticação baseada no identificador de chamadas deve exigir consentimento prévio do cliente ou ser combinada com métodos adicionais de autenticação, como perguntas baseadas em conhecimento.
Para mais informações, consulte a documentação sobre Variáveis dinâmicas do sistema e Webhook de início.
Autenticação avançada baseada em conhecimento/perguntas de segurança
O agente pode autenticar um usuário fazendo um conjunto de perguntas de segurança e concedendo acesso apenas se quem liga responder corretamente a uma quantidade predefinida delas. O agente pode ser instruído a selecionar perguntas aleatórias de uma lista predefinida, como data de nascimento, CEP e nome do animal de estimação, e validar as respostas por meio de uma chamada de ferramenta ao seu banco de dados.
A ferramenta de autenticação retorna uma resposta JSON que inclui a contagem atual de sucessos. Com atribuições de ferramentas, essa contagem é extraída automaticamente e armazenada ou atualizada em uma variável dinâmica, como auth_success_count. A variável é incrementada após cada verificação bem-sucedida.
Quando o número necessário de verificações é alcançado, por exemplo, 3, uma condição de expressão do workflow verifica o valor da variável dinâmica e faz a transição para um nó de subagente privilegiado. A expressão usa operadores de comparação, como auth_success_count >= 3, para controlar deterministamente o acesso com base no status de autenticação.

Nossa documentação sobre conexões e controle de fluxo traz mais informações para consulta.
Código de uso único
Este é um método universal em que um código de uso único é enviado ao dispositivo do usuário por SMS ou e-mail. Em seguida, o usuário deve informar o código ao agente para verificá-lo e obter acesso.
Veja o workflow de implementação em mais detalhes:
- Geração do código: o agente inicia o processo com uma chamada de ferramenta no servidor para um endpoint dedicado. Essa ação gera um código seguro e de uso único e o envia ao usuário pelo canal de sua preferência, SMS ou e-mail.
- Solicitação ao usuário: o agente pede que o usuário informe o código recebido. No modo de voz, os usuários falam o código em voz alta, e ele é capturado por Speech to Text.
- Verificação do código: o agente envia o código informado pelo usuário a um serviço de verificação de backend usando uma segunda chamada de ferramenta. O backend valida se o código corresponde, não expirou e ainda não foi usado.
- Roteamento do workflow: o agente lida com o resultado com base na resposta da verificação. Sucesso: se o código estiver correto, o usuário é direcionado à parte pós-autenticação do workflow por meio de uma condição de sucesso. Falha: se o código estiver incorreto, o agente pode pedir que o usuário o informe novamente ou iniciar um procedimento alternativo, como enviar um novo código.
Considerações de segurança: implemente limitação de taxa para evitar tentativas de força bruta; os códigos devem ter tempos de expiração curtos, de 3 a 5 minutos; e as tentativas devem ser rastreadas e limitadas. Em interações por voz, considere prompts de confirmação para garantir a precisão do Speech to Text ao capturar códigos.
Comece a usar o ElevenAgents para autenticação segura por voz
Esses métodos de autenticação são componentes flexíveis, não soluções prescritivas. Sua escolha deve refletir seu perfil de risco específico, requisitos regulatórios e objetivos de experiência do usuário. Um bot de atendimento ao cliente precisa de uma segurança diferente de um assistente bancário que processa transações. A flexibilidade da plataforma garante que sua estratégia de segurança possa evoluir conforme as ameaças mudam e os requisitos aumentam, sempre equilibrando proteção e experiência do usuário.
O ElevenAgents oferece o bloqueio determinístico de workflow, as ferramentas de despacho e as variáveis específicas de telefonia descritas acima. Assim, você pode criar uma autenticação de chamadas que nunca depende do julgamento do LLM.
Explore a plataforma ElevenAgents para ver o criador completo de workflows ou fale com vendas para começar a criar hoje seu primeiro workflow de agente de voz autenticado.


