Imagina esto: un sistema de citas 100% tuyo, gratis para siempre y conectado con IA
Estás pagando 15€ al mes por usuario en Cal.com. O quizá compraste el lifetime deal de TidyCal por 29$ y ya te has dado cuenta de que se queda corto. Tu negocio crece, necesitas más proveedores, más servicios, más automatización… y las limitaciones aparecen.
¿Y si te dijera que existe un sistema de gestión de citas completamente gratuito, open source y autoalojado que puedes conectar con n8n para crear un ecosistema de reservas con inteligencia artificial incluida?
Ese sistema se llama Easy!Appointments, y en esta guía vas a descubrir por qué combinado con n8n se convierte en la solución más potente, flexible y escalable del mercado. Sin cuotas mensuales. Sin límites artificiales. Sin depender de terceros.
Vamos a verlo todo: qué es, cómo se compara con TidyCal y Cal.com, y cómo montarlo paso a paso con n8n para crear un agente de IA que gestione tus citas por Telegram de forma completamente autónoma.
¿Qué es Easy!Appointments?
Easy!Appointments es un software de programación de citas open source desarrollado en PHP con base de datos MySQL. Nació como proyecto de código abierto y ha mantenido esa filosofía desde el principio: gratuito incluso para uso comercial.
Lo instalas en tu propio servidor (o con Docker en 5 minutos), configuras tus servicios y proveedores, y tienes un sistema de reservas profesional funcionando. Con su interfaz de administración puedes gestionar:
Servicios: corte de pelo, consulta médica, sesión de coaching… cualquier cosa con duración y precio
Proveedores: los profesionales que ofrecen esos servicios, con sus horarios y días laborables
Clientes: base de datos completa con historial de citas
Citas: el calendario central donde todo encaja
Y lo más importante para nosotros: tiene una API REST completa con documentación Swagger/OpenAPI que hace que la integración con n8n sea perfecta.
Características principales
Interfaz de reservas embebible: un iframe que puedes poner en cualquier web
Panel de administración: gestión completa de citas, clientes, servicios y proveedores
Notificaciones por email: confirmaciones y recordatorios automáticos
Webhooks: notificaciones cuando ocurre un evento
Docker oficial: despliegue en minutos con docker-compose
Requisitos técnicos
Montar Easy!Appointments es sorprendentemente sencillo:
Un servidor con PHP (cualquier hosting compartido sirve)
MySQL 8.0 o superior
O simplemente: Docker Desktop 4.37.1+ y un docker-compose.yml
Con docker compose up -d y en menos de 2 minutos tienes Easy!Appointments corriendo en localhost:8080.
Easy!Appointments vs TidyCal vs Cal.com: La Comparativa Honesta
Antes de entrar en la integración con n8n, vamos a ser directos sobre cómo se compara con las alternativas más populares.
Easy!Appointments
TidyCal
Cal.com
Precio
Gratis (self-hosted)
29$ lifetime / 19$/mes Pro
Gratis (1 usuario) / 15$/usuario/mes
Open Source
Sí (GPL)
No
Sí (parcialmente)
Self-hosted
Sí
No
Sí (complejo)
Tus datos
100% tuyos
En sus servidores
Depende del plan
Multi-proveedor
Sí, ilimitado
Solo en plan Agency/Pro
Sí, de pago
API REST
Completa con Swagger
Limitada
Sí (v2)
Webhooks
Sí
No nativos
Sí
Nodo nativo n8n
No (HTTP Request)
No (HTTP Request)
Sí (1 trigger)
TidyCal: Simple pero limitado
TidyCal es perfecto para freelances que necesitan algo rápido. El lifetime deal de 29$ es imbatible para casos de uso básicos. Pero cuando necesitas multi-proveedor real, automatización avanzada o control total de los datos, se queda corto.
No hay nodo nativo en n8n: tienes que usar HTTP Request como con cualquier API
Sin self-hosting: tus datos están en sus servidores
Sin webhooks nativos: la automatización reactiva es limitada
Multi-usuario caro: el plan Pro a 19$/mes para tener funcionalidades básicas
Cal.com: Potente pero con trampas
Cal.com tiene buena reputación y es open source (parcialmente). Tiene nodo nativo en n8n, lo cual es una ventaja real. Pero en la práctica:
El plan gratuito solo permite 1 usuario: para equipos, el precio escala rápido a 15$/usuario/mes
Problemas reportados con la API v2: múltiples usuarios en la comunidad de n8n reportan incompatibilidades con el nodo después de la migración a v2
Soporte deficiente: es una queja recurrente en reviews
Problemas con videollamadas: errores de conexión reportados frecuentemente
Enterprise opaco: precios bajo consulta para funcionalidades avanzadas
Easy!Appointments: Las ventajas reales
Open source real: GPL, puedes modificar cualquier cosa
Self-hosted sencillo: Docker compose y en 2 minutos funcionando (a diferencia de Cal.com)
API REST con Swagger/OpenAPI: documentación profesional que puedes importar en Postman o darle directamente a una IA para que genere los endpoints
Multi-proveedor ilimitado: sin coste adicional por usuario
Tus datos son tuyos: GDPR friendly por naturaleza
Comunidad activa: +21 idiomas mantenidos
Webhooks: automatización en tiempo real cuando se crea, modifica o cancela una cita
¿Cuándo elegir qué?
Si tu situación es…
Elige…
Por qué
Freelance con necesidades básicas
TidyCal
29$ y a olvidarte
Equipo pequeño que quiere SaaS
Cal.com
Buena UX, nodo n8n nativo
Negocio que quiere control total
Easy!Appointments
Gratis, self-hosted, API completa
Cualquiera que quiera automatizar con IA
Easy!Appointments + n8n
Flexibilidad absoluta
Por Qué Easy!Appointments + n8n es la Combinación Definitiva
Aquí viene la parte que cambia las reglas del juego.
n8n es el pegamento que convierte Easy!Appointments en algo mucho más grande. Con la combinación de ambas herramientas puedes:
Crear un agente de IA que gestione citas por Telegram, WhatsApp o cualquier canal
Enviar confirmaciones y recordatorios personalizados automáticamente
Sincronizar con Google Calendar, Notion, HubSpot o cualquier CRM
Generar facturas automáticamente después de cada cita
Crear dashboards en tiempo real con las métricas de tu negocio
Hacer seguimiento post-cita con encuestas o mensajes de fidelización
Y todo esto sin escribir una sola línea de código. Solo workflows visuales en n8n conectados a la API de Easy!Appointments.
El truco con la API: usa la IA para generar los endpoints
Easy!Appointments tiene una documentación Swagger/OpenAPI completa. Esto significa que puedes hacer algo muy potente:
Ve a tu-dominio/index.php/swagger-ui
Descarga el archivo OpenAPI.yml
Dáselo a Claude o a cualquier asistente de IA
Pídele que te genere los nodos HTTP Request de n8n para cada endpoint
En minutos tienes todas tus llamadas API listas para copiar y pegar en n8n. Sin documentación que leer, sin prueba y error.
Tutorial: Conectando Easy!Appointments con n8n (Agente de IA incluido)
Vamos a construir lo que de verdad importa: un sistema donde un agente de IA gestiona las citas de tu negocio a través de Telegram. Exactamente lo mismo que podrías hacer para WhatsApp, un chatbot web o cualquier otro canal.
Arquitectura del sistema
El sistema usa subworkflows — workflows independientes que el agente de IA llama como herramientas. Esto tiene dos ventajas clave:
Modularidad: cada acción (consultar disponibilidad, crear cita, ver agenda) es un workflow independiente que puedes probar y mejorar por separado
Extensibilidad: además de la acción con Easy!Appointments, cada subworkflow puede enviar notificaciones, actualizar un CRM, registrar logs o cualquier otra cosa
Paso 1: Configurar las credenciales en n8n
La API de Easy!Appointments usa Basic Authentication. Necesitas enviar el header Authorization con cada petición.
Crea una credencial de tipo Header Auth
Nombre del header: Authorization
Valor: Basic + tu token en Base64 (usuario:contraseña codificado)
O puedes usar una credencial de tipo HTTP Basic Auth directamente. Ambas funcionan.
Paso 2: El Agente de IA (workflow principal)
Telegram Trigger: escucha mensajes entrantes
AI Agent (nodo de n8n): el cerebro del sistema
Herramientas del agente: los subworkflows que puede llamar
Respuesta por Telegram: envía la respuesta al usuario
Paso 3: Subworkflow — Consultar Servicios y Proveedores
Trigger: “When executed by another workflow”
HTTP Request GET /services: obtiene todos los servicios
HTTP Request GET /providers: obtiene todos los proveedores
Merge: combina ambas listas en una respuesta
Paso 4: Subworkflow — Consultar Disponibilidad
Trigger con campos de entrada: serviceId (number), providerId (number), date (string)
HTTP Request GET /availabilities: consulta la disponibilidad por servicio y profesional en una fecha concreta
Errores comunes a evitar:
El formato de fecha debe ser yyyy-MM-ddsin hora. Si le pasas la hora, la API devuelve error
Los IDs deben ser numbers, no strings. Si defines el campo como texto en el trigger, recibirás un error de tipo specs string, received number
Paso 5: Subworkflow — Consultar Agenda
Trigger con campos: providerId (number), startDate (string), endDate (string)
HTTP Request GET /appointments: devuelve las citas del profesional en un rango de fechas
Paso 6: Subworkflow — Crear Cita (el más complejo)
Buscar cliente (HTTP Request GET): busca por teléfono en la API
Nodo IF: ¿el cliente existe? → Sí: usar ID existente / No: crear cliente nuevo
Crear cita (HTTP Request POST /appointments): con todos los datos
Paso 7: Extender con notificaciones y más
Enviar confirmación por Telegram/WhatsApp al cliente
Notificar al profesional por email o mensaje
Registrar en un CRM (HubSpot, Notion, Google Sheets…)
Enviar recordatorio 24h antes con un Cron + workflow adicional
Generar factura automáticamente
Actualizar un dashboard en tiempo real
Casos de Uso Reales
Peluquería o centro de estética
Múltiples estilistas (proveedores), múltiples servicios (corte, color, tratamiento). Los clientes reservan por WhatsApp con un agente que verifica disponibilidad en tiempo real y crea la cita automáticamente.
Consultoría o coaching
Sesiones individuales con diferentes duraciones y precios. El sistema verifica disponibilidad, crea la cita y envía un enlace de Zoom generado automáticamente.
Centro educativo
Tutorías con diferentes profesores y materias. Padres y alumnos reservan por un chatbot web embebido en la página del centro.
Cualquier negocio con citas
Dentistas, abogados, nutricionistas, mecánicos, fotógrafos… si tu negocio funciona con citas, Easy!Appointments + n8n puede gestionarlas.
Preguntas Frecuentes
¿Necesito saber programar?
Para la instalación básica con Docker, no. Para la integración con n8n, necesitas entender los conceptos de workflows y API REST, pero no necesitas escribir código como tal. n8n es visual y los nodos HTTP Request son configurables sin programar.
¿Puedo migrar desde Calendly/Cal.com/TidyCal?
Sí. Al tener API REST completa, puedes exportar tus datos de la herramienta anterior e importarlos a Easy!Appointments mediante llamadas API o incluso un workflow de n8n que haga la migración automáticamente.
¿Y si necesito cobrar las citas?
Easy!Appointments no tiene pagos integrados nativamente, pero puedes conectar Stripe o cualquier pasarela de pago a través de n8n. El flujo sería: cliente reserva → n8n genera link de pago → cliente paga → n8n confirma la cita.
Conclusión: La Decisión Más Inteligente para tu Negocio
Easy!Appointments resuelve el núcleo del problema (gestión de citas multi-proveedor, multi-servicio, con datos propios) y lo que las SaaS no tienen (automatizaciones avanzadas, IA, notificaciones multicanal) lo cubres con n8n, que también es open source y autoalojable.
La combinación Easy!Appointments + n8n no es solo una alternativa a Cal.com o TidyCal. Es una categoría diferente. Es tu sistema, con tus datos, con tus reglas, conectado con IA y capaz de hacer cosas que las herramientas SaaS ni siquiera contemplan.
¿El precio de todo esto? Un VPS de 5€/mes. Eso es todo.
Easy!Appointments + n8n
Cal.com Teams
TidyCal Pro
Coste mensual (5 usuarios)
~5€ (solo servidor)
75€/mes
12€/mes (sin equipo real)
Coste anual
~60€
900€
144€
Coste a 3 años
~180€
2.700€
432€
Control de datos
Total
Parcial
Ninguno
Automatización con IA
Ilimitada
Limitada al trigger
Casi inexistente
Personalización
Total
Media
Mínima
La decisión es tuya. Pero los números hablan solos.
¿Quieres ver el paso a paso en vídeo? En la clase completa te muestro cómo montar todo el sistema desde cero, incluyendo el agente de IA con Telegram y todas las automatizaciones con n8n.
Aprende a crear Agentes de IA con N8N con este curso de Cero a Experto
¡Usa el cupón IG15 para un descuento del 15% ahora!
Para ofrecer las mejores experiencias, utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. El consentimiento de estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional
Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas.
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos.El almacenamiento o acceso técnico que se utiliza exclusivamente con fines estadísticos anónimos. Sin un requerimiento, el cumplimiento voluntario por parte de tu proveedor de servicios de Internet, o los registros adicionales de un tercero, la información almacenada o recuperada sólo para este propósito no se puede utilizar para identificarte.
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en una web o en varias web con fines de marketing similares.