Chat con el Calendario de 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 src="/_astro/messages-square.BaSDmT6g.svg" style="height: 20px !important;width: 20px !important"/></div>Chat Input]
style ChatInput-eoj7g stroke:#a170ff
LanggraphReactAgent-zrcpz[ChatBot]
style LanggraphReactAgent-zrcpz stroke:#a170ff
ChatOutput-vmzfb[<div><img 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 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
ChatInput-eoj7g -.- LanggraphReactAgent-zrcpz
linkStyle 0 stroke:#a170ff
LanggraphReactAgent-zrcpz -.- ChatOutput-vmzfb
linkStyle 1 stroke:#a170ff
GmailMesageComponent-h9m4p -.- LanggraphReactAgent-zrcpz
linkStyle 2 stroke:#a170ff
GoogleGenerativeAIModel-5k5zx -.- LanggraphReactAgent-zrcpz
linkStyle 3 stroke:#a170ff
googlecalendarcomponent-b2avz -.- LanggraphReactAgent-zrcpz
linkStyle 4 stroke:#a170ff
🧩 Descripción general
El flujo automatiza la interacción con Google Gmail y Google Calendar a través de un agente conversacional basado en Gemini. El usuario introduce consultas en un chat, el agente interpreta la petición, consulta o modifica correos y eventos según sea necesario, y devuelve una respuesta clara y contextualizada. Este proceso elimina la necesidad de operar manualmente las interfaces de Google.
⚙️ Funcionalidades principales
- Entrada de conversación: el usuario escribe un mensaje que inicia la secuencia.
- Procesamiento del lenguaje: Gemini analiza el mensaje y decide si se requiere alguna acción.
- Interacción con Gmail: el agente puede leer, responder o marcar correos.
- Interacción con Calendar: el agente puede consultar o crear eventos.
- Salida de respuesta: el agente devuelve al usuario un mensaje final que incluye la información solicitada o los resultados de la acción.
🔄 Pasos del flujo de trabajo
| Nombre del componente | Rol en el flujo | Entradas clave | Salidas clave |
|---|---|---|---|
| Chat Input | Recibe la consulta del usuario y envía la conversación al agente. | Texto del usuario, archivos opcionales. | Mensaje con conversation_id, input_value. |
| ChatBot | Interpreta la entrada, invoca Gemini y decide la herramienta a usar. | Mensaje de entrada, LLM (Gemini). | Respuesta del agente y, si se requiere, datos para Gmail o Calendar. |
| Gemini | Genera el texto de respuesta y las intenciones de acción. | Mensaje de entrada, sistema de instrucciones. | Texto de respuesta y metadatos de herramientas. |
| Obtener Correos | Obtiene correos según los parámetros especificados. | Operación (Get), mail_id, num_of_emails, filtros de búsqueda. |
Datos de correos en formato estructurado. |
| Obtener Eventos | Consulta eventos dentro del rango de fechas o por ID. | Operación (Get), start_date, end_date, event_id. |
Datos de eventos en formato estructurado. |
| Chat Output | Presenta la respuesta final al usuario. | Texto de respuesta del agente. | Mensaje visible en la interfaz de chat. |
🧠 Notas
- Credenciales: cada componente que accede a Google necesita una credencial válida (
googleApipara Gemini,googleMailygoogleCalendarpara Gmail y Calendar). - Límites de API: Gemini y los servicios de Google tienen cuotas diarias; excederlas puede provocar errores de tiempo de espera.
- Formato ISO‑8601: las fechas de Calendar deben enviarse y recibirse en formato ISO‑8601 para evitar ambigüedades.
- Manejo de errores: el agente debe capturar y reportar cualquier fallo de la API de forma comprensible para el usuario.
- Privacidad: los datos de correo y calendario se procesan únicamente durante la ejecución de la solicitud y no se almacenan de forma persistente.
- Escalabilidad: el flujo está diseñado para ser extensible; se pueden añadir más herramientas (p. ej. Drive, Docs) sin alterar la arquitectura central.