# Google Calendar

## ¿Qué es la integración con Google Calendar?

La integración con Google Calendar permite que tus agentes de voz y WhatsApp consulten disponibilidad, agenden reuniones y gestionen citas directamente en tu calendario, sin salir de la conversación. Cada reunión creada incluye automáticamente un link de videollamada de Google Meet.

***

## ¿Qué puede hacer el agente con esta integración?

* Consultar horarios disponibles en tu Google Calendar
* Crear reuniones con invitación por email al contacto (incluye link de Google Meet)
* Reprogramar citas existentes
* Cancelar citas existentes

El agente solicita al contacto su nombre, email y teléfono antes de crear la cita. El contacto recibe la invitación con el link de videollamada directamente en su correo.

***

## Cómo conectar tu Google Calendar

### 1. Ve a Integraciones

En el panel, abre el menú lateral y selecciona **Integraciones**.

### 2. Conecta tu cuenta de Google

Haz clic en **🔗 Conectar** en la card de Google Calendar. Se abrirá la pantalla de autorización de Google. Inicia sesión con la cuenta cuyo calendario quieres usar.

> **Nota sobre la advertencia de Google:** si ves la pantalla "Google no ha verificado esta aplicación", haz clic en **Configuración avanzada** → **Ir a \[nombre de la app\] (no seguro)**. Esta advertencia es normal en aplicaciones en proceso de verificación y no indica ningún problema de seguridad.

### 3. Selecciona el calendario

Después de autorizar el acceso, aparecerá una pantalla con todos los calendarios de tu cuenta en los que puedes crear eventos. Selecciona el que quieres usar y haz clic en **Confirmar calendario**.

> Si tienes un solo calendario, se selecciona automáticamente.

### 4. Listo

A partir de este momento, tus agentes pueden usar ese calendario. La card en Integraciones mostrará el email de la cuenta conectada y el calendario activo.

***

## Cambiar el calendario activo

Si conectaste varios calendarios o quieres usar uno diferente:

1. Ve a **Integraciones** → **Google Calendar**
2. Haz clic en el link **Cambiar** junto al nombre del calendario
3. Selecciona el nuevo calendario y confirma

También puedes cambiar el calendario directamente desde la ficha de cada agente (ver más abajo).

***

## Cómo activar Google Calendar en un agente

La integración de Google Calendar se activa por agente. Puedes usarla en agentes de **WhatsApp** y de **voz**.

### Agente de WhatsApp

1. Abre la ficha del agente → sección **Funciones del agente**
2. Haz clic en **+ Agregar función**
3. Selecciona **📅 Habilitar Google Calendar**
4. Confirma — el agente descargará las 4 funciones y el bloque de instrucciones se actualizará automáticamente

### Agente de voz

1. Abre la ficha del agente → sección **Funciones del agente**
2. Haz clic en **+ Agregar función**
3. En el grupo **Herramientas del Sistema**, selecciona **📅 Google Calendar — Gestión de citas**
4. Personaliza el mensaje que el agente dice mientras consulta la disponibilidad (opcional)
5. Haz clic en **Agregar** — se instalan las 4 funciones y las instrucciones se actualizan solas

***

## Qué calendario usa cada agente

Cada agente tiene un calendario vinculado de forma explícita. En la sección **Funciones del agente** de la ficha del agente verás una card verde como esta:

```
📅 Google Calendar: tu@email.com   [Cambiar]
```

Si necesitas que un agente use el calendario de otra cuenta conectada, haz clic en **Cambiar** y selecciona la cuenta correspondiente.

> **Una cuenta, un agente:** cada agente usa el calendario de una sola cuenta de Google. Si dos agentes deben usar calendarios distintos, conecta ambas cuentas en Integraciones y asigna una a cada agente desde su ficha.

***

## Cómo funciona el flujo de agendamiento

Cuando un contacto solicita una cita, el agente sigue este flujo:

1. **Consulta disponibilidad** — llama a `gcal_check_availability` y obtiene los horarios libres de tu calendario
2. **Ofrece opciones** — presenta 2 o 3 horarios disponibles al contacto
3. **Solicita datos** — pide nombre completo, email y teléfono antes de confirmar
4. **Crea el evento** — genera el evento en Google Calendar con un link de Google Meet automático
5. **Confirma** — informa al contacto el día, hora y que recibirá la invitación por email

El contacto recibe en su correo la invitación estándar de Google Calendar con el link de videollamada incluido.

***

## Desconectar Google Calendar

Desde **Integraciones** → **Google Calendar** → botón **Desconectar**.

Al desconectar:
* Los tokens de acceso se revocan en Google
* Los agentes con Google Calendar activado dejarán de poder crear o consultar eventos
* Los eventos ya creados en el calendario no se eliminan

***

## Preguntas frecuentes

**¿Funciona con cualquier cuenta de Google?**\
Sí, con cualquier cuenta Gmail o Google Workspace.

**¿El contacto necesita tener Google Calendar?**\
No. El agente crea el evento en *tu* calendario. El contacto recibe la invitación por email y puede aceptarla o agregarla a cualquier app de calendario.

**¿Qué pasa si el agente intenta crear una cita en un horario ya ocupado?**\
El agente solo ofrece los horarios en los que el calendario está libre. No puede proponer un horario ocupado.

**¿Puedo conectar más de una cuenta de Google?**\
Sí. Cada usuario del panel puede conectar su propia cuenta. Si varios usuarios de tu equipo conectan sus calendarios, cada agente puede asignarse al calendario de quien corresponda.

**¿El link de Google Meet se crea siempre?**\
Sí, automáticamente en cada evento creado por el agente. No requiere configuración adicional.

**¿Qué horarios considera el agente como disponibles?**\
Por defecto, lunes a viernes de 9:00 a 18:00 en la zona horaria del contacto, excluyendo los períodos ya ocupados en el calendario. Los slots tienen una duración de 30 minutos.
