Como criar autenticação segura de chamadas para agentes de voz
- Publicado
- Última atualização
OuvirOuça este artigo
Agentes de voz estão evoluindo rapidamente, deixando de ser simples respondedores de perguntas frequentes para se tornar sistemas que executam ações, modificam contas, processam transações e acessam dados confidenciais dos clientes. Essa mudança traz um desafio crítico: como autenticar a identidade de quem liga em um sistema de IA conversacional em que não existem métodos tradicionais de verificação visual?
Quando um agente de voz pode atualizar assinaturas, consultar saldos de contas ou iniciar reembolsos, ele precisa autenticar quem liga com o mesmo rigor dos call centers humanos, mas por meio de uma interação totalmente por voz. Diferentemente de agentes humanos que seguem as 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 a partir do nosso trabalho como Forward Deployed Engineers em implantações empresariais. Abordaremos cinco abordagens principais, desde a autenticação baseada em sessão para widgets incorporados até métodos específicos de telefonia e verificação por OTP, e explicaremos como implementar cada uma usando o controle determinístico de fluxo de trabalho na plataforma ElevenLabs.
Mais importante ainda, mostraremos por que a autenticação não pode ficar a cargo de inferências conversacionais. Em vez disso, ela deve ser estruturada por meio de subagentes isolados, verificação baseada em ferramentas e roteamento condicional do fluxo de trabalho, garantindo que apenas usuários autenticados cheguem a operações privilegiadas.
Resumo
- A autenticação de quem liga para agentes de voz deve ser determinística e baseada em ferramentas; ela não pode ser deixada a cargo de inferências conversacionais 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 detalhes 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.
- Implantaçõ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 ambientes e acessos por meio dos fluxos de trabalho da ElevenLabs. A autenticação deve sempre ser implementada usando uma chamada de ferramenta com saída booleana de sucesso ou falha, configurada como uma ferramenta de despacho no criador de fluxos de trabalho 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ó pode ser alcançado após uma autenticação bem-sucedida e permanece totalmente isolado de usuários não autenticados. Isso garante que a autenticação seja determinística, não 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 ferramentas.
Exemplo de implementação
Verifique o usuário no Salesforce (chamada de ferramenta). Se for bem-sucedida, recupere 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 de 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 injetadas automaticamente nas chamadas de ferramentas usando as mesmas variáveis dinâmicas, permitindo que o agente recupere dados personalizados de sistemas integrados sem exigir autenticação separada.
Isso permite um fluxo de suporte sem interrupções, porque o usuário já foi verificado pelo aplicativo host. Você pode configurar isso de forma personalizada ou usar o widget da ElevenLabs, transmitindo variáveis 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 sobre Variáveis dinâmicas para ver a configuração completa.
Autenticação baseada em conhecimento (KBA)
O agente de voz pede a quem liga 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 no seu banco de dados, como CRM ou repositório de identidades. A ferramenta retorna um resultado de sucesso/falha que inclui um status booleano (is_error) e um texto descritivo.
Você pode implementar isso por meio do controle determinístico do fluxo de trabalho: depois de solicitar as informações relevantes, configure um despacho de ferramenta e use arestas de transferência condicional do fluxo de trabalho que ramificam de acordo com o status de sucesso/falha da ferramenta, encaminhando usuários autenticados para nós de agentes “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 de servidor e nó de ferramenta de despacho em fluxos de trabalho de agentes para mais detalhes.
Variáveis dinâmicas do sistema (somente telefonia)
Em conversas por telefone (via Twilio ou tronco SIP), seu agente tem acesso automaticamente 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 referenciá-la de duas maneiras:
- Em prompts/mensagens: faça referência a elas usando 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 a autenticação silenciosa sem mencioná-las no prompt.
Por exemplo, você pode configurar uma ferramenta para transmitir automaticamente o identificador de chamadas ao endpoint de consulta do seu 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.
Nota de segurança: como quem liga pode usar números diferentes dos registrados ou os 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 uma série de perguntas de segurança e concedendo acesso somente se quem liga responder corretamente a uma quantidade predefinida. 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. Usando atribuições de ferramentas, essa contagem é extraída automaticamente e armazenada/atualizada em uma variável dinâmica, como auth_success_count. Após cada verificação bem-sucedida, a variável é incrementada.
Quando o número necessário de verificações é atingido, por exemplo, 3, uma condição de expressão do fluxo de trabalho 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 o acesso de forma determinística com base no status de autenticação.

Nossa documentação sobre arestas e controle de fluxo tem 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 verificação e obter acesso.
Veja o fluxo 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 de uso único e o envia ao usuário pelo canal de preferência dele, SMS ou e-mail.
- Solicitação ao usuário: o agente então pede ao usuário que informe o código recebido. No modo de voz, os usuários dizem o código em voz alta, e ele é capturado por Speech to Text.
- Verificação do código: o agente envia o código fornecido 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 fluxo de trabalho: o agente lida com o resultado de acordo com a resposta da verificação. Sucesso: se o código estiver correto, o usuário é direcionado para a parte pós-autenticação do fluxo de trabalho por meio de uma condição de sucesso. Falha: se o código estiver incorreto, o agente pode pedir que o usuário informe o código novamente ou iniciar um procedimento alternativo, como enviar um novo código.
Considerações de segurança: a limitação de taxa deve ser implementada 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 de repetição devem ser rastreadas e limitadas. Para 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 da de um assistente bancário que lida com transações. A flexibilidade da plataforma garante que sua estratégia de segurança possa evoluir à medida que as ameaças mudam e os requisitos aumentam, sempre equilibrando proteção e experiência do usuário.
O ElevenAgents oferece o controle determinístico do fluxo de trabalho, as ferramentas de despacho e as variáveis específicas de telefonia descritas acima, para que você possa criar uma autenticação de quem liga que nunca dependa do julgamento do LLM.
Explore a plataforma ElevenAgents para conhecer o criador completo de fluxos de trabalho ou fale com a equipe de vendas para começar hoje a criar seu primeiro fluxo de trabalho de agente de voz autenticado.




