Chatbot con IA para consultas y citas | MVP con Telegram, CRM y Google Calendar | W 002

In this Spanish‑language demo, Julio López Rodríguez shows an end‑to‑end minimum viable product (MVP) of an AI‑powered chatbot built with n8n. The bot runs on Telegram, uses Airtable as a lightweight CRM, and integrates with Google Calendar and Gmail. The presentation walks through the full conversation flow: detecting user intent, automatically creating a contact record, handling frequently‑asked‑questions (FAQ) via keyword matching and a DeepSeek LLM, scheduling appointments (including checking calendar availability, creating, confirming, and cancelling events), and escalating to a human operator when needed (sending an email and a Telegram alert). All interactions, contacts, conversation summaries, FAQ entries, and appointment records are stored in Airtable tables, allowing the operator to review the full history. The demo highlights how the bot can manage reservations for restaurants, hair‑dresser appointments, online consultations, and similar use‑cases while avoiding double‑booking and providing a seamless 24/7 experience.
Chapters
Este chatbot atiende dudas frecuentes, gestiona citas automáticas y funciona las 24 horas del día. Bien, con este sistema montado en N8N vamos a dar solución a esta solicitud: automatización de respuestas a consultas frecuentes, interpretar solicitudes, gestionar citas de manera automática y registrar todo en un CRM. Este es el sistema que he montado con N8N. Tiene muchas ramificaciones, pues por según las interacciones que puedan surgir con el lead o con el cliente, y Este es un CRM sencillo que he montado con Airtable para esta demostración práctica. Hay una tabla de contactos donde va a quedar registrado el lead o cliente con su nombre, qué es lo que ha pedido, en qué estado está. Un registro de conversaciones donde hay un resumen. Una tabla con las dudas frecuentes que hemos ya preparado previamente, que pueden ser identificables por palabras claves y tiene una respuesta ya automática. Se pueden añadir, se pueden quitar. Hay una tabla de citas donde se quedan registradas las horas de inicio, de fin, con los links del del evento y en el estado en que está, porque puede ser confirmada, cancelada, aceptada. Y todo aquí, aquí se verá todo un registro de mensajes intercambiados entre el bot y el contact. Aquí aparecerá a qué persona pertenece esa conversación para si se quieren revisar todos esos cruces de conversaciones. Vamos a empezar por algo sencillo y vamos a decir algo tan simple como reservar una cita. Veremos que No les hemos dicho ningún horario ni si es por la mañana y por la tarde. Ya el flujo ha creado un contacto porque detecta que previamente no existe. Por aquí en este enrutador lo ha llevado a la parte de cita porque es la intención que ha detectado. Ve que no requiere ninguna atención humana y pasa por el enrutador de una nueva solicitud. El Telegram pues ya nos dice antes de reservar horario qué servicio necesitamos reservar. Vamos a decirle que queremos una gestión de reservas automáticas para mi restaurante. A pasar en este caso por el módulo de actualizar la conversación porque el contacto ya existe previamente. Y así estará dejando registro aquí en el tema. Ves los mensajes intercambiados, ya existe una conversación y aquí está el contacto creado. En el mensaje se ve que está asociado a este tipo de conversación y a este tipo de contacto que si se quiere ver en más detalle, pues se puede abrir ese campo y ya está. En este caso ahora ha pasado por el enrutador de cita, pero lo que cambia es en la aportación de datos porque ya no es una nueva solicitud. No le hemos especificado para cuándo la queremos. Vamos a decirle que para mañana miércoles, por ejemplo, pero no le vamos a decir la hora. Lo que debería suceder ahora es que nos pregunte si lo queremos por mañana, por la tarde, si a una hora en concreto, porque aún no le hemos especificado nada. Por eso he hecho varias ramificaciones, varios módulos, porque el cliente puede que, o el lead, que no sea muy específico y haya que ayudarle a que lo sea. Pues vamos, en este caso ya vamos a ponerlo fácil, vamos a decir por la mañana y a las 10. Ahora veremos qué va a pasar por el módulo de comprobación. En el Google Calendar todavía no hay nada y ya la cita aquí va a quedarse grabada y va a indicar el estado. Bueno, mientras tanto el módulo está trabajando, ha pasado por aquí arriba, va a comprobar la disponibilidad, ha pasado por este módulo y primero nos confirma que tiene la disponibilidad de esa cita. Ahora sí se ha creado el registro en la tabla de cita, pero nos indica que está pendiente de confirmación. Esto es útil para cuando queramos gestionar otra cita para otra persona. Así comprueba si esa hora todavía está pendiente, si no, si ha sido cancelada o si ha sido aceptada para que no se solape. Entonces confirmaré la cita. En la tabla de citas ha pasado a estado confirmada y en el Google Calendar ya se ha creado. Vamos a suponer ahora que la queremos cancelar por lo que fuere. Quiero cancelar mi cita. No le hemos indicado ni la de qué día ni la de qué hora, por eso el sistema ahora va a comprobar si este contacto tiene una cita previamente registrada. Por eso aparece primero, aparece por el rotador de cancelar cita y luego va a pasar por una rama para comprobar si de verdad hay una cita activa previamente para que sea cancelable. Entonces el sistema nos Nos da los datos de la cita para confirmar que es esa, a ver si es esa. Vamos a decirle que sí y ahora comprobaremos cómo va a desaparecer de Google Calendar y cómo de aquí va a pasar en estado cancelado. En este caso seguirá por el enrutador de cancelar cita, es en este, va a pasar por el mismo sitio donde comprueba si la cita es cancelable, pero que precisamente hay una confirmación de esa cancelación que pasa por el módulo de eliminar. El evento y marcarlo como cancelado. Y aquí está cancelado y aquí ya no aparece. Vamos ahora con la parte de dudas frecuentes. Una muy típica: ¿qué horarios tienen? Porque puede pasar que en la web se indique un horario, en Google Maps se indique otro, en cualquier directorio de empresa se indique otro. No es la primera vez que me lo encuentro. Hay que confirmarlo con el bot, que suponemos que lo tendrá bien registrado si se hacen bien las cosas. Bueno, ahora va a pasar por otras ramas distintas, que es la de las dudas frecuentes, que está precisamente, la tenemos ya preparada aquí, y así nos lo ha dicho. La de dudas frecuentes en este caso pasó por el enrutador de FAQ, y aquí está. Obtiene primero las dudas frecuentes que están activas, las agrupa, comprueba si está disponible, aquí la interpreta, con este está conectado al DeepSeek, y da la respuesta apropiada. Puede ocurrir que se quiera consultar con una persona alguna duda en concreta porque el bot no puede darte respuesta a ella, o es una consulta que no necesitas esa interacción con una persona. Entonces se le dice que se quiere hablar con una persona. Siempre un bot tiene que dar esta opción de hablar con una persona. Y aquí se verá que va a pasar por este módulo de requiere atención humana por la rama de true. Envía este sistema un correo a una persona responsable. En este caso puse el módulo de Gmail. Y en Telegram llegó el aviso de que la consulta va a ser revisada por una persona. En el Airtable queda de esta manera la conversación. Pone que el bot se ha pausado, que la intención actual es la de humano porque se ha clasificado así y se marca el check de requerir humano. Mientras tanto puede pasar que la persona, en lo que está esperando con una persona en la tienda, quiera agendar una cita porque lo tiene claro, intentar resolver alguna duda frecuente. Por eso se ha abierto esta opción de volver al bot y así lo vamos a hacer. Volvemos al bot y aquí se verá que esto va a quedar desmarcado. Así fue, ya se hizo y esto sigue marcado. De hecho el Telegram te avisa que la solicitud de atención humana sigue pendiente, que se va a revisar, pero mientras tanto puedes interactuando con el bot para lo que tú quieras. Se puede dar el caso que queramos reservar una cita, pero esta ya está ocupada. De eso se trata también este bot, que sea capaz de interpretar eso. Vamos a suponer que queremos una cita a las 11 horas, y aquí en el Google Calendar ya tenemos una cita registrada. Ahora deberá comprobar que esta ya está ocupada y nos deberá dar aviso de ello. El módulo mientras tanto está clasificando la intención que se quiere, que en este caso es la de cita. Deberá aparecer por aquí. Ve que es una nueva solicitud de cita. Comprueba. Bueno, ya nos dio respuesta el Telegram, que no ha encontrado la disponibilidad para ese horario y que le indiquemos otra. Sirve para cualquier negocio que quiera gestionar citas automáticas a cualquier hora, reservas de mesas, hora de peluquería, consultas online.
More from Julio

Cómo construí un sistema para clasificar leads B2B con IA, n8n y Airtable | Caso práctico W-001

En marketing, no empieces por el canal. Empieza por entender qué necesita la persona.








