Diseño de autenticación segura de llamadas para agentes de voz
- Publicado
- Última actualización
EscucharEscucha este artículo
Agentes de voz están evolucionando rápidamente: de simples asistentes que responden preguntas frecuentes a sistemas capaces de actuar, modificar cuentas, procesar transacciones y acceder a datos confidenciales de clientes. Este cambio plantea un reto crucial: ¿cómo autenticas la identidad de quien llama en un sistema de IA conversacional en el que no existen los métodos tradicionales de verificación visual?
Cuando un agente de voz puede actualizar suscripciones, consultar saldos de cuentas o iniciar reembolsos, debe autenticar a quienes llaman con el mismo rigor que los centros de atención telefónica humanos, pero mediante una interacción totalmente basada en la voz. A diferencia de agentes humanos que siguen las políticas de la empresa, los agentes de IA requieren una autenticación determinista y basada en herramientas que no dependa del criterio del LLM.
Este artículo describe patrones de autenticación probados a partir de nuestro trabajo como ingenieros de despliegue avanzado en implementaciones empresariales. Abordaremos cinco enfoques principales, desde la autenticación basada en sesiones para widgets integrados hasta métodos específicos de telefonía y verificación con OTP, y explicaremos cómo implementar cada uno mediante la restricción determinista de flujos de trabajo en la plataforma de ElevenLabs.
Y, lo más importante, mostraremos por qué la autenticación no puede dejarse en manos de la inferencia conversacional. En su lugar, debe diseñarse mediante subagentes aislados, verificación basada en herramientas y enrutamiento condicional del flujo de trabajo que garantice que solo usuarios autenticados lleguen a operaciones privilegiadas.
Resumen
- La autenticación de quienes llaman para agentes de voz debe ser determinista y estar basada en herramientas; no puede dejarse en manos de la inferencia conversacional del LLM.
- La autenticación de la aplicación anfitriona transmite los datos de sesión existentes al agente, por lo que usuarios que ya han iniciado sesión no tienen que volver a autenticarse.
- La autenticación basada en conocimiento verifica los datos proporcionados por quien llama, como un número de cuenta o la fecha de nacimiento, frente a un sistema de backend mediante una llamada a una herramienta del lado del servidor.
- Las implementaciones de telefonía pueden usar variables dinámicas del sistema, como el identificador de llamada, para autenticarse de forma silenciosa, pero deberían combinarse con un segundo factor, ya que el identificador de llamada puede falsificarse o compartirse.
- La verificación mediante código de un solo uso envía un código por SMS o correo electrónico y lo valida a través de un servicio de backend.
La base arquitectónica de la autenticación determinista
Para garantizar que solo usuarios autenticados puedan acceder a información relacionada con la cuenta, recomendamos una estricta segregación de entornos y accesos mediante los flujos de trabajo de ElevenLabs. La autenticación debe implementarse siempre mediante una llamada a una herramienta con un resultado booleano de éxito o error, configurada como una herramienta de despacho en el creador de flujos de trabajo de ElevenLabs.
Al vincular la condición de transferencia directamente al resultado de la llamada a la herramienta, solo se puede acceder al subagente con acceso a los datos de la cuenta después de una autenticación correcta, y este permanece completamente aislado de usuarios no autenticados. Esto garantiza que la autenticación sea determinista, que no dependa de una decisión del LLM, y evita que se avance a nodos posteriores sin una identidad verificada.
Como alternativa, puedes usar expresiones de transferencia como un método de transferencia fiable. Estas expresiones hacen referencia a variables dinámicas que se actualizan mediante los resultados de las llamadas a herramientas.
Ejemplo de implementación
Verifica al usuario en Salesforce (llamada a herramienta). Si la verificación tiene éxito, recupera los datos de transacciones del cliente desde Salesforce (otra llamada a herramienta) y, a continuación, transfiere al usuario a un subagente encargado de utilizar esos datos para comunicarse con el cliente y realizar otras acciones si es necesario.

Métodos de autenticación de identidad del usuario
Estos métodos de autenticación no son compatibles de forma nativa con la plataforma de ElevenLabs. Puedes implementarlos mediante herramientas del lado del servidor que se integren con tu CRM o backend/base de datos, donde se almacenan los datos de autenticación.
Autenticación de la aplicación anfitriona
En el caso de agentes de voz integrados en un sitio web, la aplicación anfitriona puede transmitir los datos de sesión del usuario —como su estado de inicio de sesión, el ID de la cuenta o tokens de sesión— mediante variables dinámicas al inicializar el agente o widget. Estas variables se inyectan automáticamente en las llamadas a herramientas mediante esas mismas variables dinámicas, lo que permite al agente recuperar datos personalizados de sistemas integrados sin necesidad de una autenticación independiente.
Esto permite ofrecer una asistencia fluida, ya que la aplicación anfitriona ya ha verificado al usuario. Puedes configurarlo mediante una configuración personalizada o utilizar el widget de ElevenLabs, donde transmites variables en tiempo de ejecución mediante la configuración del widget (p. ej., <elevenlabs-convai dynamic-variables='{"user_id": "123", "account_tier": "premium"}'>).
Consulta la documentación sobre variables dinámicas para conocer la configuración completa.
Autenticación basada en conocimiento (KBA)
El agente de voz pide a quien llama que proporcione datos de autenticación, como el número de cuenta, el código postal, la fecha de nacimiento o respuestas de seguridad. Una herramienta del lado del servidor —un webhook o una llamada al backend— verifica estos valores con tu base de datos, por ejemplo, un CRM o un almacén de identidades. La herramienta devuelve un resultado de éxito o error que incluye tanto un estado booleano (is_error) como texto descriptivo.
Puedes implementarlo mediante una restricción determinista del flujo de trabajo: después de solicitar la información relevante, configura un despacho de herramienta y utiliza conexiones de transferencia condicionales del flujo de trabajo que se ramifiquen según el estado de éxito o error de la herramienta y dirijan a usuarios autenticados a nodos de agente «privilegiados».
Este enfoque admite tanto preguntas de seguridad estáticas como verificaciones dinámicas de tipo «fuera de la cartera», según tus requisitos de riesgo de fraude.
Consulta la documentación sobre herramientas de servidor y el nodo de herramienta de despacho de flujos de trabajo de agentes para obtener más información.
Variables dinámicas del sistema (solo telefonía)
En conversaciones telefónicas —a través de Twilio o un troncal SIP—, tu agente tiene acceso automáticamente a variables del sistema específicas de telefonía, incluida system__caller_id, el número de teléfono de quien llama. Esta variable se rellena automáticamente cuando comienza la conversación.
Puedes utilizarla de dos formas:
- En prompts o mensajes: Haz referencia a ellas mediante llaves dobles, por ejemplo, {{system__caller_id}}, y se sustituirán por los valores reales.
- En parámetros de herramientas: Configura los parámetros de las herramientas para usar estas variables, lo que permite una autenticación silenciosa sin mencionarlas en el prompt.
Por ejemplo, puedes configurar una herramienta para transmitir automáticamente el identificador de llamada a la ruta de consulta de tu CRM, lo que permite al agente verificar de forma silenciosa si el número entrante coincide con el número registrado del cliente para autenticar al usuario. En lugar de una llamada a una herramienta, la autenticación también puede configurarse como un webhook de inicio de conversación que se ejecuta antes de que esta comience.
Nota de seguridad: Como quienes llaman pueden usar números diferentes de los registrados, o los números almacenados pueden estar al alcance de personas no autorizadas, la autenticación basada en el identificador de llamada debería requerir la aceptación previa del cliente o combinarse con métodos de autenticación adicionales, como preguntas basadas en conocimiento.
Para obtener más información, consulta la documentación sobre Variables dinámicas del sistema y el webhook de inicio.
Autenticación avanzada basada en conocimiento o preguntas de seguridad
El agente puede autenticar a un usuario formulando un conjunto de preguntas de seguridad y conceder acceso solo si quien llama responde correctamente a un número predefinido de ellas. Puedes indicarle al agente que seleccione preguntas aleatorias de una lista predefinida —por ejemplo, fecha de nacimiento, código postal o nombre de la mascota— y valide las respuestas de quien llama mediante una llamada a una herramienta de tu base de datos.
La herramienta de autenticación devuelve una respuesta JSON que incluye el recuento actual de aciertos. Mediante asignaciones de herramientas, este recuento se extrae automáticamente y se almacena o actualiza en una variable dinámica, por ejemplo, auth_success_count. Tras cada verificación correcta, la variable se incrementa.
Una vez alcanzado el número necesario de verificaciones —por ejemplo, 3—, una condición de expresión del flujo de trabajo comprueba el valor de la variable dinámica y pasa a un nodo de subagente privilegiado. La expresión utiliza operadores de comparación —por ejemplo, auth_success_count >= 3— para restringir el acceso de forma determinista según el estado de autenticación.

Nuestra documentación sobre conexiones y control de flujo incluye más información que puedes consultar.
Código de un solo uso
Este es un método universal en el que se envía un código de un solo uso al dispositivo del usuario por SMS o correo electrónico. Después, el usuario debe comunicar el código al agente para verificarlo y obtener acceso.
Este es el flujo de implementación con más detalle:
- Generación del código: El agente inicia el proceso mediante una llamada a una herramienta de servidor dirigida a una ruta específica. Esta acción genera un código seguro de un solo uso y lo envía al usuario a través de su canal preferido, SMS o correo electrónico.
- Solicitud al usuario: A continuación, el agente pide al usuario que proporcione el código que ha recibido. En el modo de voz, usuarios dicen el código en voz alta, que se captura mediante Voz a Texto.
- Verificación del código: El agente envía el código proporcionado por el usuario a un servicio de verificación de backend mediante una segunda llamada a una herramienta. El backend valida que el código coincida, no haya caducado y no se haya utilizado ya.
- Enrutamiento del flujo de trabajo: El agente gestiona el resultado según la respuesta de verificación. Éxito: si el código es correcto, el usuario pasa a la parte del flujo de trabajo posterior a la autenticación mediante una condición de éxito. Error: si el código es incorrecto, el agente puede pedir al usuario que vuelva a introducirlo o iniciar un procedimiento alternativo, como enviar un código nuevo.
Consideraciones de seguridad: debes implementar límites de frecuencia para evitar intentos de fuerza bruta; los códigos deben tener tiempos de caducidad cortos, de 3 a 5 minutos, y los intentos de reintento deben registrarse y limitarse. En las interacciones por voz, considera usar mensajes de confirmación para garantizar la precisión de Voz a Texto al capturar códigos.
Empieza con ElevenAgents para una autenticación de voz segura
Estos métodos de autenticación son componentes flexibles, no soluciones predefinidas. Tu elección debe reflejar tu perfil de riesgo específico, los requisitos normativos y los objetivos de experiencia de usuario. Un bot de atención al cliente necesita una seguridad distinta a la de un asistente bancario que gestiona transacciones. La flexibilidad de la plataforma garantiza que tu estrategia de seguridad pueda evolucionar a medida que cambian las amenazas y crecen los requisitos, equilibrando siempre la protección con la experiencia de usuario.
ElevenAgents te ofrece la restricción determinista de flujos de trabajo, las herramientas de despacho y las variables específicas de telefonía descritas anteriormente, para que puedas crear una autenticación de quienes llaman que nunca dependa del criterio del LLM.
Explora la plataforma ElevenAgents para ver el creador de flujos de trabajo completo o contacta con ventas para empezar hoy a crear tu primer flujo de trabajo de agente de voz autenticado.



