Asistente de Google Calendar y Gmail
Un asistente tipo secretario que gestiona tus eventos, te brinda información de tu correo y envía correos. Además, se ejecuta periódicamente, proporcionando un resumen diario de los eventos programados para el día a través de tu correo.
+2
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
GoogleGenerativeAIModel-tknjq[Gemini]
style GoogleGenerativeAIModel-tknjq stroke:#a170ff
ChatInput-rkd4u[<div><img alt="logo" src="/_astro/messages-square.BaSDmT6g.svg" style="height: 20px !important;width: 20px !important"/></div>Chat Input]
style ChatInput-rkd4u stroke:#a170ff
ChatOutput-zcb0e[<div><img alt="logo" src="/_astro/messages-square.BaSDmT6g.svg" style="height: 20px !important;width: 20px !important"/></div>Chat Output]
style ChatOutput-zcb0e stroke:#a170ff
GmailMesageComponent-v67l4[<div><img alt="logo" src="/_astro/gmail.CLxyIGOu.svg" style="height: 20px !important;width: 20px !important"/></div>Optener mensage]
style GmailMesageComponent-v67l4 stroke:#a170ff
googlecalendarcomponent-851vc[Optener Eventos]
style googlecalendarcomponent-851vc stroke:#a170ff
googlecalendarcomponent-alti6[Crear Eventos]
style googlecalendarcomponent-alti6 stroke:#a170ff
googlecalendarcomponent-5ngix[Eliminar Eventos]
style googlecalendarcomponent-5ngix stroke:#a170ff
GmailMesageComponent-wtkw1[<div><img alt="logo" src="/_astro/gmail.CLxyIGOu.svg" style="height: 20px !important;width: 20px !important"/></div> Enviar message]
style GmailMesageComponent-wtkw1 stroke:#a170ff
Prompt-jyrhr[<div><img alt="logo" src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>Prompt simple]
style Prompt-jyrhr stroke:#a170ff
Prompt-1zh7i[<div><img alt="logo" src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>System Prompt ]
style Prompt-1zh7i stroke:#a170ff
TextInput-1i8g7[<div><img alt="logo" src="/_astro/type.Dy26vmDy.svg" style="height: 20px !important;width: 20px !important"/></div>correo de usuario]
style TextInput-1i8g7 stroke:#a170ff
AdvancedAgent-43uv9[Agent2]
style AdvancedAgent-43uv9 stroke:#a170ff
ChatInput-rkd4u -.- Prompt-jyrhr
linkStyle 0 stroke:#a170ff
TextInput-1i8g7 -.- Prompt-1zh7i
linkStyle 1 stroke:#a170ff
Prompt-jyrhr -.- AdvancedAgent-43uv9
linkStyle 2 stroke:#a170ff
Prompt-1zh7i -.- AdvancedAgent-43uv9
linkStyle 3 stroke:#a170ff
AdvancedAgent-43uv9 -.- ChatOutput-zcb0e
linkStyle 4 stroke:#a170ff
GmailMesageComponent-v67l4 -.- AdvancedAgent-43uv9
linkStyle 5 stroke:#a170ff
GmailMesageComponent-wtkw1 -.- AdvancedAgent-43uv9
linkStyle 6 stroke:#a170ff
googlecalendarcomponent-851vc -.- AdvancedAgent-43uv9
linkStyle 7 stroke:#a170ff
googlecalendarcomponent-alti6 -.- AdvancedAgent-43uv9
linkStyle 8 stroke:#a170ff
googlecalendarcomponent-5ngix -.- AdvancedAgent-43uv9
linkStyle 9 stroke:#a170ff
GoogleGenerativeAIModel-tknjq -.- AdvancedAgent-43uv9
linkStyle 10 stroke:#a170ff
🧩 Descripción general
El flujo automatiza la gestión de correos y eventos de Google a partir de una conversación con un asistente virtual. El usuario envía peticiones de correo o calendario; el agente interpreta el mensaje, consulta los servicios de Gmail y Google Calendar según sea necesario y devuelve la respuesta. Además, se ejecuta de forma periódica para enviar un resumen diario de los eventos programados al usuario.
⚙️ Funcionalidades principales
- Recibir y procesar mensajes del usuario y la dirección de correo de destino.
- Generar un prompt de usuario y un prompt del sistema que guían la conversación.
- Usar el modelo Gemini para razonar y decidir qué herramienta emplear.
- Ejecutar operaciones de Gmail: enviar, leer y obtener mensajes.
- Consultar, crear y eliminar eventos en Google Calendar.
- Devolver al usuario la respuesta final mediante un chat.
🔄 Pasos del flujo de trabajo
| Nombre del componente | Rol en el flujo | Entradas clave | Salidas clave |
|---|---|---|---|
| Chat Input | Captura el mensaje inicial del usuario. | Mensaje del usuario. | Prompt de usuario (Prompt simple). |
| Text Input | Proporciona la dirección de correo del usuario. | Dirección de correo. | Prompt de sistema (System Prompt). |
| Prompt simple | Genera el texto que representa la petición del usuario. | Mensaje del usuario. | Prompt de usuario. |
| System Prompt | Define las reglas de actuación y el contexto del agente. | Dirección de correo del usuario. | Prompt del sistema. |
| Gemini (LLM) | Ejecuta la lógica de razonamiento y planifica la respuesta. | Prompt de usuario y prompt del sistema. | Modelo de lenguaje listo para usar. |
| Advanced Agent | Orquesta la conversación, decide y llama a las herramientas. | Prompt de usuario, prompt del sistema, LLM, direcciones de correo. | Respuesta generada por el agente. |
| Gmail – Enviar mensaje | Envía un correo al destinatario. | Asunto, cuerpo, destinatario. | Confirmación de envío. |
| Gmail – Obtener mensaje | Recupera los últimos correos del usuario. | Número de correos, filtros. | Lista de mensajes. |
| Google Calendar – Obtener eventos | Lista los eventos programados para la fecha solicitada. | Rango de fechas, filtros. | Lista de eventos. |
| Google Calendar – Crear evento | Programa un nuevo evento en el calendario. | Fecha, hora, descripción. | Confirmación de creación. |
| Google Calendar – Eliminar evento | Suprime un evento existente. | ID del evento. | Confirmación de eliminación. |
| Chat Output | Muestra la respuesta del agente al usuario. | Texto de la respuesta. | Mensaje visible en el chat. |
Secuencia lógica
- Chat Input → 2. Text Input → 3. Prompt simple y System Prompt → 4. Gemini → 5. Advanced Agent → 6. Herramientas (Gmail/Calendar) → 7. Chat Output.
🧠 Notas
- El agente utiliza un modelo Gemini (
gemini-2.5-flash) como motor de lenguaje, pero está preparado para cambiar a otro modelo en caso de fallo. - Las herramientas de Gmail y Calendar son añadidas al toolkit del agente y se llaman solo cuando el modelo decide que son necesarias.
- La lógica de la herramienta “Enviar mensaje” siempre marca el correo como “enviado”, mientras que “Obtener mensaje” devuelve los 10 últimos correos por defecto.
- La herramienta “Obtener eventos” filtra por la fecha actual y devuelve la lista completa de eventos, que el agente luego formatea para el correo.
- Los parámetros de las herramientas pueden ser extendidos sin afectar al flujo, ya que cada herramienta encapsula su propio comportamiento.
- El agente incluye un modo de ejecución automática que se activa cuando no hay mensaje del usuario; en ese caso, recupera los eventos de hoy y envía un resumen al correo indicado.
- La salida del agente se presenta sin formato de código; se asegura la legibilidad y la correcta indentación en los correos enviados.