Procesador de Mensajes no leidos
Marca como leído los correos que se requieran
+3
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
ParseData-ptp7g[<div><img src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>Obtener Datos]
style ParseData-ptp7g stroke:#a170ff
Prompt-7qn0s[<div><img src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>Consulta]
style Prompt-7qn0s stroke:#a170ff
LanggraphReactAgent-1wsn2[Agent]
style LanggraphReactAgent-1wsn2 stroke:#a170ff
OpenAIModel-kx9h5[<div><img src="/_astro/openAI.BhmuxEs3.svg" style="height: 20px !important;width: 20px !important"/></div>OpenAI]
style OpenAIModel-kx9h5 stroke:#a170ff
ChatOutput-ugeve[<div><img src="/_astro/messages-square.BaSDmT6g.svg" style="height: 20px !important;width: 20px !important"/></div>Chat Output]
style ChatOutput-ugeve stroke:#a170ff
GmailMesageComponent-riqjp[<div><img src="/_astro/gmail.CLxyIGOu.svg" style="height: 20px !important;width: 20px !important"/></div>Obtener Mensajes]
style GmailMesageComponent-riqjp stroke:#a170ff
GmailMesageComponent-1gc2u[<div><img src="/_astro/gmail.CLxyIGOu.svg" style="height: 20px !important;width: 20px !important"/></div>Marcar como leído]
style GmailMesageComponent-1gc2u stroke:#a170ff
TextInput-1cb9o[<div><img src="/_astro/type.Dy26vmDy.svg" style="height: 20px !important;width: 20px !important"/></div>Tema a comprobar]
style TextInput-1cb9o stroke:#a170ff
Prompt-7qn0s -.- LanggraphReactAgent-1wsn2
linkStyle 0 stroke:#a170ff
OpenAIModel-kx9h5 -.- LanggraphReactAgent-1wsn2
linkStyle 1 stroke:#a170ff
LanggraphReactAgent-1wsn2 -.- ChatOutput-ugeve
linkStyle 2 stroke:#a170ff
GmailMesageComponent-riqjp -.- ParseData-ptp7g
linkStyle 3 stroke:#a170ff
GmailMesageComponent-1gc2u -.- LanggraphReactAgent-1wsn2
linkStyle 4 stroke:#a170ff
ParseData-ptp7g -.- Prompt-7qn0s
linkStyle 5 stroke:#a170ff
TextInput-1cb9o -.- Prompt-7qn0s
linkStyle 6 stroke:#a170ff
🧩 Descripción general
El flujo automatiza la búsqueda, el procesamiento y la clasificación de correos electrónicos en Gmail, generando respuestas con un modelo de lenguaje y marcando como leídos los mensajes que coincidan con una condición específica. La combinación de componentes permite que una consulta de usuario se traduzca en una acción real sobre la bandeja de entrada, integrando IA y servicios de correo en una única secuencia de tareas.
⚙️ Funcionalidades principales
- Búsqueda de correos filtrada por tema y etiqueta, recuperando los últimos mensajes relevantes.
- Formateo de datos en texto estructurado, listo para ser consumido por el modelo.
- Construcción dinámica de prompts que combinan el contenido de los mensajes con la consulta del usuario.
- Generación de respuestas mediante un modelo de OpenAI con memoria reactiva.
- Ejecución de una herramienta integrada para marcar los mensajes como leídos directamente desde la respuesta del agente.
- Presentación de la respuesta en un chat visual, con control de remitente y sesión.
🔄 Pasos del flujo de trabajo
| Nombre del componente | Rol en el flujo | Entradas clave | Salidas clave |
|---|---|---|---|
| Tema a comprobar | Recibe el tema de búsqueda del usuario. | Texto de entrada. | Texto del tema. |
| Obtener Mensajes | Extrae correos de Gmail filtrados por tema y etiqueta. | Operación: “Get Message”, número de correos, query. | Datos de los correos. |
| Obtener Datos | Convierte los datos de correo en texto plano usando un template. | Datos de los correos, template de correo. | Texto formateado de los correos. |
| Consulta | Construye el prompt final combinando el tema y la lista de correos. | Texto del tema, texto de los correos. | Prompt completo. |
| Agent | Ejecuta el flujo de IA, recibe el prompt y utiliza el modelo y la herramienta de Gmail. | Prompt, modelo de OpenAI, herramienta “Marcar como leído”. | Respuesta del agente. |
| Marcar como leído | Actúa como herramienta para cambiar el estado de los correos a leídos. | Operación: “Realize Message Marks”, IDs de correos. | Datos actualizados de los correos. |
| Chat Output | Muestra la respuesta generada en la interfaz de chat. | Respuesta del agente. | Mensaje visible para el usuario. |
🧠 Notas
- El flujo depende de una credencial válida para la API de Gmail; la herramienta de marcado solo se activa cuando la operación está configurada en “Realize Message Marks”.
- El modelo de OpenAI se configura con
gpt-4.1y se permite un fallback opcional si la solicitud primaria falla. - La tabla de datos de correo se construye con un template que incluye campos como id, remitente, asunto y contenido; la separación por salto de línea se controla mediante el parámetro
sep. - El agente utiliza memoria reactiva (Langgraph) para mantener contexto entre iteraciones, con un máximo de 10 iteraciones y 10 s de ejecución por iteración.
- La salida del chat incluye la identificación de sesión y remitente, lo que permite identificar la fuente de cada respuesta.