- Calendar integrations — conecta un proveedor externo de programación (Acuity Scheduling, Cal.com, Calendly, eTermin, HighLevel) una sola vez, asígnalo a un asistente, y el asistente obtiene automáticamente herramientas de reserva en cada llamada. Google Calendar y Outlook se conectan en el mismo sitio, pero alimentan la sincronización de calendario del motor integrado en lugar de la reserva durante la llamada — consulta la nota debajo de la tabla.
- El motor de reservas integrado — define tus propios tipos de evento con disponibilidad semanal y obtén una página de reserva pública e incrustable en
/book/{workspace}/{slug}, correos de invitación ICS y una integraciónnativecontra la que tus asistentes pueden reservar. No se necesita ninguna cuenta externa. Consulta Calendario integrado para ver el panorama completo.
Proveedores de un vistazo
booking_mode de la integración en link — el asistente entonces acuerda una hora aproximada con quien llama y envía un enlace de programación de un solo uso por SMS o correo (link_channel) en lugar de reservar directamente. Las integraciones que topan con la restricción de plan de pago durante la llamada se marcan con el estado link_mode.Conectar una integración
Ve a Booking → Integrations y elige la tarjeta de un proveedor:
Integraciones de reservas — elige tu calendario o servicio de programación
- Cal.com
- Calendly
- Acuity Scheduling
- eTermin
- HighLevel
- Google / Outlook
- Native
Asignar a un asistente

Settings del asistente → Tools → Calendar integrations: selecciona Connect a calendar para asignar una integración de reservas a este asistente.
PUT /api/v1/assistants/{id}/integrations). Cada integración asignada añade sus propias herramientas de reserva a cada llamada:
check_availability y book_appointment. Las herramientas de gestión solo se añaden donde el proveedor las admite: Calendly (buscar y cancelar), Acuity y Cal.com (buscar, cancelar y reprogramar, según los interruptores que hayas definido), y el motor integrado, que añade un conjunto común a todo el espacio de trabajo. Cal.com y el motor integrado identifican a quien llama primero por número de teléfono y recurren al correo más el nombre completo como respaldo; en los eventos de Cal.com con plazas, solo se cancela o mueve la plaza de quien llama. Los calendarios de eTermin y HighLevel por ahora solo ofrecen disponibilidad y reserva — el asistente puede leer huecos y reservar en ellos, pero no buscar, cancelar ni mover una cita existente durante una llamada. Por eso sus ajustes no ofrecen Cancel ni Reschedule.
Las mismas herramientas funcionan en conversaciones por chat y correo. Allí, el teléfono, el correo y el nombre del contacto solo cuentan como prueba de identidad si el canal confirma un único remitente, por ejemplo WhatsApp o un correo autenticado. En hilos de correo, tickets y chats de grupo, el asistente pide el correo de la reserva y el nombre completo antes de buscar una cita.
Si se asigna más de una integración, los nombres de las herramientas reciben el nombre de la integración como sufijo (por ejemplo, check_availability_sales). Los calendarios externos usan su zona configurada, o la del asistente si no hay un ajuste específico. El motor integrado usa la zona del tipo de evento para disponibilidad, confirmaciones y citas encontradas. Si difiere de la del asistente, las herramientas de voz nombran la ciudad, por ejemplo «Buenos Aires time».
¿Qué zona horaria se aplica?
La zona del espacio de trabajo controla el panel. La del asistente controla la hora actual, variables de tiempo y fechas relativas; una campaña puede sustituir el reloj de la llamada. La del tipo de evento controla disponibilidad semanal y horas locales de las herramientas de reserva por voz. Cada cita encontrada conserva la zona de su tipo de evento. La del invitado se elige en la página pública y se usa en sus correos; las nuevas reservas por voz usan la zona del tipo de evento para los correos. Una reprogramación conserva la zona del invitado ya guardada. El 16 de octubre de 2026,12:00Z equivale a 09:00 en Buenos Aires y 14:00 en Madrid: el mismo instante. Pasa siempre el valor de inicio exacto devuelto por disponibilidad. La API de búsqueda devuelve la zona del tipo de evento separada de la del invitado. El comando CLI es famulor lookup-bookings --phone "+5491100000000".
cancel_appointment y un book_appointment nuevos, o reprograma mediante el enlace de su correo de confirmación de Calendly.Reprogramar o cancelar una cita de Cal.com
Requisitos del espacio de trabajo
- Conecta Cal.com en Reservas → Integraciones, selecciona el tipo de cita y comprueba la zona horaria.
- Activa Cancelar, Reprogramar o ambos en esa conexión. El permiso para reservar es independiente.
- Asigna la conexión en Ajustes del asistente → Herramientas → Integraciones de calendario.
- Configura el Idioma principal y los Idiomas secundarios que necesites. Las preguntas y confirmaciones siguen el idioma de conversación admitido. Los clientes no necesitan conocer nombres de herramientas ni identificadores de reserva.
Qué necesita la persona que llama
Cómo transcurre la conversación
El cliente puede decir simplemente: «Quiero cambiar mi cita». El asistente busca próximas citas del tipo conectado, repite la fecha y la hora y, si encuentra varias, pregunta cuál desea cambiar. Para reprogramar, comprueba los horarios disponibles y pide confirmar la nueva hora. Para cancelar, solicita una confirmación explícita de la cita concreta. El cliente nunca tiene que proporcionar un identificador de reserva. El asistente solo anuncia el éxito después de que Cal.com acepte el cambio. Si no encuentra una cita, solicita el correo y el nombre completo de la reserva sin afirmar que ha cambiado nada. Una cancelación no se puede deshacer. En eventos con plazas individuales, solo se modifica la plaza del participante correspondiente.Preguntas de reserva
Los tipos de evento del motor integrado pueden pedir más que un nombre y un correo electrónico. En el editor de tipo de evento, la sección Preguntas de reserva, debajo de la descripción, permite añadir preguntas personalizadas — texto corto, texto largo, correo electrónico, teléfono, dirección, URL, número, una casilla única, grupo de casillas, grupo de opciones, lista desplegable, selección múltiple, o varias direcciones de correo — cada una con su propia etiqueta, un texto de ejemplo opcional y un interruptor de obligatoriedad. Nombre siempre es obligatorio. Configura Correo y Teléfono como obligatorios u opcionales en las preguntas de reserva. Google Meet y Microsoft Teams siguen exigiendo el correo para la invitación. La página de reservas y el asistente telefónico respetan los mismos requisitos. Cada pregunta recibe un identificador (derivado de su etiqueta, editable) que también sirve como parámetro de URL para precargar la página de reserva pública, por ejemplo?name=Jane+Doe&email=jane@example.com&company=Acme — repite el parámetro o usa una lista separada por comas para un campo de varios valores. Una pregunta también puede marcarse como Deshabilitar el campo si el identificador viene precargado por URL, con lo que se vuelve de solo lectura mientras ese parámetro esté presente — útil cuando una página que incrusta el formulario ya conoce la respuesta.
Los asistentes leen estos requisitos automáticamente, sin necesidad de un prompt adicional: en el motor integrado, check_availability indica en texto llano qué debe recogerse antes de reservar — por ejemplo “To book, collect: full name; email address (user@domain.tld); phone number in E.164 format (e.g. +4915123456789); Company (required, short text)…” (el mensaje continúa con un recordatorio de no confirmar nunca una reserva antes de que la herramienta de reserva tenga éxito) — y book_appointment exige exactamente esos campos, un parámetro por pregunta. Nunca informa de una reserva exitosa a menos que la solicitud subyacente realmente haya tenido éxito. Cal.com siempre requiere el nombre completo; el tipo de evento seleccionado determina si el correo, el teléfono y las respuestas personalizadas son obligatorios. Los demás proveedores externos piden nombre completo y correo electrónico.
Las respuestas personalizadas aparecen en el registro de la reserva — en el panel, bajo answers en GET /api/v1/bookings/{id} y las herramientas MCP get_booking/list_bookings, en los correos de confirmación al invitado y al anfitrión, en la invitación ICS y en cada webhook de reserva (creación, cancelación y reprogramación).
Restricción por plan
Tu plan debe incluir Calendar integrations. Si no está incluido, no puedes crear integraciones.Volver a conectar una conexión caducada
Las conexiones de Google Calendar, Outlook Calendar, Calendly, Acuity Scheduling y HighLevel pueden caducar — la contraseña de la cuenta cambió, se revocó el acceso, o el refresh token almacenado dejó de ser válido. Famulor lo detecta en el momento en que falla una renovación y marca la conexión de inmediato, en lugar de esperar a que falle una reserva.- La fila afectada en Booking → Integrations muestra una insignia ámbar Reconnect required con un motivo breve, y un banner en la parte superior de la pestaña cuenta cuántas conexiones necesitan atención.
- Haz clic en Reconnect (↻) en la fila para volver a iniciar sesión. En Google, Outlook, Calendly y Acuity vuelves a la misma pestaña Booking → Integrations; en HighLevel, el inicio de sesión te devuelve en cambio a Automations → Connections — elige la misma subcuenta que conectaste originalmente, o la reconexión creará una conexión aparte.
- Los calendarios CalDAV/ICS no tienen un flujo OAuth que reiniciar: pulsa Edit en la fila para actualizar la contraseña de aplicación o la URL del feed.
connection_status y needs_reauth, lo que permite supervisar el estado de la conexión de forma programática.
Solución de problemas
Cal.com: «Invalid API key» o los tipos de evento no cargan
Cal.com: «Invalid API key» o los tipos de evento no cargan
cal_live_), y luego vuelve a seleccionar Load event types. Si obtienes un error de autenticación en lugar de una lista vacía, probablemente elegiste el endpoint de API equivocado — una cuenta de Cal.com en la UE necesita el endpoint EU (o Custom para una instancia autoalojada), no el US por defecto.Cal.com: el asistente sigue pidiendo un correo, o la reserva nunca se completa
Cal.com: el asistente sigue pidiendo un correo, o la reserva nunca se completa
book_appointment necesita una dirección de correo válida cuando el tipo de evento de Cal.com seleccionado la establece como obligatoria. Las direcciones dictadas («anna arroba example punto com») y las diéresis alemanas se convierten automáticamente antes de enviar la solicitud, así que la mayoría de direcciones dictadas funcionan; si lo que oyó el asistente sigue sin ser utilizable, se le indica que vuelva a preguntar en lugar de reservar. Cuando el correo sea obligatorio, indícale en el prompt que recoja y confirme la dirección antes de reservar, y que reutilice una dirección que ya tenga como variable de llamada en lugar de preguntarla dos veces.Calendly: «Specified location kind is not configured for this event type»
Calendly: «Specified location kind is not configured for this event type»
Calendly: faltan algunos tipos de evento de equipo
Calendly: faltan algunos tipos de evento de equipo
Plantillas de correos de reservas
La cabecera, el pie, el logotipo y los colores proceden del diseño de correo del espacio o marca blanca. La vista previa muestra solo el asunto y el mensaje editables. En Reservas → Tipos de eventos, crea o edita un tipo y abre Correos de reservas. El editor compacto separa los correos para invitados (confirmación, cancelación, reprogramación y recordatorio) de las notificaciones al anfitrión (nueva reserva, cancelación y reprogramación). El asunto y el mensaje muestran la plantilla estándar real. Consulta el texto en inglés, alemán, francés o español, edítalo, inserta variables en el cursor o abre la Vista previa con datos de ejemplo. Restablecer al estándar restaura el mensaje seleccionado. Los correos estándar siguen el idioma del destinatario; el texto personalizado se envía tal como está escrito. Los campos vacíos usan su valor estándar. Elige una dirección de remitente verificada o el remitente automático. Aplicar cambios vuelve al tipo de evento; Crear o Guardar cambios guarda la configuración. Cancelar en el editor descarta su borrador. Los recordatorios solo se envían si tienen un plazo configurado. Las invitaciones del calendario y sus adjuntos permanecen independientes del texto editable. La API pública y la herramienta MCPget_booking_email_templates devuelven las plantillas y variables sin enviar correos. Las herramientas de creación y actualización de tipos de eventos también permiten guardar textos personalizados.
Formato de hora
Elige 12h o 24h junto a Weekly availability. La selección también se aplica a las variables de hora en las notificaciones del anfitrión y la vista previa del correo. Los invitados conservan el formato elegido en la página pública o integrada para confirmaciones, cancelaciones, cambios y recordatorios. Las reservas anteriores sin preferencia guardada utilizan el formato del tipo de evento. Cambiar el formato no modifica la disponibilidad, las zonas horarias ni los horarios reservados.API y MCP
Todo lo anterior está disponible en la API REST pública y como herramientas de MCP enhttps://<your-domain>/mcp:
connection_status / needs_reauth.
Listar cuentas, tipos de evento, tipos de cita y calendarios de Calendly y Acuity, cargar los tipos de reunión de meetergo y consultar la disponibilidad de meetergo lee cuentas conectadas: una clave API del espacio de trabajo solo necesita integrations:read, mientras que un acceso vinculado a un usuario necesita además el rol de propietario o administrador del espacio de trabajo.
Crear, cambiar, eliminar o asignar integraciones de calendario, conectar Calendly o Acuity y reservar con meetergo requiere un acceso vinculado a un usuario con el rol de propietario o administrador del espacio de trabajo; una clave API del espacio de trabajo recibe 403 para estas acciones.
Los tipos de evento, las conexiones y los registros de reserva del motor integrado se explican en Calendario integrado.
meetergo
En la App Store, elige Agregar conexión en la tarjeta meetergo para crear otra conexión, o Gestionar conexiones para editar una conexión guardada. En Reservas → Integraciones, elige meetergo. Crea un token personal con acceso a la programación en Integraciones → API de meetergo. Introdúcelo, carga los tipos de reunión y selecciona el tipo y la zona horaria. Solo las claves API de plataforma necesitan un ID del usuario que actúa; deja este campo vacío para tokens personales. Guarda la conexión y asígnala a un asistente. Permitir reservas determina si el asistente puede reservar o solo consultar la disponibilidad. La conexión nativa funciona en llamadas y conversaciones de texto. Devuelve horas realmente reservables, teniendo en cuenta la duración y los márgenes. El asistente solicita el nombre completo y el correo electrónico y vuelve a comprobar la hora antes de reservar. Si falta la confirmación del invitado o anfitrión, la reserva se indica como pendiente. Ante un resultado incierto, comprueba el calendario antes de volver a intentarlo. Para reprogramar o cancelar citas, conecta también meetergo MCP en Apps con tu token personal y selecciona las herramientas necesarias. El punto de acceso de programación eshttps://mcp.meetergo.com/mcp; el MCP de documentación solo consulta la documentación. Véase la guía oficial de MCP.
API pública: POST /api/v1/integrations/meetergo/meeting-types para los tipos de reunión y POST /api/v1/integrations/meetergo/action para disponibilidad y reservas. Herramientas MCP: list_meetergo_meeting_types, get_meetergo_availability y book_meetergo_appointment. Usa los puntos de acceso habituales de integraciones y asistentes para guardar y asignar la conexión.