Easy!Appointments + n8n: La Guía Definitiva del Sistema de Citas Open Source que Aplasta a TidyCal y Cal.com

easyappointment-n8n

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.

Agente de IA n8n con EasyAppointment

¿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.

Agente de IA n8n con EasyAppointment

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!AppointmentsTidyCalCal.com
PrecioGratis (self-hosted)29$ lifetime / 19$/mes ProGratis (1 usuario) / 15$/usuario/mes
Open SourceSí (GPL)NoSí (parcialmente)
Self-hostedNoSí (complejo)
Tus datos100% tuyosEn sus servidoresDepende del plan
Multi-proveedorSí, ilimitadoSolo en plan Agency/ProSí, de pago
API RESTCompleta con SwaggerLimitadaSí (v2)
WebhooksNo nativos
Nodo nativo n8nNo (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ásicasTidyCal29$ y a olvidarte
Equipo pequeño que quiere SaaSCal.comBuena UX, nodo n8n nativo
Negocio que quiere control totalEasy!AppointmentsGratis, self-hosted, API completa
Cualquiera que quiera automatizar con IAEasy!Appointments + n8nFlexibilidad absoluta

Agente de IA n8n con EasyAppointment

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:

  1. Ve a tu-dominio/index.php/swagger-ui
  2. Descarga el archivo OpenAPI.yml
  3. Dáselo a Claude o a cualquier asistente de IA
  4. 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.

Agente de IA n8n con EasyAppointment

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:

  1. Modularidad: cada acción (consultar disponibilidad, crear cita, ver agenda) es un workflow independiente que puedes probar y mejorar por separado
  2. 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.

  1. Crea una credencial de tipo Header Auth
  2. Nombre del header: Authorization
  3. 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)

  1. Telegram Trigger: escucha mensajes entrantes
  2. AI Agent (nodo de n8n): el cerebro del sistema
  3. Herramientas del agente: los subworkflows que puede llamar
  4. Respuesta por Telegram: envía la respuesta al usuario

Paso 3: Subworkflow — Consultar Servicios y Proveedores

  1. Trigger: “When executed by another workflow”
  2. HTTP Request GET /services: obtiene todos los servicios
  3. HTTP Request GET /providers: obtiene todos los proveedores
  4. Merge: combina ambas listas en una respuesta

Paso 4: Subworkflow — Consultar Disponibilidad

  1. Trigger con campos de entrada: serviceId (number), providerId (number), date (string)
  2. 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-dd sin 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

  1. Trigger con campos: providerId (number), startDate (string), endDate (string)
  2. HTTP Request GET /appointments: devuelve las citas del profesional en un rango de fechas

Paso 6: Subworkflow — Crear Cita (el más complejo)

  1. Trigger con campos: phone (string), fromId (string), startDate (string), serviceId (number), providerId (number)
  2. Buscar cliente (HTTP Request GET): busca por teléfono en la API
  3. Nodo IF: ¿el cliente existe? → Sí: usar ID existente / No: crear cliente nuevo
  4. 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 + n8nCal.com TeamsTidyCal Pro
Coste mensual (5 usuarios)~5€ (solo servidor)75€/mes12€/mes (sin equipo real)
Coste anual~60€900€144€
Coste a 3 años~180€2.700€432€
Control de datosTotalParcialNinguno
Automatización con IAIlimitadaLimitada al triggerCasi inexistente
PersonalizaciónTotalMediaMí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!

Artículos relacionados

Dto nuevo cliente

Consigue un 15% de descuento en tu primera compra

Lo recibirás inmediatamente en tu correo.

No enviamos SPAM