Easy!Appointments + n8n: La Guía Definitiva del Sistema de Citas Open Source que Aplasta a TidyCal y Cal.com
Índice
- 1 Imagina esto: un sistema de citas 100% tuyo, gratis para siempre y conectado con IA
- 2 ¿Qué es Easy!Appointments?
- 3 Easy!Appointments vs TidyCal vs Cal.com: La Comparativa Honesta
- 4 Por Qué Easy!Appointments + n8n es la Combinación Definitiva
- 5 Tutorial: Conectando Easy!Appointments con n8n (Agente de IA incluido)
- 5.1 Arquitectura del sistema
- 5.2 Paso 1: Configurar las credenciales en n8n
- 5.3 Paso 2: El Agente de IA (workflow principal)
- 5.4 Paso 3: Subworkflow — Consultar Servicios y Proveedores
- 5.5 Paso 4: Subworkflow — Consultar Disponibilidad
- 5.6 Paso 5: Subworkflow — Consultar Agenda
- 5.7 Paso 6: Subworkflow — Crear Cita (el más complejo)
- 5.8 Paso 7: Extender con notificaciones y más
- 6 Casos de Uso Reales
- 7 Preguntas Frecuentes
- 8 Conclusión: La Decisión Más Inteligente para tu Negocio
- 9 Aprende a crear Agentes de IA con N8N con este curso de Cero a Experto
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
# docker-compose.yml básico para Easy!Appointments
version: '3'
services:
easyappointments:
image: alextselegidis/easyappointments:latest
ports:
- "8080:8080"
environment:
- DB_HOST=db
- DB_NAME=easyappointments
- DB_USERNAME=root
- DB_PASSWORD=tu_password
depends_on:
- db
db:
image: mysql:8.0
environment:
- MYSQL_ROOT_PASSWORD=tu_password
- MYSQL_DATABASE=easyappointments
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
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
- Autoalojamiento complejo: requiere conocimientos técnicos considerables (Node.js, PostgreSQL, configuración avanzada)
- 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)
- Trigger con campos:
phone(string),fromId(string),startDate(string),serviceId(number),providerId(number) - 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!
