ElevenAgents para el sector sanitario: crea un agente de programación de citas entrantes
- Escrito por
- Nathan Pogue
- Publicado
- Última actualización
EscucharEscucha este artículo
El teléfono sigue siendo la puerta de entrada a la atención sanitaria, y está saturado. Mayo Clinic investigación y Epic caso de estudio datos muestran que aproximadamente el 30 % de la programación de citas ocurre fuera del horario laboral habitual. Las llamadas que llegan al buzón de voz son citas que, discretamente, nunca se producen, mientras que el personal de recepción encargado de atenderlas está sobrecargado y rota con rapidez. Los agentes de voz han superado la fase de demostración como solución para que las clínicas cubran esa necesidad, y la programación es el punto de partida más habitual: un trabajo de gran volumen, repetitivo, predecible y que representa una parte importante de la carga de recepción sin requerir criterio clínico.
La programación de citas en la atención sanitaria también exige un nivel mayor. Una franja equivocada o un motivo de consulta mal entendido no es solo una mala experiencia: es un incidente de seguridad y cumplimiento normativo. Un agente de programación de recepción necesita más que una voz agradable: verificación de identidad fiable, barreras estrictas, una vía clara de derivación a una persona, las garantías de cumplimiento necesarias para tratar información sanitaria protegida y la capacidad de completar, modificar o cancelar reservas en un sistema de programación real.
Esta guía te permite crear exactamente eso con ElevenAgents: un agente accesible por teléfono, conectado a un HCE de ejemplo, que gestiona reservas, cambios y cancelaciones de citas de principio a fin y escala los casos cuando corresponde. Obtendrás el workflow, las medidas de seguridad, las pruebas y el análisis necesarios para que funcione dentro de los límites establecidos, desplegado en una infraestructura creada para el sector sanitario regulado.
Aquí tienes una demostración del agente que crearás gestionando una llamada real de principio a fin:
Requisitos previos
Para empezar, necesitarás lo siguiente:
- Una cuenta de ElevenLabs, con acceso a la plataforma ElevenAgents y a nuestras voces.
- Una cuenta de Twilio y un número.
- Acceso a Twilio Verify.
- Un entorno de sandbox o desarrollo de HCE. En esta guía usaremos HAPI FHIR, una implementación de referencia de código abierto para el formato HL7 FHIR, para validar registros sintéticos de pacientes.
- La aplicación de calendario de tu consulta. Para esta guía usamos la integración nativa de ElevenLabs con Cal.com.
Opcional
Si no tienes acceso a datos de sandbox o sigues la guía con fines de demostración, usaremos el servidor sandbox HAPI FHIR R4 y lo inicializaremos con un registro de paciente simulado que podrás usar durante la fase de verificación. Para ello, ejecuta el siguiente comando de API con datos simulados desde tu terminal:
Solo se confirma una coincidencia si la consulta devuelve exactamente un registro: cero resultados significa que no hay coincidencia, y más de uno indica que los parámetros de búsqueda no eran lo bastante específicos para continuar con seguridad.
Arquitectura
En esta guía crearás un agente de programación que funciona mediante un número de Twilio e integrado de forma nativa con tu ElevenAgent. Cuando se conecte una llamada entrante, el agente ayudará al paciente mediante sus herramientas disponibles a recopilar la verificación y los datos de la cita, tanto si quiere reservar una visita nueva como reprogramar o cancelar una existente, y podrá transferir la llamada a una persona cuando sea necesario.

Con esta arquitectura y estas herramientas, un flujo de llamada correcto incluirá los siguientes pasos:
- Inicio de llamada: un paciente llamará al número de Twilio vinculado al agente, que le saludará y recogerá su intención.
- Validación de HCE: el agente validará los datos del paciente con su registro en la HCE.
- Verificación: el agente enviará una contraseña de un solo uso (OTP) al número de teléfono del paciente para la verificación final mediante su herramienta de SMS.
- Reserva o modificación: el agente actuará según la intención recopilada en el calendario: para una cita nueva, recogerá los datos de reserva y comprobará la disponibilidad; para una reprogramación, buscará la cita existente y una nueva franja; para una cancelación, confirmará y eliminará la cita existente.
- Transferencia: si la reserva o modificación no tiene éxito, el paciente pide hablar con una persona o se detecta cualquier otra intención que el agente no pueda gestionar, la llamada se transferirá a un agente humano.
- Confirmación y cierre: tras una reserva, reprogramación o cancelación correcta, el agente resumirá los detalles de la llamada y se despedirá cordialmente.
Prompt del sistema y configuración del agente
El primer paso para crear un ElevenAgent eficaz está en su prompt del sistema. Siguiendo la guía de prompting de ElevenLabs, lo estructuramos en los bloques básicos recomendados para cualquier agente en producción —personalidad, objetivo, tono, herramientas y barreras—, cada uno en su propia sección claramente identificada en lugar de en un único bloque de instrucciones.
En un agente de programación sanitaria, esta estructura debe tener en cuenta quién está realmente al otro lado de la llamada: alguien que puede ser mayor, sentir dolor, tener dificultades auditivas o simplemente estar preocupado por el motivo de su llamada. Las secciones de personalidad y tono establecen un ritmo cálido y pausado, y mantienen respuestas cortas y conversacionales, con fechas, horas y números expresados como los diría una persona y no como si se leyeran de una pantalla. La sección de objetivo describe el flujo como una secuencia ordenada: verificar la identidad y, según el interlocutor quiera reservar, reprogramar o cancelar, comprobar la disponibilidad y confirmar la franja, buscar y mover la cita existente, o confirmar la cita que se eliminará. Las herramientas se documentan con las entradas exactas en formato oral que esperan. Las barreras contienen las reglas específicas de este ámbito: no revelar nunca más información sanitaria protegida de la que ya ha compartido quien llama, no inventar disponibilidad ni detalles de citas cuando falla una herramienta, rechazar preguntas clínicas remitiendo al profesional del paciente y derivar de inmediato si alguien describe síntomas urgentes o una emergencia médica. La verificación de identidad antes de realizar cualquier acción sobre una cita es la única regla que se repite en lugar de indicarse una sola vez. Es el límite que el agente menos puede permitirse saltarse.
A partir de aquí, puedes añadir configuraciones adicionales del agente, como el primer mensaje, diferentes idiomas (asegúrate de que la herramienta de sistema detectar idioma esté activada), el LLM que prefieras, un modelo conversacional de ElevenLabs de texto a voz y una voz de ElevenLabs.
Puedes encontrar un ejemplo de prompt del sistema aquí.

Barreras
La sección Barreras del prompt del sistema cubre reglas a nivel de instrucciones y el modelo le da mucho peso. Pero un prompt sigue siendo una capa no determinista y puede desviarse durante una llamada larga. ElevenAgents las refuerza con una aplicación independiente en tiempo de ejecución mediante sus propias Barreras. Incluyen la barrera de enfoque, que refuerza el prompt del sistema a medida que se alargan las conversaciones; las barreras de manipulación, que detectan intentos de inyección de prompts antes de que responda el agente; y las barreras de contenido y personalizadas, que evalúan cada respuesta en tiempo real y pueden bloquearla antes de que la escuche quien llama. Cada barrera se configura con un modo de ejecución —streaming para una latencia casi nula o bloqueo para retener una respuesta hasta que se valide— y una estrategia de salida para cuando se activa: finalizar la llamada o reintentar con comentarios correctivos incorporados en el siguiente turno.
Para este agente, podemos definir barreras personalizadas para las reglas específicas del ámbito sanitario o de la clínica: bloquear diagnósticos o recomendaciones de tratamiento, preguntas de facturación, indicaciones sobre dosis de medicamentos y cualquier cosa que sustituya el consejo de un profesional sanitario autorizado. Ante síntomas urgentes, configura la estrategia de salida para reintentar con comentarios que transfieran la llamada a una persona, de forma que la barrera la pase al personal en vez de simplemente finalizarla.


Herramientas
Cada paso del flujo requerirá herramientas de webhook e integración específicas para realizar acciones mientras se habla con el paciente.
Herramienta de verificación de HCE
Para verificar al paciente con su registro en la HCE, usaremos la acción de API FHIR GET /Patient. Añádela como herramienta de webhook que apunte a tu URL base de HAPI FHIR, con apellido, nombre, identificador y fecha de nacimiento configurados como parámetros completados por el LLM. La primera llamada de herramienta de la fase de verificación accede a la ruta con el nombre y la fecha de nacimiento de quien llama en una única consulta:
Solo se confirma una coincidencia cuando la consulta devuelve exactamente un registro, y el agente solo puede pasar a la fase de reserva si se cumple esta condición.
Puedes encontrar un ejemplo de JSON de la herramienta aquí.
Herramientas de verificación por SMS de Twilio
Una vez confirmada la coincidencia en la HCE, la fase de verificación pasa a un segundo factor: enviar al paciente un código de un solo uso por mensaje de texto y confirmarlo antes de hacer nada más. Configurarlo requiere tres pasos:
1. Crea herramientas de webhook de SMS. Configura dos herramientas, send_SMS_verification y check_SMS_verification, ambas dirigidas a tu servicio Twilio Verify. Cada una necesita el SID del servicio Verify (el valor VA... de la configuración de tu servicio Verify) en la ruta de URL y una cabecera de autenticación Basic creada con tu Account SID y Auth Token, guardados como secreto.
2. Define el destinatario con una variable de sistema. ElevenAgents proporciona variables de sistema que rellenan automáticamente system__caller_id con el número de teléfono de quien llama en cualquier llamada de voz, así que pasa {{system_caller_id}} como parámetro To en lugar de pedirle que lea un número en voz alta. En un entorno de producción integrado con una HCE activa, el código se enviaría al número de teléfono guardado en el registro del paciente, no al identificador de quien llama.
3. Activa skip_turn. Añadir esta herramienta de sistema junto con las herramientas de webhook permite al agente esperar en silencio mientras quien llama busca el mensaje, en vez de hablar durante la pausa.
Solo puede pasar a la fase de reserva quien supera tanto la consulta de HCE como la comprobación de OTP.
Puedes encontrar un ejemplo de JSON de ambas herramientas aquí y aquí.
Herramientas de integración de calendario
La fase de reserva debe comprobar disponibilidad, reservar, reprogramar y cancelar en un calendario real. Configurar la integración de Cal.com requiere tres pasos:
1. Conecta la integración. En la pestaña Herramientas del agente, añade la integración de Cal.com y haz clic en Conectar.
2. Fija el tipo de evento. Cada herramienta de calendario recibe un ID de tipo de evento que indica a Cal.com para qué evento debe reservar. Configúralo como parámetro fijo en las herramientas conectadas mediante el ID de tu panel de Cal.com.
3. Define el correo electrónico del asistente. Las herramientas de reserva también necesitan un correo electrónico del asistente. Para la demostración, fíjalo como parámetro a tu propia dirección para que las confirmaciones lleguen a tu bandeja de entrada. En producción con una HCE real, lo rellenarías con el correo del registro del paciente en lugar de codificarlo de forma fija.
A partir de ahí, el flujo de reserva depende de la intención recogida en Saludo. Para una cita nueva, el agente llama a calcom_get_available_slots para consultar las horas disponibles antes de ofrecer una, y después a calcom_create_booking cuando quien llama confirma, siempre en ese orden, ya que comprobar primero la disponibilidad evita reservar una franja dos veces. Para una reprogramación o cancelación, primero localiza la cita existente de quien llama con calcom_find_bookings_by_attendee, confirma la reserva concreta con quien llama y, después, la elimina con calcom_cancel_booking o, en el caso de una reprogramación, reserva la nueva franja antes de cancelar la anterior.
Transferencia a una persona
Para transferir a una persona, podemos usar la herramienta de sistema de ElevenLabs transfer_to_number herramienta de sistema. Añádela como herramienta de sistema a nivel de agente para que sea accesible desde Saludo, Verificación o Reserva. Para la regla de transferencia, añade el número de teléfono de destino en formato E.164 y una condición en lenguaje sencillo que describa cuándo debe activarse. El LLM decide cuándo y adónde transferir según esas condiciones y la descripción de la herramienta. Deja el tipo de transferencia como Conference, el valor predeterminado, ya que admite un mensaje de transferencia asistida que informa al operador humano de por qué se le dirige la llamada.
Estructurar el recorrido del paciente
Flujos de trabajo son flujos de conversación visuales basados en grafos, creados a partir de varios tipos de nodos: nodos de subagente que añaden un prompt del sistema, herramientas y una base de conocimiento sobre el agente base orquestador para una fase de la llamada; nodos de herramientas de despacho que garantizan la ejecución de una herramienta concreta y se ramifican según el éxito o el fallo; nodos de transferencia de agente y de transferencia a número para las derivaciones; y un nodo final para cerrar la llamada. Los nodos se conectan mediante aristas, y las aristas hacia delante pueden incluir una condición de LLM: una regla en lenguaje natural que el modelo evalúa en tiempo real para decidir qué ruta tomar. Creamos el agente con cinco nodos de subagente —Saludo, Verificación, Reserva, Aviso de transferencia y Cierre—, cada uno limitado a sus propias herramientas, además de un único nodo Transferencia de número de teléfono accesible desde Aviso de transferencia.
Saludo es el punto de entrada: responde la llamada, presenta la clínica y recoge la intención del paciente antes de derivar el caso. No tiene herramientas propias, solo recopila el contexto suficiente para dirigirlo correctamente.
Verificación realiza la comprobación de dos factores anterior mediante la herramienta FHIR GET /Patient para confirmar que quien llama coincide con un registro de la HCE y, después, las herramientas send_SMS_verification y check_SMS_verification para enviar y comprobar un código de un solo uso antes de que pueda continuar. Solo avanza quien supera ambas comprobaciones; quien no lo consigue tiene una arista hacia delante a Aviso de transferencia.
Reserva es donde se encuentran las herramientas de calendario de la sección anterior, y la intención recogida en Saludo determina la ruta: comprobar la disponibilidad y reservar una cita nueva, buscar la reserva existente y volver a reservar antes de cancelar para una reprogramación, o confirmar y cancelar para una cancelación. Este nodo también deriva a Aviso de transferencia: si no encaja nada en el calendario, no se puede asociar a quien llama con una cita existente o prefiere hablar con el personal, la arista dirige el caso allí en vez de bloquear la llamada.
Aviso de transferencia se sitúa entre el resto del workflow y la transferencia: es un subagente breve cuya única tarea es informar a quien llama de que se le transferirá la llamada (por ejemplo, «Ahora te pongo con alguien de nuestro equipo») antes de que salga realmente del agente. Dirigir primero todas las condiciones de transferencia a través de este nodo, en lugar de activar transfer_to_number directamente desde Saludo, Verificación o Reserva, garantiza que quien llama siempre escuche ese mensaje, en vez de ser transferido en silencio si la formulación varía entre subagentes.
Transferencia de número de teléfono, basado en la herramienta transfer_to_number, es el nodo al que Aviso de transferencia siempre deriva. Sus reglas combinan un número de destino con las mismas condiciones procedentes de fases anteriores —una verificación fallida, una solicitud explícita o una reserva que no puede completarse— y ejecuta la transferencia real cuando quien llama ya ha sido informado.
Cierre solo se alcanza después de una reserva correcta: resume los detalles de la cita a quien llama y finaliza la llamada con un tono cordial.
Puedes encontrar una plantilla JSON de ejemplo del workflow aquí.

Análisis y pruebas
La mayor parte del esfuerzo en un agente de voz sanitario no está en el camino ideal, sino en todo lo que debe funcionar correctamente cuando la llamada no sigue el guion previsto. ElevenAgents está diseñado para pruebas y análisis nativos de la plataforma, lo que significa que los mismos criterios de evaluación que utilizas antes del lanzamiento puntúan cada llamada en producción, sin ninguna herramienta independiente que conectar o conciliar.
Criterios de éxito
Define criterios de éxito para recoger criterios de evaluación específicos alineados con tus objetivos empresariales y operativos. En la pestaña Análisis, cada criterio es un prompt en lenguaje sencillo que un LLM ejecuta sobre la transcripción y devuelve éxito, fallo o desconocido junto con una justificación. Para este agente, podrían incluir criterios como:
patient_verified: «Marcar como correcto si el agente confirmó la identidad de quien llama mediante la consulta de HCE y el código de un solo uso por SMS antes de pasar a la reserva».appointment_booked: «Marcar como correcto si se reservó la cita del paciente».appointment_changed: «Marcar como correcto si el paciente pidió reprogramar o cancelar una cita existente, el agente completó ese cambio —actualizando o eliminando el evento del calendario— y confirmó el resultado a quien llamó».call_escalated_when_requested: «Marcar como correcto si quien llama pidió hablar con una persona y el agente transfirió la llamada; marcar como fallo si quien llama lo pidió y el agente no la transfirió».
Recopilación de datos
Puedes combinarlos con campos de recopilación de datos. Por ejemplo, añadir requested_action (reservar, reprogramar o cancelar), appointment_date o appointment_type, que se extraen como valores estructurados de texto, booleanos o numéricos de cada transcripción y se envían a otros sistemas mediante un webhook posterior a la llamada al sistema que registra los resultados de las llamadas.

Simulaciones y pruebas
En la atención sanitaria, un agente debe ganarse la confianza antes de su primera llamada real: los modos de fallo deben aparecer en las pruebas, no delante de un paciente. La API de simulación de conversaciones simula escenarios realistas de llamadas, tanto de principio a fin como en segmentos específicos, y puntúa automáticamente los resultados con los mismos criterios que se ejecutan en producción: las comprobaciones exactas de patient_verified y appointment_booked definidas anteriormente, no una rúbrica independiente solo para pruebas. Ejecuta simulaciones completas para toda la llamada o simulaciones parciales que comiencen a mitad de conversación para validar un único punto de decisión, la forma más rápida de iterar sobre un nodo sin volver a ejecutar todo el flujo.
Para este agente, eso significa crear guiones con escenarios que van más allá del camino ideal: alguien cuyo nombre no coincide con ningún registro de HCE, una persona que se equivoca dos veces con la OTP, un paciente que pide reprogramar en vez de reservar y alguien que solicita explícitamente hablar con una persona a mitad de la verificación. Son escenarios claros y concretos que te dan cobertura de casos límite, uso de herramientas y lógica de respaldo, en vez de esperar a que aparezcan en producción.
Conecta tu número de teléfono de Twilio
Con el agente creado, conectarlo a un número activo lleva unos minutos:
- En el panel de ElevenLabs, ve a Números de teléfono y haz clic en Importar número.
- Introduce una etiqueta, el número de teléfono y tu SID de cuenta y Token de autenticación
- Una vez importado, asigna el número a tu agente desde el menú desplegable.
- Llama al número para probarlo y revisa después el panel del historial de Conversaciones para confirmar que las primeras llamadas se han comportado como esperabas.
Listo para pacientes reales
Hemos creado un agente de programación para pacientes que hace más que responder al teléfono: verifica la identidad con una HCE y una OTP de segundo factor antes de acceder a un registro, reserva, reprograma y cancela directamente en un calendario activo mediante la API de Cal.com y sabe cuándo hacerse a un lado y pasar la llamada a una persona. El workflow determinista, las barreras en tiempo de ejecución y los criterios de evaluación proporcionan a los equipos el registro de auditoría y el patrón de pruebas repetible que requieren los despliegues sanitarios.
El lanzamiento es donde este patrón demuestra su valor. Los criterios de evaluación definidos durante el desarrollo se convierten en el umbral de lanzamiento: cuando el agente los supera de forma consistente y las métricas se han estabilizado, puedes lanzar con confianza en lugar de basarte en una decisión subjetiva. Después del lanzamiento, el aprendizaje pasa de las pruebas simuladas a las transcripciones de producción. Hablamos de estas prácticas, desde despliegues graduales hasta saber cuándo dejar de iterar, en un blog anterior.
Un paso clave hacia el cumplimiento de HIPAA es la gestión de datos. Activar el modo de retención cero elimina las grabaciones de llamadas, las transcripciones y los metadatos que contienen información de identificación personal en cuanto termina una llamada, cerrando la principal fuente de riesgo de cumplimiento en un despliegue telefónico. Junto con un webhook posterior a la llamada, no se pierde visibilidad: cada resultado de reserva, resultado de verificación y puntuación de evaluación se envía a tu propio sistema en tiempo real al finalizar la llamada.
Ahora tienes una plantilla para situar la voz IA agéntica en la puerta de entrada de tu clínica. La programación es el punto de partida de mayor volumen, y el mismo patrón se extiende a la admisión de pacientes, las renovaciones de recetas, la facturación y los seguimientos posteriores a la visita: llamadas que ya no tienen que acabar en el buzón de voz fuera de horario. Nuestro equipo de Forward Deployed Engineering colabora estrechamente con organizaciones sanitarias para convertir despliegues como este en capacidades concretas de producto. Si quieres incorporar un workflow orientado a pacientes a ElevenAgents con el enfoque de cumplimiento que exige la atención sanitaria, prueba este enfoque y cuéntanos qué te parece.
.webp&w=3840&q=80)
.webp&w=3840&q=80)
.webp&w=3840&q=80)
.webp&w=3840&q=80)
