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: deixaram de ser apenas respondentes de perguntas frequentes para se tornarem sistemas que realizam ações, alteram contas, processam transações e acessam dados sensíveis dos clientes. Essa mudança traz um desafio importante: como autenticar a identidade de quem está ligando em um
Quando um
Neste artigo, mostramos padrões de autenticação comprovados a partir da nossa experiência como engenheiros de implantação em grandes empresas. Vamos apresentar cinco abordagens principais, desde autenticação baseada em sessão para widgets integrados até métodos específicos de telefonia e verificação por OTP, explicando como implementar cada uma usando controle determinístico de fluxo na plataforma ElevenLabs.
O mais importante é mostrar por que a autenticação não pode depender apenas da interpretação da conversa. Ela precisa ser estruturada com subagentes isolados, verificação por ferramentas e roteamento condicional de fluxos, garantindo que só usuários autenticados tenham acesso a operações privilegiadas.
Resumo
Para garantir que apenas usuários autenticados acessem informações de conta, recomendamos uma separação rigorosa de ambiente e acesso usando os workflows da ElevenLabs. A autenticação deve sempre ser feita por meio de uma chamada de ferramenta com resultado booleano de sucesso ou falha, configurada como ferramenta de despacho no construtor de workflows da ElevenLabs.
A base arquitetural para autenticação determinística
Para garantir que só usuários autenticados acessem informações de conta, recomendamos um ambiente rigoroso e segregação de acesso usando os workflows da ElevenLabs. A autenticação deve sempre ser feita por meio de uma chamada de ferramenta com resultado booleano de sucesso ou falha, configurada como ferramenta de despacho no construtor 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ó fica disponível após autenticação bem-sucedida e permanece totalmente isolado de usuários não autenticados. Isso garante que a autenticação seja determinística, sem depender de decisão do LLM, e impede qualquer avanço para outros nós sem identidade verificada.
Como alternativa, expressões de transferência podem ser usadas como método confiável de transferência. Essas expressões usam variáveis dinâmicas que são atualizadas conforme os resultados das chamadas de ferramenta.

Métodos de autenticação de identidade do usuário
Esses métodos de autenticação não são suportados nativamente 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 ficam armazenados.
Métodos de autenticação de identidade do usuário
Esses métodos de autenticação não são nativos da plataforma ElevenLabs. Eles podem ser implementados por ferramentas no servidor que se integram ao seu CRM ou backend/banco de dados, onde ficam os dados de autenticação.
Autenticação pelo aplicativo hospedeiro
Documentation on Dynamic Variables:
Veja a
Autenticação baseada em conhecimento (KBA)
O agente de voz pede que quem liga 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 dados no seu banco de dados (por exemplo, CRM ou repositório de identidade). A ferramenta retorna um resultado de sucesso/falha com status booleano (is_error) e texto descritivo.
Você pode implementar isso com bloqueio determinístico no workflow: após pedir as informações, configure o despacho de ferramenta e use transferências condicionais no workflow que direcionam usuários autenticados para nós de agente “privilegiados”, conforme o sucesso ou falha da ferramenta.
- https://panel.temphost.top/docs/agents-platform/customization/tools/server-tools
- https://panel.temphost.top/docs/eleven-agents/customization/agent-workflows#dispatch-tool-node
Veja a documentação de
Variáveis dinâmicas do sistema (apenas telefonia)
Para conversas por telefone (via Twilio ou SIP trunk), seu agente tem acesso automático a variáveis do sistema específicas de telefonia, incluindo system__caller_id (número de telefone de quem liga). Essa variável é preenchida automaticamente no início da conversa.
Você pode usá-la de duas formas:
Documentação sobre Variáveis Dinâmicas do Sistema e webhook de início:
- https://panel.temphost.top/docs/agents-platform/customization/personalization/dynamic-variables#system-dynamic-variables
- https://panel.temphost.top/docs/agents-platform/customization/personalization/twilio-personalization
Atenção à segurança:
Para mais informações, consulte a documentação sobre
Autenticação avançada por perguntas de segurança/conhecimento
O agente pode autenticar o usuário fazendo um conjunto de perguntas de segurança e só liberar o acesso se quem liga acertar uma quantidade pré-definida. O agente pode ser instruído a escolher perguntas aleatórias de uma lista (ex: data de nascimento, CEP, nome do animal de estimação) e validar as respostas por meio de uma chamada de ferramenta ao seu banco de dados.

Documentação aqui: https://panel.temphost.top/docs/eleven-agents/customization/agent-workflows#edges-and-flow-control
Código único (One-Time Code)
Nossa
Código único (One-Time Code)
- Geração do código: O agente inicia o processo com uma chamada de ferramenta no servidor para um endpoint dedicado. Isso gera um código seguro e único, enviado ao usuário pelo canal escolhido (SMS ou e-mail).
- Solicitação ao usuário: O agente pede que o usuário informe o código recebido. No modo voz, o usuário fala o código, que é capturado por reconhecimento de fala.
- Verificação do código: O agente envia o código informado pelo usuário para um serviço de verificação no backend usando uma segunda chamada de ferramenta. O backend valida se o código confere, não expirou e não foi usado antes.
- Roteamento do fluxo: O agente lida com o resultado conforme a resposta da verificação: Sucesso: Se o código estiver correto, o usuário segue para a próxima etapa do fluxo via condição de sucesso. Falha: Se o código estiver incorreto, o agente pode pedir para o usuário tentar novamente ou iniciar um procedimento alternativo (ex: enviar um novo código).
Veja o fluxo de implementação em detalhes:
Conclusão
Cuidados de segurança: Implemente limite de tentativas para evitar ataques de força bruta, códigos com validade curta (3-5 minutos) e controle de tentativas. Para interações por voz, considere prompts de confirmação para garantir que o speech-to-text capturou o código corretamente.



