Blogs
/
Cómo crear un agente de programación de citas con IA que cualifique a quien llama antes de reservar

Cómo crear un agente de programación de citas con IA que cualifique a quien llama antes de reservar

11
 MIN READ
October 2, 2026
Cómo crear un agente de programación de citas con IA que cualifique a quien llama antes de reservar
VOLVER A LOS BLOGS
Add Retell AI as a preferred source on Google
EN ESTA PÁGINA
Volver arriba

La mayoría de las guías sobre agentes telefónicos con IA se quedan en el momento en que el agente descuelga y saluda. Esa parte es fácil. Lo difícil es conseguir que haga las preguntas que haría tu mejor operador de despacho y que reserve el trabajo solo cuando las respuestas merezcan la pena.

Si te equivocas, habrás automatizado el ruido. El calendario se llena de inquilinos que no pueden autorizar el trabajo, personas que llaman desde fuera de tu zona de servicio y gente a la que le faltan tres meses para decidir nada. Cada una de ellas ocupa un hueco que podría haber sido para un trabajo real.

Esta guía crea un agente de programación de citas con IA que primero cualifica y después reserva. Es un flujo de conversación conectado a un calendario de Cal.com en tiempo real, y se tarda unos quince minutos. Si solo has venido a por los prompts, están todos recopilados en el índice de prompts, casi al final.

Mira cómo se crea

El vídeo de abajo muestra la misma creación en pantalla, de principio a fin. Síguelo si prefieres ver en lugar de leer. Los pasos escritos y los prompts de esta página coinciden con el vídeo, así que puedes tenerla abierta en otra pestaña e ir copiando sobre la marcha.

Lo que realmente le cuesta a tu negocio una llamada sin cualificar

Toda llamada entrante que no pasa por una conversación de cualificación acaba de una de dos maneras. O reserva un trabajo que nunca iba a llegar a nada, lo que quema un hueco y el tiempo de desplazamiento de un técnico. O nadie contesta lo bastante rápido y quien llama pasa al siguiente nombre de la lista.

Ambas cuestan lo mismo. La primera desperdicia capacidad que ya has pagado. La segunda regala ingresos a un competidor que sí contestó al teléfono. Un agente que cualifica resuelve ambas, porque contesta al primer tono y se niega a reservar las llamadas que no deberían reservarse.

Paso 1: elige un flujo de conversación, no un agente de prompt único

Cuando creas un nuevo agente de voz tienes dos opciones: un agente de prompt único o un agente de flujo de conversación.

Un agente de prompt único es un bloque de instrucciones que el modelo lee y sobre el que improvisa. Es rápido de configurar y sirve para un guion lineal, como leer el horario y una dirección.

Un flujo de conversación es un mapa de la llamada, nodo a nodo, con ramas explícitas. La respuesta de quien llama en cada nodo decide qué nodo viene después. La comparativa de tipos de agente en la documentación explica todas las ventajas e inconvenientes.

Para la cualificación, te conviene el flujo. Cualificar es una decisión, y una decisión necesita ramas que puedas ver, probar y corregir. Si no puedes señalar el nodo donde se rechaza a un inquilino, no tienes un paso de cualificación: tienes la esperanza de que el modelo recuerde tus instrucciones.

Empieza desde cero en lugar de desde una plantilla si tus criterios de cualificación son específicos de tu negocio, que es lo que ocurre casi siempre.

Paso 2: crea el flujo de la llamada con prompts a Conductor

No tienes que arrastrar cada nodo a mano. Conductor es el copiloto de IA integrado en Retell: describes la llamada que quieres, propone los nodos y las ramas, y tú lo revisas antes de que nada se ponga en marcha.

Usa el prompt 1 del índice de prompts que encontrarás al final de esta guía. La descripción hace un trabajo real, así que escríbela como una especificación, no como un deseo.

Conductor responde con preguntas aclaratorias antes de crear nada. Contéstalas de forma concreta. Indicar tu zona de servicio exacta, y nombrar Cal.com como herramienta de reservas, es lo que le permite colocar correctamente la rama de descalificación y el nodo de reserva en lugar de adivinar. Pide marcadores de posición para todo lo que necesite credenciales que aún no hayas conectado.

Lee cada nodo antes de aceptarlo. Conductor propone y tú apruebas, igual que revisarías una pull request. Este es el paso que la gente se salta, y es donde resulta más barato detectar una rama que falta.

Describirlo no es lo mismo que preguntarlo

Este es el fallo que conviene interiorizar. Puedes escribir "si la persona dice que es inquilina, termina la llamada" y obtener un flujo con una ruta de descalificación que solo se activa cuando alguien menciona por casualidad que vive de alquiler mientras responde a otra cosa.

Eso no es una pregunta de cualificación. Es suerte.

Lo que no pides explícitamente no lo obtienes de forma fiable. Si que sea propietario o inquilino decide si envías una furgoneta, tiene que haber un nodo cuya única función sea hacer esa pregunta directamente. Lo mismo con la zona de servicio. El prompt 7 del índice comprueba si existen esos nodos, y el prompt 8 los añade.

Paso 3: conecta Cal.com a tu agente de voz

Para reservar hace falta un calendario real detrás, y este es el único paso que el copiloto no puede hacer por ti, porque necesita tus credenciales.

En Cal.com, abre Settings, busca la pestaña de API keys y crea una clave nueva. Establece una caducidad acorde al tiempo que esperes usarla. En Retell, ve a Integrations, añade Cal.com y pega la clave. La cuenta aparecerá como conectada cuando se aplique.

Esa es toda la parte manual de la creación.

Paso 4: conecta las funciones de consultar disponibilidad y reservar cita

Abre el subflujo de reserva. Dentro necesitas dos funciones: una que consulta la disponibilidad y otra que reserva.

Ambas necesitan el ID del tipo de evento de Cal.com. Lo encontrarás en la URL del enlace de reserva que quieres que use el agente. Es el número de esa URL, y va en el campo de ID del tipo de evento de cada función.

Añade primero la función de consultar disponibilidad, pega el ID del tipo de evento y guarda. Después añade la función de reservar cita, con el mismo ID del tipo de evento, rellena los campos restantes y guarda. La lista completa de funciones de Cal.com también cubre la reprogramación y la cancelación, para cuando las necesites.

Con las dos funciones reales en su sitio, ejecuta el prompt 3 del índice para que Conductor vuelva a conectar los nodos a la integración real.

Paso 5: prueba el agente de programación de citas con IA antes de publicarlo

Haz una llamada de prueba desde el panel y ponte en el papel de alguien que debería cualificar.

Lo que tienes que vigilar no es si el agente suena bien, sino si la secuencia se mantiene. En una ejecución correcta, el agente pregunta qué pasa, si es reparación o sustitución, si es propietario o inquilino, confirma la zona de servicio, pregunta por la urgencia y después ofrece horarios.

Tres comprobaciones detectan los fallos habituales, y los prompts 4, 5 y 6 del índice son las soluciones:

¿Ofrece horarios reales? Si el agente dice que no hay nada disponible cuando tu calendario está libre, normalmente es porque no conoce la fecha de hoy, así que está consultando un periodo del pasado.

¿Gestiona una fecha que no había consultado antes? Pide un día fuera de los horarios que ofreció al principio. Un flujo que consultó una vez y no vuelve a mirar insistirá en que ese día no está disponible aunque esté libre.

¿Recoge el nombre y el correo electrónico antes de reservar? Cal.com rechaza una reserva sin esos datos. Si nada los pide, la reserva falla cuando quien llama ya ha elegido un horario, que es el peor momento posible para fallar.

Prueba también las rutas de descalificación. Un inquilino sin autorización y alguien que llama desde fuera de la zona de servicio deberían terminar la llamada con educación, sin intentar ninguna reserva. Compruébalo en lugar de darlo por hecho.

Paso 6: publica el agente, asigna un número de teléfono y lee las transcripciones de las llamadas

Publica el agente y, después, compra un número de teléfono y asígnalo. El mismo número sirve para llamadas entrantes y salientes.

El hábito que merece la pena crear es leer el historial de llamadas. Cada llamada deja una transcripción y un resumen, así que puedes ver qué quería quien llamaba y cómo lo gestionó el agente. En la llamada de prueba de esta creación, el registro muestra una reparación de tejado reservada por un agujero en un tejado existente, en una vivienda de alquiler en Long Island City, con permiso del casero registrado.

Ese es el contexto que tu técnico necesita antes de que salga la furgoneta, y nadie lo ha tecleado. El prompt 9 del índice convierte esa misma información en campos estructurados que tu CRM puede leer, usando el análisis posterior a la llamada.

Lee bien las transcripciones de las primeras semanas. Te dicen qué pregunta formula mal el agente, a qué rama no llega nadie y qué descalificación olvidaste crear.

Qué crear a continuación

Cuando la cualificación funcione, las incorporaciones útiles son un segundo calendario para que los distintos tipos de trabajo se asignen a técnicos diferentes, y variables dinámicas para que un agente que atiende a un cliente conocido ya sepa quién llama en lugar de preguntarlo todo desde cero.

El orden importa. Un agente que reserva más rápido a quien no debe es peor que no tener agente. Primero la cualificación, después el volumen.

Índice de prompts: todos los prompts usados en esta creación

Hay dos formas de crear este flujo. Puedes describírselo a Conductor y aprobar lo que proponga, o colocar tú los nodos y pegar el texto de las instrucciones en cada uno. Aquí tienes ambos conjuntos, junto con una única especificación que evita los cuatro problemas con los que se encontró originalmente esta creación.

Opción A: un único prompt que lo deja todo resuelto de antemano

Si solo vas a copiar una cosa de esta página, copia esto. Le da a Conductor los cuatro requisitos a la vez en lugar de dejar que los descubras más tarde como errores.

Antes de crear: conecta primero Cal.com en la página Integrations del panel (API key, cal.com o cal.eu). Crea los nodos de consultar disponibilidad y reservar cita usando directamente las herramientas de la integración nativa de Cal.com de Retell. No uses funciones personalizadas de marcador de posición.

Prompt global: incluye "La fecha y hora de hoy es {{current_time}}. Resuelve siempre las fechas relativas (hoy, mañana, el próximo lunes, dentro de un par de días) con respecto a esta fecha real. Nunca adivines una fecha."

Nodo de disponibilidad: consulta siempre por defecto un periodo de 14 días a partir de hoy, independientemente de lo vaga o concreta que sea la primera respuesta de quien llama. Si más tarde menciona una fecha fuera del periodo consultado, vuelve a hacer la consulta con un periodo que la incluya antes de decir que no está disponible.

Antes del nodo de reserva: recoge el nombre completo y el correo electrónico de quien llama, ambos campos obligatorios para la llamada de reserva de Cal.com. No llames a la función de reserva hasta haber obtenido los dos.

Ese único bloque evita cuatro fallos distintos: funciones de marcador de posición que no apuntan a nada real, un agente que no conoce la fecha de hoy, un periodo de disponibilidad demasiado estrecho para responder a lo que realmente pregunta quien llama, y una reserva que falla porque nadie pidió el nombre y el correo electrónico.

Opción B: los prompts conversacionales, en orden de creación

Escríbelos de uno en uno y lee lo que propone Conductor antes de aceptarlo. Los prompts del 4 al 6 son las soluciones a los tres fallos del paso 5, por si prefieres encontrártelos y resolverlos sobre la marcha.

1. Crea la estructura del flujo

Crea un flujo de conversación para una empresa de climatización y tejados. Saluda a quien llama y pregúntale si necesita una reparación o la sustitución completa del sistema. Crea ramas según la respuesta. Si quien llama dice que es inquilino y no puede aprobar el trabajo, o está fuera de nuestra zona de servicio, termina la llamada con educación sin reservar. Si no, pregúntale si quiere hacerlo en las próximas dos semanas o si solo está pidiendo presupuestos, y después avanza hacia la reserva de una cita.

2. Sustituye los marcadores de posición por tu calendario real

¿Se pueden sustituir consultar disponibilidad y reservar cita por mi integración real de Cal.com?

3. Apunta el flujo a las funciones que conectaste a mano

He añadido las funciones de la integración de Cal.com. Úsalas y sustitúyelas en los subnodos de marcador de posición.

4. El agente dice que nunca hay nada disponible

Cada vez que quiero reservar una cita, la disponibilidad nunca funciona: dice que no hay citas en los próximos días. ¿Por qué pasa esto?

5. El periodo de disponibilidad es demasiado estrecho

Lo he probado y la IA dijo que solo había disponibilidad hasta el viernes, pero hoy es miércoles y el calendario me deja reservar el próximo lunes. ¿Por qué no lo ofrece el agente?

6. La reserva falla en el último paso

Conseguimos la reserva del lunes, pero luego la reserva falla, creo que por algún dato que hay que recoger antes.

7. Comprueba si la cualificación existe de verdad

No veo ninguna cualificación en el flujo, ¿tenemos casos creados para esto?

8. Añade una capa de cualificación explícita

Necesitamos otra capa de preguntas de cualificación para saber si es inquilino o propietario. Ser propietario está bien; ser inquilino significa que necesitamos la autorización del casero. Lo mismo con la ubicación: fuera de Queens, NY, es un no.

9. Recoge los datos del lead al final

Añade un paso de análisis posterior a la llamada que recoja si quien llama ha cualificado, si era una reparación o una sustitución, cuánta urgencia ha indicado y un resumen de una línea para el técnico.

Opción C: nodo a nodo, si prefieres crearlo tú

Pega cada bloque en el nodo correspondiente en lugar de pedirlo con un prompt.

Prompt a nivel de agente, definido al principio del flujo

Eres un asistente de programación de citas para una empresa de servicios para el hogar que atiende llamadas de reparación de climatización y tejados. Tu trabajo es entender rápidamente lo que necesita quien llama, decidir si merece la pena enviar a un técnico y, en ese caso, reservar una cita presencial. Sé breve y natural, como un operador de despacho amable, no como un guion leído en voz alta. Nunca te inventes la disponibilidad; usa solo lo que devuelva la herramienta de calendario.

La fecha y hora de hoy es {{current_time}}. Resuelve siempre las fechas relativas con respecto a esta fecha real. Nunca adivines una fecha.

Nodo 1, saludo y primera pregunta

Saluda a quien llama y pregúntale qué le pasa con su climatización o su tejado. Después pregunta: "¿Quieres repararlo o estás pensando en sustituir el sistema completo?" Espera su respuesta antes de continuar.

Nodo 2, condiciones de las ramas. Van en las conexiones que salen del nodo 1, no en un nodo propio:

  • Ruta de sustitución: quien llama indica una sustitución completa, un sistema nuevo o dice que el actual no tiene reparación
  • Ruta de reparación: quien llama describe una avería o un arreglo concreto
  • Descalificación: quien llama dice que es inquilino y no puede aprobar el trabajo, o da una ubicación fuera de tu zona de servicio

Nodo 3, descalificación

Explica con educación que esto queda fuera de lo que podemos programar ahora mismo, ya sea por ser inquilino sin autorización del propietario o por estar fuera de nuestra zona de servicio. Sugiérele que lo consulte con el administrador de la propiedad o que vuelva a contactarnos si eso cambia. Dale las gracias y termina la llamada con educación. No ofrezcas reservar nada.

Nodo 4, pregunta de urgencia

Pregunta: "¿Quieres hacerlo en las próximas dos semanas o de momento solo estás pidiendo presupuestos?" Usa la respuesta para definir la urgencia, pero sigue avanzando hacia la reserva salvo que diga claramente que no está listo para programar la cita.

Nodo 5, recoger los datos de contacto. Este va entre la pregunta de urgencia y el nodo de reserva, y es el paso que más creaciones olvidan:

Pide el nombre completo y la dirección de correo electrónico de quien llama para poder enviarle una confirmación. Hazlo rápido, con una pregunta cada vez si hace falta. No pases a la reserva hasta tener ambos datos.

Nodo de reserva, donde están las funciones de Cal.com

Cuando se hayan respondido ambas preguntas y quien llama no haya quedado descalificado, llama a Check Availability. Lee 2 o 3 horarios libres en una frase natural, no en forma de lista. Espera a que quien llama confirme uno en voz alta y, después, llama a Book Appointment con ese horario. Nunca llames a Book Appointment antes de una confirmación verbal.

Campos de extracción posteriores a la llamada. Cuatro campos que merece la pena recoger en cada llamada: qualified como booleano, true si se ha reservado y false si se ha descalificado o rechazado. repair_or_replacement como selector, a partir de la primera respuesta. urgency como selector con las opciones esta semana, este mes o solo presupuesto, a partir de la segunda respuesta. Y summary_for_tech como texto, una o dos frases sobre el problema escritas para quien vaya a acudir.

Opción D: pruébalo antes de fiarte

Ejecútalos como simulaciones antes de poner el agente en un número real. Conductor te pedirá que confirmes el alcance primero, porque las simulaciones se facturan.

¿Puedes hacer una llamada de prueba simulada en la que quien llama dice que vive de alquiler y no puede aprobar el trabajo? Quiero confirmar que el agente se niega a reservar y termina la llamada en lugar de seguir hacia la reserva.
Lo mismo, pero con alguien que llama desde fuera de nuestra zona de servicio: ¿puedes simularlo y confirmar que termina la llamada sin reservar?

Si una llamada real reserva a alguien que debería haber rechazado, estos dos prompts diagnostican el problema:

He probado una llamada como inquilino que no puede aprobar el trabajo, pero el agente siguió adelante e intentó reservar igualmente. ¿Por qué no descalifica esa respuesta?
He llamado desde fuera de nuestra zona de servicio y aun así me ofreció reservar. ¿Por qué no se activa la rama de descalificación?

Preguntas frecuentes

¿Cuánto se tarda en crear un agente de programación de citas con IA?

Unos quince minutos para la creación de esta guía, desde una cuenta vacía hasta un agente publicado con número de teléfono. Reserva más tiempo para las pruebas. El flujo en sí se genera a partir de un solo prompt, pero las llamadas de prueba que detectan problemas con las fechas, los periodos de disponibilidad y los campos de reserva que faltan son las que realmente llevan tiempo.

¿Necesito saber programar?

No. Todo el flujo se crea describiéndolo en lenguaje natural y aprobando lo que propone el copiloto. Los únicos pasos manuales son pegar una API key de Cal.com y copiar un ID de tipo de evento de una URL.

¿Qué diferencia hay entre un flujo de conversación y un agente de prompt único?

Un agente de prompt único lee un bloque de instrucciones e improvisa. Un flujo de conversación es un mapa explícito, nodo a nodo, con ramas que puedes inspeccionar y probar. Usa un prompt único para un guion lineal y un flujo de conversación siempre que la llamada implique una decisión, algo que la cualificación siempre implica.

¿Puede reservar en Google Calendar o Calendly en lugar de Cal.com?

Sí. Aquí se usa Cal.com porque su API de reservas es fácil de conectar. El mismo patrón, una función de consultar disponibilidad seguida de una función de reservar cita, se aplica a otras integraciones de calendario.

¿Por qué mi agente dice que no hay citas disponibles cuando mi calendario está libre?

Hay dos causas habituales. El agente no conoce la fecha actual, así que está consultando un periodo que ya ha pasado. O consultó un periodo estrecho una sola vez y no volvió a consultar cuando quien llama mencionó otro día. Los prompts 4 y 5 del índice de prompts solucionan cada caso.

¿Qué pasa con las personas que no cualifican?

Llegan a un nodo de descalificación que termina la llamada con educación sin reservar nada. Esa ruta tiene que crearse de forma explícita. Describir la regla en tu primer prompt no basta, y para detectar eso existen los prompts 7 y 8.

Lecturas relacionadas

Calculadora de ROI
Estima tu ROI al automatizar las llamadas

Descubre cuánto podría ahorrar tu empresa al pasar a agentes de voz impulsados por IA.

¡Listo! 
Tu envío se ha mandado a tu correo electrónico
¡Vaya! Algo salió mal al enviar el formulario.
   1
   8
20
¡Vaya! Algo salió mal al enviar el formulario.

Resultado del ROI

2,000

Total Human Agent Cost

$5,000
/month

AI Agent Cost

$3,000
/month

Estimated Savings

$2,000
/month
Demo en Directo
Prueba Nuestra Demo en Directo

Un número de teléfono de demostración de Retell Clinic Office

¡Gracias! ¡Tu envío ha sido recibido!
¡Vaya! Algo salió mal al enviar el formulario.

Read Other Blogs

Revolutionize your call operation with Retell