Chatear con el calendario y Gmail
El objetivo es automatizar la gestión de eventos y tareas en Google Calendar y Gmail. Permite a los usuarios interactuar de forma conversacional con estas aplicaciones, simplificando la programación y consulta.
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
ChatInput-eoj7g[<div><img alt="logo" src="/_astro/messages-square.BaSDmT6g.svg" style="height: 20px !important;width: 20px !important"/></div>Chat Input]
style ChatInput-eoj7g stroke:#a170ff
ChatOutput-vmzfb[<div><img alt="logo" src="/_astro/messages-square.BaSDmT6g.svg" style="height: 20px !important;width: 20px !important"/></div>Chat Output]
style ChatOutput-vmzfb stroke:#a170ff
GmailMesageComponent-h9m4p[<div><img alt="logo" src="/_astro/gmail.CLxyIGOu.svg" style="height: 20px !important;width: 20px !important"/></div>Obtener Correos]
style GmailMesageComponent-h9m4p stroke:#a170ff
GoogleGenerativeAIModel-5k5zx[Gemini]
style GoogleGenerativeAIModel-5k5zx stroke:#a170ff
googlecalendarcomponent-b2avz[Obtener Eventos]
style googlecalendarcomponent-b2avz stroke:#a170ff
AdvancedAgent-r83dk[Agent]
style AdvancedAgent-r83dk stroke:#a170ff
ChatInput-eoj7g -.- AdvancedAgent-r83dk
linkStyle 0 stroke:#a170ff
AdvancedAgent-r83dk -.- ChatOutput-vmzfb
linkStyle 1 stroke:#a170ff
googlecalendarcomponent-b2avz -.- AdvancedAgent-r83dk
linkStyle 2 stroke:#a170ff
GmailMesageComponent-h9m4p -.- AdvancedAgent-r83dk
linkStyle 3 stroke:#a170ff
GoogleGenerativeAIModel-5k5zx -.- AdvancedAgent-r83dk
linkStyle 4 stroke:#a170ff
🧩 Descripción general
El flujo automatiza la gestión de eventos y correos electrónicos a través de Google Calendar y Gmail.
Un usuario puede preguntar, crear, consultar o modificar eventos y mensajes mediante una conversación natural, y el sistema ejecuta las acciones correspondientes sin intervención manual.
⚙️ Funcionalidades principales
- Permite consultas y manipulaciones de eventos en Google Calendar mediante una sola línea de texto.
- Lee, responde y actualiza correos electrónicos de Gmail según sea necesario.
- Utiliza el modelo Gemini de Google Generative AI para interpretar la intención del usuario y decidir qué herramienta usar.
- Mantiene un historial de conversación y soporta respuestas estructuradas o en tiempo real (streaming).
- Se integra con las credenciales de Google para acceder a Calendar y Gmail de forma segura.
🔄 Pasos del flujo de trabajo
| Nombre del componente | Rol en el flujo | Entradas clave | Salidas clave |
|---|---|---|---|
| Entrada de chat | Captura la petición del usuario | Mensaje de texto, identificador de conversación, archivos adjuntos opcionales | Mensaje de chat |
| Gemini | Procesa el texto y genera una respuesta preliminar | Texto de entrada, configuración del modelo (máx. tokens, temperatura, etc.) | Texto generado |
| Agente avanzado | Toma la entrada y decide qué herramienta usar; compone la respuesta final | Mensaje de usuario, modelo Gemini, herramientas (Gmail, Calendar), historial de chat | Mensaje de respuesta |
| Google Calendar | Gestiona eventos (crear, obtener, actualizar, eliminar) | Tipo de operación, fechas de inicio y fin, descripción, asistentes, ubicación | Datos de evento o confirmación |
| Gmail | Lee, envía o actualiza correos electrónicos | Tipo de operación, ID de correo, cuerpo del mensaje, destinatario, adjuntos | Datos de correo o confirmación |
| Salida de chat | Entrega el mensaje al usuario | Mensaje del agente | Mensaje de chat al usuario |
🧠 Notas
- El flujo no expone ni utiliza IDs de componentes; sólo se hace referencia a los nombres legibles.
- El modelo Gemini se utiliza únicamente como motor de lenguaje; el agente decide cuándo llamar a Gmail o Calendar.
- Los formatos de fecha y hora deben seguir ISO 8601 (ej.
2025-10-03T09:00:00) para garantizar la correcta interpretación por las APIs. - Se habilita la memoria opcional del agente para conversaciones continuas, lo que permite mantener contexto entre mensajes.
- El sistema admite streaming de respuesta y generación estructurada, configurables mediante los parámetros del agente.
- El flujo puede extenderse añadiendo más herramientas o cambiando el modelo de lenguaje, manteniendo la misma arquitectura.