Cal.com
Cal.com es la alternativa open-source a Calendly. Permite a tus clientes agendar citas contigo automáticamente, sincroniza con tus calendarios y elimina el ir y venir de "¿a qué hora puedes?".
Para qué sirve
- Agendamiento automático - Tus clientes eligen horario disponible sin llamadas ni mensajes
- Sincronización de calendarios - Conecta Google Calendar, Outlook, Apple Calendar
- Equipos y round-robin - Distribuye citas entre varios agentes automáticamente
- Pagos al agendar - Cobra por consultas o servicios con Stripe integrado
- Recordatorios automáticos - Reduce no-shows con emails y SMS antes de la cita
Casos de uso comunes
Consultores y coaches
- Sesiones de mentoría con pago anticipado
- Llamadas de descubrimiento gratis de 15 min
- Diferentes tipos de cita según servicio
Clínicas y profesionales de salud
- Citas médicas con formulario previo
- Diferentes duraciones por tipo de consulta
- Integración con sistema de pacientes
Ventas y demos
- Llamadas de demostración con leads
- Round-robin entre equipo de ventas
- Formularios de calificación antes de la cita
Servicios profesionales
- Consultorías legales, contables, de diseño
- Diferentes tarifas por tipo de sesión
- Calendarios separados por servicio
Primeros pasos
1. Accede a tu Cal.com
Después de crear tu deployment, ve a:
https://tu-subdominio.deployalo.com
2. Crea tu cuenta de administrador
- En la primera visita verás el wizard de configuración
- Ingresa tu nombre, email y contraseña
- Configura tu zona horaria
- ¡Listo! Ya tienes tu instancia
3. Configura tu disponibilidad
- Ve a Availability en el menú lateral
- Define tus horarios de trabajo:
- Días de la semana disponibles
- Horas de inicio y fin
- Tiempo buffer entre citas
- Guarda tu configuración
4. Crea tu primer tipo de evento
- Clic en Event Types → + New
- Configura:
- Título: "Llamada de 30 minutos"
- Duración: 30 minutos
- URL:
/llamada-30
- Guarda y activa el evento
5. Comparte tu link
Tu link de agendamiento es:
https://tu-subdominio.deployalo.com/tu-usuario/llamada-30
Tipos de eventos
Evento uno a uno
El más común. Un cliente agenda contigo directamente.
Configuraciones importantes:
- Duración: Tiempo de la reunión
- Buffer antes/después: Tiempo para prepararte
- Mínimo de anticipación: Cuánto antes pueden agendar
- Límite futuro: Hasta cuántas semanas adelante
Evento round-robin (equipos)
Las citas se distribuyen entre varios miembros del equipo.
- Ve a Teams → Crea un equipo
- Invita miembros
- Crea un Event Type del equipo
- Elige estrategia:
- Round robin: Rotar entre miembros
- Collective: Todos deben estar disponibles
- Fixed hosts: Asignar a persona específica
Evento de grupo
Múltiples personas agendan en el mismo slot (webinars, clases).
Integraciones de calendario
Google Calendar
- Ve a Integrations → Calendar
- Clic en Google Calendar → Connect
- Autoriza el acceso
- Selecciona el calendario para verificar disponibilidad
Microsoft Outlook
- Ve a Integrations → Calendar
- Clic en Microsoft 365 → Connect
- Autoriza con tu cuenta de Microsoft
- Selecciona calendarios
Apple Calendar (iCloud)
- Ve a Integrations → Calendar
- Clic en Apple Calendar
- Genera una contraseña específica en iCloud
- Ingresa credenciales
Videollamadas
Cal.com puede crear links de videollamada automáticamente.
Google Meet
- Ve a Integrations → Conferencing
- Conecta tu cuenta de Google
- En cada Event Type, selecciona "Google Meet" como ubicación
Zoom
- Ve a Integrations → Conferencing
- Clic en Zoom → Connect
- Autoriza la app
- Selecciona Zoom como ubicación en tus eventos
Microsoft Teams
- Conecta tu cuenta de Microsoft 365
- Selecciona Teams como ubicación
Pagos con Stripe
Cobra por tus servicios al momento de agendar.
Conectar Stripe
- Ve a Integrations → Payment
- Clic en Stripe → Connect
- Completa el onboarding de Stripe
Configurar precio
- Edita un Event Type
- En la sección Payment, activa pagos
- Ingresa el precio
- Elige la moneda (MXN disponible)
Para servicios gratuitos, crea un Event Type sin pagos. Para pagados, crea otro Event Type con precio configurado.
Formularios y campos
Recolecta información antes de la cita.
Agregar campos
- Edita el Event Type
- Ve a la sección Additional questions
- Agrega campos:
- Texto corto/largo
- Número
- Teléfono
- Checkbox
- Dropdown
Campos obligatorios
Marca los campos como Required para que sean obligatorios.
Recordatorios y notificaciones
Workflows automáticos
- Ve a Workflows → + New
- Elige trigger:
- Antes de la cita (1h, 24h, etc.)
- Después de la cita
- Al cancelar/reprogramar
- Configura la acción:
- Enviar email
- Enviar SMS (requiere Twilio)
Personalizar mensajes
Usa variables en los templates:
{ATTENDEE_NAME}- Nombre del cliente{EVENT_DATE}- Fecha de la cita{EVENT_TIME}- Hora de la cita{LOCATION}- Link de la reunión
Embed en tu sitio web
Widget flotante
Agrega un botón que abre Cal.com en un popup:
<!-- Agrega esto antes de </body> -->
<script src="https://tu-subdominio.deployalo.com/embed/embed.js"></script>
<button data-cal-link="tu-usuario/llamada-30">
Agenda una cita
</button>
Inline embed
Muestra el calendario directamente en tu página:
<div id="cal-embed"></div>
<script src="https://tu-subdominio.deployalo.com/embed/embed.js"></script>
<script>
Cal("inline", {
elementId: "cal-embed",
calLink: "tu-usuario/llamada-30"
});
</script>
Webhooks
Recibe notificaciones cuando ocurren eventos.
Configurar webhook
- Ve a Settings → Developer → Webhooks
- Clic en + New
- Ingresa URL de destino
- Selecciona eventos:
BOOKING_CREATEDBOOKING_CANCELLEDBOOKING_RESCHEDULED
Integrar con n8n
- En n8n, crea un Webhook trigger
- Copia la URL del webhook
- En Cal.com, crea webhook apuntando a esa URL
- ¡Listo! Ahora puedes automatizar acciones con cada cita
API
Cal.com tiene una API REST completa.
Obtener API key
- Ve a Settings → Developer → API keys
- Clic en + New API key
- Guarda la key de forma segura
Endpoints útiles
# Listar tipos de evento
GET /api/v1/event-types
# Listar bookings
GET /api/v1/bookings
# Crear booking
POST /api/v1/bookings
Preguntas frecuentes
¿Puedo tener múltiples usuarios?
Sí, puedes invitar a tu equipo y cada uno tendrá su propio perfil y calendario.
¿Funciona con mi dominio personalizado?
Sí, configura un dominio personalizado desde el panel de Deployalo.
¿Puedo personalizar los colores?
Sí, en Settings → Appearance puedes cambiar colores, logo y tema.
¿Cómo evito citas spam?
- Activa campos obligatorios
- Usa verificación de email
- Configura tiempo mínimo de anticipación
- Considera cobrar un depósito
¿Puedo bloquear ciertos horarios?
Sí, en Availability puedes agregar excepciones (vacaciones, días festivos).