# Citas

> Programe y gestione citas con creación automática de contactos, sincronización de reuniones con el CRM y asignación de responsables.

Source: https://docs.graph8.com/es/engage/appointments/

Appointments gestiona la programación y sincroniza las reuniones agendadas con su CRM. Cuando un prospecto agenda una reunión, graph8 crea o actualiza el contacto automáticamente, sincroniza la reunión con su CRM y asigna al responsable correcto.

## Appointments vs Meetings

Ambas áreas funcionan en conjunto, pero no son la misma funcionalidad:

| Funcionalidad | Propósito principal |
|---------|-----------------|
| **Appointments** | Flujo de agendamiento, programación de eventos y sincronización con el CRM |
| **Meetings** | Revisión de reuniones del calendario en el Inbox con transcripción y contexto de seguimiento |

Use **Appointments** cuando necesite controlar cómo se agendan y sincronizan las reuniones. Use **Meetings** cuando quiera revisar qué ocurrió en la reunión y qué pasos deben seguirse.

## Cómo funciona

El flujo es el siguiente:

1. Un prospecto agenda una reunión a través de su página de programación.
2. El sistema de programación envía un evento a graph8.
3. graph8 procesa el evento: crea o actualiza contactos y sincroniza con su CRM.
4. La reunión aparece en su CRM con las asociaciones de contactos correctas.

Este proceso se ejecuta automáticamente en segundo plano para cada reserva.

## Eventos de Appointments

graph8 procesa cuatro tipos de eventos de programación:

| Evento | Qué ocurre |
|-------|-------------|
| **Reserva creada** | Nueva reunión agendada: se crea o actualiza el contacto y se sincroniza la reunión con el CRM |
| **Reserva actualizada** | Detalles de la reunión modificados: la reunión se actualiza en el CRM |
| **Reserva cancelada** | Reunión cancelada: la reunión se marca como cancelada en el CRM |
| **Reserva reprogramada** | Reunión movida: la original se marca como reprogramada y se crea una nueva reunión en el CRM |

### Gestión de reprogramaciones

Las reprogramaciones se gestionan de forma distinta según el CRM:

- **HubSpot / Pipedrive**: la reunión original se actualiza al estado "reprogramada" y se crea una nueva reunión.
- **Salesforce**: se crea una nueva reunión (Salesforce no admite de forma fiable la búsqueda y actualización de la reunión original).

## Creación de contactos

Cuando llega una reserva, graph8 procesa automáticamente a los asistentes:

- **Crea nuevos contactos** si no existen en su base de datos.
- **Actualiza los contactos existentes** con cualquier campo nuevo (número de teléfono, nombre).
- **Procesa invitados** a partir de la respuesta de reserva (asistentes adicionales).
- **Omite al anfitrión**: el anfitrión de la reunión se trata como responsable, no como contacto.
- **Deduplicación**: evita la creación de contactos duplicados.

## Sincronización con el CRM

Las reuniones se sincronizan con el CRM conectado:

| CRM | Capacidades |
|-----|-------------|
| **HubSpot** | Crear reuniones, actualizar al reprogramar o cancelar, asociar con contactos |
| **Salesforce** | Crear reuniones, asociar con contactos |
| **Pipedrive** | Crear reuniones, actualizar al reprogramar o cancelar, asociar con contactos y asistentes |

Cada reunión sincronizada incluye:
- Título y descripción
- Hora de inicio y fin
- Ubicación y URL de la reunión
- Asociaciones de contactos
- Asignación de responsable
- UID de reserva para el seguimiento de reprogramaciones y cancelaciones

## Asignación de responsable

Controle cómo se asignan los responsables de las reuniones en su CRM:

| Modo | Comportamiento |
|------|----------|
| **Usar al anfitrión como responsable** | El anfitrión de la reunión se convierte en el responsable del CRM; no hay alternativa si no se encuentra al anfitrión |
| **Usar responsable predeterminado** | Intenta primero con el anfitrión; si no lo encuentra, recurre a un responsable predeterminado configurado |

Configure la asignación de responsable por integración de CRM en **Configuración → Integraciones**.

## Configuración

Los ajustes de Appointments se configuran por integración de CRM:

| Ajuste | Qué controla |
|---------|-----------------|
| **Tipo de entidad** | Si se crean contactos, leads, empresas u oportunidades a partir de las reservas |
| **Mapeo de campos** | Asignación de campos de reserva a campos del CRM |
| **Modo de asignación de responsable** | Cómo se determinan los responsables de las reuniones |
| **Responsable predeterminado** | Responsable alternativo cuando no se puede identificar al anfitrión |

> **Tip:**
> Conecte su CRM antes de que su primera cita entre en funcionamiento. Cuando las reuniones se sincronizan automáticamente, su equipo comercial ve las reuniones agendadas en el CRM sin necesidad de ingresar datos a mano.

## Formularios de enrutamiento

Un formulario de enrutamiento es un formulario público que califica a los prospectos antes de que agenden una reunión. Según las respuestas enviadas, graph8 los dirige al calendario correcto, al representante adecuado o a una página de lead no calificado.

### Para qué sirven los formularios de enrutamiento

- **Calificar leads inbound**: preguntar tamaño de empresa, cargo o presupuesto antes de ofrecer un horario disponible.
- **Dirigir al representante adecuado**: leads enterprise a AEs, leads SMB a SDRs, solicitudes de soporte a CS.
- **Bloquear tráfico fuera del ICP**: denegar reuniones a prospectos que no cumplen los criterios de calificación.
- **Recopilar contexto antes de la llamada**: para que los representantes lleguen preparados a las reuniones.

### Creación de un formulario de enrutamiento

1. Vaya a **Engage → Appointments → Routing Forms**.
2. Haga clic en **New Form**.
3. Agregue preguntas (cada pregunta se convierte en un campo del formulario):
   - **Texto corto**: nombre, cargo.
   - **Email**: validado automáticamente.
   - **Teléfono**: formato automático con código de país.
   - **Desplegable**: selección única con opciones predefinidas.
   - **Selección múltiple**: varias opciones (por ejemplo, herramientas que ya utilizan).
   - **Número**: tamaño de empresa, nivel de presupuesto.
   - **Texto largo**: contexto en formato libre.
4. Marque las preguntas obligatorias con **Required**.
5. Haga clic en **Routing Rules** para configurar cómo se asignan las respuestas a los resultados.
6. Haga clic en **Publish** para obtener una URL compartible.

### Reglas de enrutamiento

Las reglas se evalúan en orden. La primera coincidencia tiene prioridad. Si ninguna regla coincide, se aplica la acción alternativa.

| Tipos de condición de regla | Ejemplo |
|---------------------|---------|
| **Campo igual a** | `Company size = 1000+` |
| **Campo contiene** | `Role contains "VP" or "Director"` |
| **Campo en rango** | `Budget between 10,000 and 100,000` |
| **Todas las condiciones** | Varias condiciones que deben cumplirse todas |
| **Al menos una condición** | Al menos una condición debe cumplirse |

### Acciones de enrutamiento

| Acción | Comportamiento |
|--------|----------|
| **Mostrar calendario** | Muestra un calendario específico (por ejemplo, calendario de AE vs. calendario de SDR) |
| **Asignar representante** | Asocia el prospecto al calendario de un usuario específico |
| **Round-robin** | Distribuye entre un grupo de representantes |
| **URL de redirección** | Envía al prospecto a una página externa (precios, recursos, página de no calificado) |
| **Página de agradecimiento** | Muestra confirmación sin ofrecer una reunión |
| **Webhook** | Envía el formulario enviado a su propio endpoint |

### Ejemplo: enrutamiento Enterprise vs. SMB

Una configuración B2B típica:

1. Preguntar **tamaño de empresa**.
2. Regla 1: si `Company size ≥ 500` → mostrar **calendario de AE** con round-robin entre AEs enterprise.
3. Regla 2: si `Company size 50–499` → mostrar **calendario de mercado medio**.
4. Regla 3: si `Company size < 50` → redirigir a la página de registro de autogestión.
5. Alternativa: mostrar **calendario de SDR** (captura los casos sin respuesta).

### Analítica de formularios

Cada formulario registra:

| Métrica | Qué muestra |
|--------|---------------|
| **Vistas** | Cuántos prospectos abrieron el formulario |
| **Completados** | Cuántos lo enviaron |
| **Tasa de completado** | Completados ÷ Vistas |
| **Desglose por regla** | Cuántos prospectos activaron cada regla de enrutamiento |
| **Tasa de reuniones** | De los que recibieron un calendario, cuántos agendaron |
| **Descalificados** | Cantidad de prospectos bloqueados o redirigidos |

Use la analítica para ajustar los umbrales de calificación: si se descalifican demasiados prospectos, flexibilice las reglas; si llegan demasiados leads no calificados a los AEs, refuércelas.

### Integración en su sitio web

Integre un formulario en su sitio web para reemplazar un formulario de contacto genérico:

1. Abra el formulario en el editor.
2. Haga clic en **Embed**.
3. Elija **Inline** (reemplaza un `<div>` en la página) o **Popup** (se abre al hacer clic en un botón).
4. Pegue la etiqueta de script en su sitio web.

> **Tip:**
> Conecte un formulario de enrutamiento a un botón de chat web en lugar de un formulario de contacto. La conversión de chat a formulario es 2 o 3 veces mayor que la de los formularios de contacto estáticos, porque los prospectos se califican en contexto.

## Reglas de ausencia y tiempo de margen

Controle cuándo se pueden y no se pueden agendar reuniones, incluso después de que un prospecto se califica.

| Regla | Comportamiento |
|------|----------|
| **Horario laboral** | Ofrecer solo horarios dentro de las horas configuradas del representante |
| **Aviso mínimo** | Requerir N horas de anticipación antes de poder agendar una reunión |
| **Anticipación máxima** | No ofrecer horarios con más de N días de anticipación |
| **Tiempo de margen** | Agregar N minutos antes o después de las reuniones (traslado, preparación, conclusión) |
| **Límite diario** | Limitar las reservas por representante por día |
| **Límite semanal** | Limitar las reservas por representante por semana |
| **Ausencia** | Bloquear fechas del calendario (manual o sincronizado automáticamente desde Google u Outlook) |

Configure en **Engage → Appointments → Availability**.

## Correos de confirmación de reserva

Cuando un prospecto agenda una reunión, graph8 envía un correo de confirmación a través de SES al prospecto (con copia al anfitrión) que incluye:

- Título, hora y detalles de la reunión localizados según la zona horaria.
- Enlace de videoconferencia (Google Meet, Zoom, Teams o personalizado).
- Una invitación de calendario `.ics` como adjunto, para que el prospecto pueda agregar la reunión a cualquier aplicación de calendario.
- Enlaces de reprogramación y cancelación firmados con tokens seguros (el prospecto no necesita iniciar sesión).

Los correos de reprogramación y cancelación se envían automáticamente cuando se activa el evento de reserva correspondiente.

## Proveedores de videoconferencia

graph8 genera automáticamente enlaces de videoconferencia según el proveedor conectado del anfitrión:

| Proveedor | Tipo de enlace | Notas |
|----------|-----------|-------|
| **Google Meet** | `meet.google.com/…` | Requiere Google Calendar conectado |
| **Zoom** | `zoom.us/j/…` | Requiere conexión OAuth de Zoom |
| **Microsoft Teams** | `teams.microsoft.com/…` | Requiere Microsoft 365 conectado |
| **Personalizado** | Cualquier URL | Úselo para WebEx, Whereby o reuniones presenciales |

El enlace de videoconferencia se incluye en el evento del calendario y se sincroniza con el CRM.

## Próximos pasos

- [Connections →](https://docs.graph8.com/engage/connections/): configure su integración con el CRM.
- [Meetings →](https://docs.graph8.com/engage/meetings/): revise reuniones y contexto de transcripción en el Inbox.
- [Web Chat →](https://docs.graph8.com/engage/web-chat/): permita que los visitantes agenden reuniones desde el chat.
- [Sequencer →](https://docs.graph8.com/engage/sequencer/): vincule secuencias a los resultados de Appointments.
- [Forms (seguimiento inbound) →](https://docs.graph8.com/signals/forms/): funcionalidad distinta, para el seguimiento de envíos de formularios en su sitio web existente.
