# Programación con Cal.com

Deja que los encuestados elijan y reserven una cita de Cal.com sin salir de tu formulario.

## Programación con Cal.com

Añade una pregunta nativa de Programar cita, conecta Cal.com, y deja que los encuestados reserven un horario disponible dentro del formulario.

> ℹ️ **Disponible en todos los planes**
> <p>La programación con Cal.com está disponible en los planes Free, Pro y Business.</p>

<h2 id="native-workflow">Qué significa la programación nativa</h2>

<p>
  Programar cita es una pregunta de Formstep, no un iframe. Usa el tema y el idioma de tu formulario, participa en la lógica condicional, y
  registra los detalles de la reserva confirmada junto con la respuesta. Cal.com aporta los tipos de evento, la disponibilidad, las
  invitaciones de calendario y los enlaces de la reunión.
</p>

<ul>
  <li>Muestra u oculta la programación según respuestas anteriores.</li>
  <li>Exige que toda pregunta de Programar cita visible tenga una reserva antes de enviar el formulario.</li>
  <li>Rellena el nombre y el correo del asistente a partir de preguntas anteriores.</li>
  <li>Muestra las fechas y horas disponibles en la zona horaria del encuestado.</li>
  <li>Incluye los detalles de la reserva en las vistas de respuestas, PDFs, notificaciones, exportaciones e integraciones.</li>
</ul>

<h2 id="connect">Conectar Cal.com</h2>

<p>
  También puedes conectar cuentas desde <strong>Espacio de trabajo → Integraciones → Programación → Cal.com</strong>. Las conexiones
  pertenecen al espacio de trabajo, así que los miembros del espacio de trabajo pueden reutilizarlas en otros formularios y conectar cuentas
  adicionales de Cal.com.
</p>

<h2 id="configure">Configurar la pregunta</h2>

<p>
  Si no hay campos mapeados, los encuestados introducen su nombre y correo en la pregunta de programación. Cuando hay campos mapeados, sus
  respuestas pasan automáticamente a los detalles de la reserva.
</p>

<h2 id="respondent-experience">Experiencia del encuestado</h2>

<ol>
  <li>
    El encuestado elige una fecha y luego una hora disponible. Las horas se muestran en la zona horaria que informa su navegador; puede
    elegir otra en la lista <strong>Zona horaria</strong>, y la reserva usa la que haya elegido.
  </li>
  <li>
    Confirma el nombre y el correo del asistente, y luego pulsa <strong>Reservar</strong>.
  </li>
  <li>Cal.com crea la reserva y envía su confirmación e invitación de calendario habituales.</li>
  <li>
    Formstep le muestra la reserva como <strong>Qué</strong>, <strong>Cuándo</strong>, <strong>Quién</strong>, y <strong>Dónde</strong>, con
    el enlace de la reunión.
  </li>
  <li>
    Antes de enviar, puede pulsar <strong>Cancelar reserva</strong> y elegir otro horario.
  </li>
</ol>

> ℹ️ **La reserva ocurre antes de enviar el formulario**
> <p>
>     Cal.com confirma la cita cuando el encuestado hace clic en Reservar. La reserva se asocia después a la respuesta del formulario cuando
>     lo envía. Hasta entonces la cita existe en el calendario del anfitrión aunque el encuestado abandone el formulario. En un enlace
>     público, Formstep la libera de nuevo si el formulario sigue sin enviarse 24 horas después de la reserva; en una solicitud, cuando la
>     solicitud se cancela o caduca. También se libera cuando eliminas la respuesta o el formulario.
>   </p>

<p>
  Si otra persona ocupa una hora entre que se muestra y se reserva, el encuestado lo sabe y ve las horas que siguen libres. Si un intento de
  reserva falla a medias, Formstep cancela la entrada de calendario que creó en lugar de dejar al anfitrión una reserva que el formulario no
  conoce, y un segundo dispositivo no puede reservar dos veces la misma pregunta.
</p>

<h2 id="logic">Usar la programación con lógica</h2>

<p>
  La lógica puede mostrar u ocultar Programar cita como cualquier otra pregunta. Ejemplo: pregunta si un lead tiene presupuesto y autoridad;
  revela la reserva solo cuando ambas respuestas califican.
</p>

<p>
  Una pregunta de Programar cita visible debe tener una reserva confirmada antes del envío. Una oculta no bloquea el envío. En cuanto un
  encuestado reserva, se bloquean las respuestas que deciden si la pregunta se muestra, para que una respuesta posterior no oculte la
  reserva por accidente; para cambiar una, primero cancela la reserva. Si la pregunta queda oculta al enviar el formulario de todos modos,
  por ejemplo porque una regla de ramificación omitió su página, esa reserva se cancela en Cal.com para que el calendario del anfitrión
  coincida con la respuesta.
</p>

<h2 id="publish-checks">Comprobaciones de publicación</h2>

<p>La publicación se bloquea mientras a una pregunta de Programar cita le falte alguna mitad de su configuración:</p>

<ul>
  <li>
    <strong>Conecta Cal.com antes de publicar formularios que programan citas.</strong> — hay un tipo de evento seleccionado pero ninguna
    cuenta.
  </li>
  <li>
    <strong>Selecciona un tipo de evento antes de publicar esta pregunta de Programar cita.</strong> — hay una cuenta seleccionada pero
    ningún tipo de evento.
  </li>
  <li>
    <strong>Completa la configuración de esta pregunta de Programar cita antes de publicar.</strong> — no hay ninguno de los dos
    seleccionado.
  </li>
</ul>

<p>
  Cada mensaje señala la pregunta que lo causó. En el editor, los mismos tres estados se muestran en la pregunta como las insignias{' '}
  <strong>No conectado</strong>, <strong>Falta el evento</strong>, y <strong>Configurado</strong>.
</p>

<p>
  Un tipo de evento que necesita más que un nombre, un correo y una hora no se puede reservar desde un formulario. Los tipos de evento que
  requieren confirmación, se repiten, tienen plazas, cuestan dinero o hacen preguntas de reserva obligatorias aparecen como{' '}
  <strong>No se puede reservar desde un formulario</strong> y no se pueden seleccionar; un formulario que aún apunte a uno no se puede
  publicar hasta que elijas otro tipo de evento.
</p>

<h2 id="after-booking">Después del envío</h2>

<p>
  Los detalles de la reserva aparecen bajo la pregunta de Programar cita en la tabla de respuestas y en la vista de detalle, con la fecha y
  la hora en tu propio idioma. También están disponibles en los correos de notificación, los PDFs generados, las exportaciones CSV/Excel,
  los webhooks y las integraciones mapeadas. Los webhooks, Zapier, n8n, Make, los callbacks de solicitud y la API reciben la reserva como
  datos: hora de inicio y de fin, zona horaria, asistente, enlace de la reunión, id de reserva de Cal.com y estado. Consulta{' '}
  <a href="/es/developers/webhooks-reference#bookings-and-payments">Reservas y pagos</a>.
</p>

<p>
  Formstep sigue escuchando después del envío. Cuando el encuestado o el anfitrión reprograma o cancela a través de Cal.com, o el anfitrión
  rechaza la reserva o marca una ausencia, la reserva de la respuesta se actualiza: su estado cambia y el texto que se muestra para ella
  empieza por <strong>Reprogramada</strong>, <strong>Cancelada</strong>, <strong>Rechazada</strong> o <strong>Ausencia</strong>. La tabla,
  las exportaciones, la API y los PDFs regenerados muestran el estado actual. Las integraciones no se envían de nuevo: la respuesta en sí no
  cambió.
</p>

<p>
  Eliminar una respuesta, o el formulario completo, cancela sus citas en Cal.com para que el anfitrión no reserve un hueco para respuestas
  que ya no existen.
</p>

> ⚠️ **Editar tras el envío está desactivado**
> <p>
>     Los formularios que contienen preguntas de Pago, Firma o Programar cita no pueden dejar que los encuestados editen sus respuestas
>     después de enviar. Formstep desactiva ese ajuste durante la publicación para que los registros externos de pago, firma y reserva no se
>     desincronicen de las respuestas enviadas.
>   </p>

<h2 id="connection-health">Salud de la conexión</h2>

<p>
  Un proceso diario renueva los tokens OAuth de Cal.com antes de que caduquen. Una caída temporal de Cal.com se reintenta al día siguiente y
  no cambia nada. Si se revoca el acceso, la conexión se marca como caducada: la pregunta muestra la insignia <strong>Desconectado</strong>,
  la reserva deja de funcionar para los encuestados y la persona que conectó la cuenta recibe un correo con cada formulario publicado que
  reserva a través de ella. Vuelve a conectar Cal.com desde Espacio de trabajo → Integraciones → Programación, y luego vuelve a seleccionar
  la cuenta y confirma el tipo de evento en cada pregunta afectada.
</p>

<p>
  Al desconectar una cuenta de Cal.com desde Espacio de trabajo → Integraciones se enumeran los formularios publicados que programan citas a
  través de ella. Esos formularios dejan de aceptar reservas, y su propietario recibe un correo. Volver a conectar la misma cuenta de
  Cal.com los restaura: las preguntas conservan la cuenta, así que no hay nada que volver a seleccionar.
</p>

<h2 id="next-steps">Próximos pasos</h2>

<div class="not-prose grid gap-3 sm:grid-cols-2">
  - [Lógica condicional](/es/building-forms/conditional-logic) — Revela la reserva solo para respuestas que califiquen
  - [Tipos de pregunta](/es/building-forms/field-types) — Consulta todas las preguntas disponibles en Formstep
  - [Salud de la integración](/es/integrations/health-monitoring) — Reconecta cuentas OAuth caducadas
  - [Bandeja de respuestas](/es/submissions-analytics/submission-inbox) — Consulta los detalles de la reserva junto con las respuestas
</div>
