Saltar al contenido
Documentación

Reservar citas de Cal.com o Calendly desde el chat

Deja que los visitantes reserven una cita en el chat desde tu calendario de Cal.com o Calendly: conectar una clave de API o un token de acceso personal, elegir un tipo de evento, qué ven los visitantes, dónde aparecen las reservas y los límites.

Con las reservas activadas, tu agente puede mostrar bajo su respuesta horas libres de tu calendario de Cal.com o Calendly. El visitante elige una hora, introduce su nombre y su correo, y la cita se reserva al momento en tu calendario. El agente decide cuándo mostrar las horas. Las horas siempre salen de tu calendario, nunca del modelo de IA.

Antes de empezar

Necesitas una cuenta con al menos un tipo de evento, como una llamada de presentación de 30 minutos, y una clave que permita a intoCHAT usarla:

  • Cal.com: una clave de API. Créala en Cal.com, en Settings, Developer, API keys. Empieza por cal_.
  • Calendly: un token de acceso personal. Créalo en Calendly, en Integrations, API & Webhooks, Personal access tokens. Dale los permisos (scopes) users:read, event_types:read, availability:read y scheduled_events:write. Calendly muestra el token una sola vez, así que cópialo enseguida.

Conectar tu calendario

  1. Abre tu agente y ve a la pestaña Actions (acciones). La tarjeta Booking está debajo de tus acciones y formularios.
  2. En Calendar, elige Cal.com o Calendly.
  3. Pega la clave en Cal.com API key, o el token en Personal access token, y haz clic en Connect. intoCHAT lo comprueba cargando tus tipos de evento.
  4. Elige el tipo de evento en Event type visitors book (tipo de evento que reservan los visitantes). Cada uno muestra su título y su duración. Un tipo de evento marcado como «(hidden in Cal.com)» o «(secret in Calendly)» está oculto en tu página pública de reservas, pero los visitantes pueden reservarlo igualmente desde el chat. Un tipo de evento de Calendly marcado como «(can't be booked from the chat)» no se puede elegir; el motivo aparece debajo de la lista. Consulta Tipos de evento de Calendly que el chat no puede reservar.
  5. Si quieres, rellena When to offer booking (cuándo ofrecer reservas): lo lee el agente, los visitantes no lo ven, hasta 1.000 caracteres. Si lo dejas vacío, el agente usa el texto que aparece en el campo: «When the visitor wants to book a meeting, call, demo or appointment, or asks when the team is available.»
  6. Haz clic en Save. Las reservas se activan en cuanto se guardan.

La clave o el token se guarda cifrado y no se vuelve a mostrar. La tarjeta solo muestra una clave de Cal.com como cal_… y sus cuatro últimos caracteres, y un token de Calendly solo como … y sus cuatro últimos caracteres. intoCHAT lo usa para leer tus tipos de evento y tus horas libres y para crear reservas, nada más.

Si Cal.com rechaza la clave, la tarjeta dice «Cal.com didn't accept this API key.» Si Calendly rechaza el token, dice «Calendly didn't accept this personal access token.» Comprueba que copiaste la clave o el token completo y que no ha caducado, no se ha revocado ni se ha borrado. Si al token le falta un permiso, la tarjeta indica los permisos que necesita. Si la cuenta aún no tiene tipos de evento, crea uno y vuelve a hacer clic en Connect. Puedes comprobar claves hasta 10 veces en 10 minutos.

Tipos de evento de Calendly que el chat no puede reservar

El chat solo pide al visitante un nombre y un correo. Un tipo de evento de Calendly no se puede reservar desde el chat cuando:

  • tiene una pregunta de reserva activada y obligatoria,
  • solo ofrece ubicaciones que piden algo al invitado, como el número de teléfono del invitado para que tú lo llames o un lugar que elige el invitado,
  • es una encuesta de reunión (meeting poll).

Se pueden reservar los tipos de evento con videollamada (Zoom, Google Meet, Microsoft Teams, Webex, GoTo Meeting), con un número de teléfono al que llama el invitado, con un lugar que fijas tú o sin ninguna ubicación. Cuando un tipo de evento ofrece varias ubicaciones, intoCHAT reserva la primera de estas. Las preguntas de reserva opcionales quedan vacías.

Gestionar las reservas

Cuando hay un calendario conectado, la tarjeta muestra el calendario, los cuatro últimos caracteres de la clave o el token y el tipo de evento.

  • El interruptor On / Off de la cabecera de la tarjeta hace que el agente deje de ofrecer reservas, sin desconectar.
  • When to offer booking se puede cambiar en cualquier momento. Haz clic en Save para guardar el cambio.
  • Change event type vuelve a cargar tus tipos de evento y cambia al que elijas. Un agente reserva un solo tipo de evento a la vez.
  • Replace key (Cal.com) o Replace token (Calendly) conecta con una clave o un token nuevo. Ahí también puedes elegir el otro calendario. Si la tarjeta dice que la clave o el token guardado ya no se puede leer y que por eso los visitantes no pueden reservar, el botón se llama Reconnect: vuelve a pegarlo.
  • Disconnect detiene las reservas y borra la clave o el token guardado. Las citas ya reservadas siguen en tu calendario y en la lista Bookings de la pestaña Leads.

Qué ven los visitantes

El agente lee When to offer booking. Cuando la conversación encaja, muestra horas libres bajo su respuesta y las menciona en una frase breve. No enumera las horas en su texto, no pide el nombre ni el correo del visitante en el chat y nunca dice que una cita está reservada antes de que el visitante la reserve.

El selector de horas muestra el título y la duración del tipo de evento, y la zona horaria del visitante, por ejemplo «Horas en Europe/Madrid»:

  • Muestra hasta 5 días con horas libres y hasta 8 horas por día, repartidas a lo largo del día para que aparezcan tanto mañanas como tardes.
  • Por defecto, el agente mira los 7 días siguientes. Cuando el visitante pide días concretos, mira esos, hasta 14 días a la vez y hasta un año por delante.
  • Las horas están en la zona horaria del navegador del visitante, o en UTC si el navegador no indica ninguna. Se escriben como el navegador del visitante escribe las fechas y las horas.

Para reservar, el visitante elige un día y una hora, introduce «Nombre» y «Correo electrónico» y hace clic en «Reservar». «Elegir otra hora» vuelve a la lista. Justo antes de reservar, intoCHAT vuelve a preguntar a tu calendario si la hora sigue libre. Si otra persona la ha cogido mientras tanto, el visitante ve «Esa hora se acaba de reservar. Elija otra, por favor.» y la hora desaparece de la lista.

Una vez reservada la cita, se añade al chat una confirmación como mensaje del agente, por ejemplo «Reservado: Llamada de presentación, el martes, 13 de octubre de 2026, 14:30 (Europe/Madrid). Debería recibir una confirmación en ana@example.com.» Si tu tipo de evento de Cal.com requiere que confirmes las reservas, empieza en su lugar por «Solicitado:» y dice que la cita aún debe confirmarse. Cal.com o Calendly envía sus correos e invitaciones de calendario habituales. intoCHAT no envía al visitante ningún correo propio.

El texto del selector sigue el Widget language de la pestaña Appearance. El título del tipo de evento aparece tal como lo escribiste en Cal.com o Calendly. Después de recargar, un selector cuya hora se reservó muestra «Se reservó una cita en este chat.»

Si el calendario no tiene horas libres en los días pedidos, el agente lo dice y puede ofrecer mirar otros días. Si no se puede contactar con tu calendario, el agente dice que las reservas no funcionan en este momento. Nunca se inventa horas.

Las reservas funcionan en la burbuja de chat, el iframe en la página, el enlace directo, la página de ayuda y el Playground. No se ofrecen en los chats temporales, porque en ellos no se guarda nada. Si un visitante quiere reservar desde uno, el agente le pide que salga del chat temporal y vuelva a preguntar.

Las reservas desde el Playground son reales

Dónde aparecen las reservas

  • Pestaña Leads: la tarjeta Bookings lista cada cita reservada desde el chat, con el nombre, el correo y la zona horaria del visitante, y un enlace a la conversación. Consulta Avisos y exportación.
  • Pestaña Conversations: la confirmación aparece en la transcripción como un mensaje del agente. Bajo la respuesta que mostró las horas, Why this answer incluye «Booking:» seguido del título del tipo de evento en Actions called. En la exportación CSV, el mensaje de esa respuesta termina con [Booking times: y el título del tipo de evento. Consulta Conversaciones y datos.
  • Webhooks: suscribe un webhook a Meeting booked para recibir el evento booking.created. Su provider es calcom o calendly. Consulta Webhooks.
  • Slack: marca Booked meeting en Post a message for en la tarjeta Slack alerts. Consulta Avisos en Slack.

Límites

  • Cal.com o Calendly, un calendario y un tipo de evento por agente.
  • Calendly necesita un plan de pago (Standard y superiores) para reservar a través de su API. Calendly también limita cuántas reservas acepta su API: en los planes de pago distintos de Enterprise, 10 por minuto, 50 por hora y 100 por día por usuario de Calendly; durante una prueba de Calendly, 5 por día. Por encima de eso, los visitantes ven «Demasiados intentos. Espere un momento, por favor.»
  • No se sincroniza nada de vuelta desde tu calendario. Si una cita se cambia de hora o se cancela en Cal.com o Calendly, la lista Bookings y la conversación siguen mostrando la reserva original. Los visitantes no pueden cancelar ni cambiar la hora desde el chat; eso se hace en Cal.com o Calendly.
  • Una reserva no es un lead. El nombre y el correo del visitante no añaden un lead, y una reserva no envía ningún aviso de lead ni el webhook lead.created. Las reservas no se cuentan en Outcomes del panel ni en los correos de resumen.
  • Solo conversaciones guardadas. Una reserva siempre pertenece a una conversación guardada, así que en los chats temporales no se puede reservar.
  • Intentos. Un visitante puede intentar reservar hasta 5 veces por minuto. Después ve «Demasiados intentos. Espere un momento, por favor.»
  • Una reserva por hora. La misma hora no se puede reservar dos veces en una conversación; un segundo clic muestra la primera reserva. En la misma conversación se pueden reservar otras horas.
  • Mensajes. La respuesta que muestra las horas cuenta como un mensaje, como cualquier respuesta. Reservar la hora no consume ningún mensaje.
  • Los agentes duplicados no copian la conexión con el calendario. Vuelve a conectar Cal.com o Calendly en la copia si debe ofrecer reservas.
  • Cambiar el tipo de evento no cambia las citas ya reservadas. La lista Bookings conserva el título con el que se reservó cada cita, también después de Disconnect.

Siguientes pasos

Ver como Markdown