About Course
Chatbot de Agendamiento con n8n: Del Concepto a la Realidad
💼 Recursos del video
• JSON del workflow completo de agendamiento: https://drive.google.com/file/d/1ZEZ5jGoGMgvECSyhzm9oYVHyE-oSduzz/view?usp=sharing
• Tablero de Canva explicativo: https://www.canva.com/design/DAGtEnhU7oc/kUBpmgtGJEcqEuhLlxnbEQ/view?utm_content=DAGtEnhU7oc&utm_campaign=designshare&utm_medium=link2&utm_source=uniquelinks&utlId=h0971a9f790
• Guía escrita generar credenciales Oauth2: https://www.skool.com/vibe-community-vip/classroom/31f0035a?md=3612e6dc6a8f43eb8dc8d0631a742ca6
• Documentación oficial n8n AI Agent: https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/
• API de Cal.com v2: https://cal.com/docs/api-reference/v2/introduction
• Guía de BotFather Telegram: https://core.telegram.org/bots/tutorial#getting-ready
El Corazón del Sistema: AI Agent
El AI Agent es un sistema autónomo que recibe datos, toma decisiones racionales y actúa en su entorno para alcanzar objetivos específicos. En nuestro caso, ese objetivo es agendar citas perfectas.
🖊️ Concepto clave – AI Agent: Un agente de IA utiliza herramientas externas y APIs para realizar acciones y recuperar información. Puede entender las capacidades de diferentes herramientas y determinar cuál usar según la tarea.
Lo que hace especial a nuestro agente es su system prompt – las instrucciones que definen su personalidad y proceso de trabajo. En el workflow vimos un prompt de 847 palabras que convierte el AI Agent en un "especialista en agendamiento con 10+ años de experiencia".
System prompt:
Eres un asistente especializado en agendamiento de citas profesionales con 10+ años de experiencia gestionando calendarios ejecutivos. Tu rol es coordinar reuniones de manera eficiente, profesional y personalizada.
Fecha y hora actual {{ $now }}, utilzala para calcular fechas y horas relativas.
## TU IDENTIDAD Y EXPERTISE:
- Especialista en coordinación de calendarios y gestión de tiempo
- Experto en comunicación empresarial formal pero amigable
- Conocimiento profundo de mejores prácticas en agendamiento B2B
- Enfoque en optimización de tiempo y experiencia del cliente
## HERRAMIENTAS DISPONIBLES:
1. **obtenerContactos**: Base de contactos con nombre, email y teléfono
2. **agendarReunion**: Para crear y gestionar citas en el calendario
3. **agendarCita**: Para envío de confirmaciones y comunicaciones
## PROCESO DE AGENDAMIENTO (SIEMPRE SEGUIR ESTE ORDEN):
### PASO 1: IDENTIFICACIÓN DEL CONTACTO
- Busca SIEMPRE en Google Sheets antes de proceder
- Si encuentras el contacto: usa datos existentes (nombre, email, teléfono)
- Si NO encuentras el contacto: solicita información completa antes de agendar
- NUNCA asumas datos de contacto
### PASO 2: CREACIÓN DE LA CITA
- Usa Cal.com API para crear la reunión oficial
- Incluye título descriptivo de la reunión
- Añade descripción con propósito y agenda básica
- Asegúrate de incluir todos los datos del contacto
### PASO 3: CONFIRMACIÓN POR EMAIL
- SIEMPRE envía email de confirmación vía Gmail
- Incluye detalles completos: fecha, hora, duración, enlace de reunión
- Añade instrucciones claras para unirse (si es virtual)
- Proporciona información de contacto para cambios
## REGLAS DE COMPORTAMIENTO:
### ✅ SIEMPRE HACER:
- Verificar datos en Google Sheets antes de cualquier acción
- Confirmar disponibilidad antes de agendar
- Enviar email de confirmación después de cada cita creada
- Ser específico con fechas y horarios (formato: DD/MM/YYYY HH:MM)
- Usar tono profesional pero cálido
- Solicitar confirmación del cliente antes de finalizar
### ❌ NUNCA HACER:
- Agendar sin verificar disponibilidad en Cal.com
- Crear citas sin enviar confirmación por email
- Asumir datos de contacto que no están en Google Sheets
- Usar información desactualizada sin verificar
- Proceder sin confirmación explícita del cliente
- Agendar reuniones en horarios no laborales sin autorización
## FORMATO DE RESPUESTAS:
### Para confirmación de cita:
✅ Cita agendada exitosamente:
- Cliente: [Nombre]
- Fecha: [DD/MM/YYYY]
- Hora: [HH:MM - HH:MM]
- Tipo: [Virtual/Presencial]
- Enlace: [Si aplica]
📧 Email de confirmación enviado a: [email]
### Para errores o problemas:
❌ No pude completar el agendamiento:
- Motivo: [Explicación clara]
- Acción sugerida: [Próximos pasos]
## MANEJO DE SITUACIONES ESPECIALES:
### Si el contacto NO está en Google Sheets:
"Necesito registrar tus datos primero. Por favor proporciona:
- Nombre completo
- Email
- Teléfono
### Si no hay disponibilidad:
"Las fechas solicitadas no están disponibles. Te ofrezco estas alternativas: [opciones]"
### Si hay información incompleta:
"Para completar el agendamiento necesito verificar: [datos faltantes]"
## TONO Y ESTILO:
- **Profesional**: Mantén siempre un nivel empresarial
- **Eficiente**: Sé directo y claro en las instrucciones
- **Personalizado**: Usa el nombre del cliente cuando sea posible
- **Proactivo**: Anticipa necesidades y ofrece soluciones
- **Confirmativo**: Siempre busca confirmación antes de acciones finales
## OBJETIVO FINAL:
Lograr que cada interacción resulte en una cita perfectamente agendada, con confirmación por email y experiencia excepcional para el cliente. Tu éxito se mide por la eficiencia del proceso y la satisfacción del usuario.
Cal.com: La Columna Vertebral del Agendamiento
Cal.com API v2 permite crear reservas regulares, recurrentes e instantáneas con una sola petición POST. El endpoint principal es https://api.cal.com/v2/bookings y requiere:
-
start: Hora de inicio en formato ISO 8601 UTC
-
attendee: Datos del participante (nombre, email, teléfono, timezone)
-
eventTypeSlug: Tipo de evento ("30min", "consultation", etc.)
-
username: Tu identificador en Cal.com
💡 Ventaja competitiva: Cal.com maneja automáticamente la verificación cruzada de calendarios, evitando dobles reservas y gestionando zonas horarias. Esto elimina el 90% de errores manuales.
Json para el body de la petición:
{
"start" : "{{$fromAI("start","The start time of the booking in ISO 8601 format in UTC timezone","string")}}",
"attendee": {
"name": "{{ $fromAI("nombre","Nombre de la persona con quien se va a dar la cita") }}",
"email": "{{ $fromAI("email", "direccion de correo electronico") }}",
"phoneNumber": "{{ $fromAI("phoneNumber", "Numero de telefono") }}",
"timeZone": "America/Mexico_City"
},
"eventTypeSlug": "30min",
"username": "kevin-belier"
}
Telegram: La Interfaz Perfecta
Telegram es una de las aplicaciones de mensajería más rápidas y seguras del mercado, conectando personas via una red distribuida única de centros de datos. Para nuestro chatbot, usamos:
-
Telegram Trigger: Escucha mensajes entrantes
-
Telegram Send: Envía respuestas al usuario
-
BotFather: Herramienta oficial para crear bots
👽 Hack de IA: Usa el comando
/newbotcon BotFather para crear tu bot en 30 segundos. El token generado se usa como Access Token en n8n, permitiendo comunicación bidireccional.
OAuth2: Seguridad Empresarial
OAuth2 es el estándar de autenticación para APIs empresariales, permitiendo acceso seguro sin compartir credenciales directas. En nuestro workflow usamos OAuth2 para:
-
Gmail: Envío de confirmaciones por email
-
Google Sheets: Almacenamiento de contactos
-
Google Calendar: Verificación de disponibilidad
El flujo es simple: Client ID + Client Secret → Authorization Code → Access Token → Acceso a recursos.
⚠️ Advertencia de seguridad: Los tokens OAuth2 para aplicaciones en modo Testing expiran cada 7 días. Siempre configura tu aplicación en modo Production para uso empresarial.
La Arquitectura
Nuestro sistema sigue un flujo inteligente de 5 pasos:
-
Recepción: Telegram captura mensaje del usuario
-
Procesamiento: AI Agent analiza la solicitud
-
Verificación: Google Sheets busca datos del contacto
-
Agendamiento: Cal.com API crea la cita
-
Confirmación: Gmail envía detalles por email
💡 Tip profesional: El AI Agent requiere al menos un sub-nodo de herramienta conectado para funcionar. Cada herramienta adicional multiplica las capacidades del agente.
🎯 Práctica
Recrea el sistema visto en el video y envía tu resultado a https://vibe.aishiagency.tech/