Processador de mensagens não lidas
Marque como lidos os e-mails que forem necessários.
+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
📄 Processador de Mensagens Não Lidas
🧩 Visão Geral
Este fluxo de trabalho automatiza a detecção e marcação de mensagens do Gmail como lidas com base em um tópico definido pelo usuário. Ele busca emails recentes que correspondem a uma consulta específica, formata o conteúdo para o assistente e permite que um agente baseado em modelo de linguagem decida quais mensagens devem ser marcadas. O processo é totalmente automatizado, exigindo apenas a definição do tópico pelo usuário.
⚙️ Funcionalidades Principais
- Recuperação de emails por tópico – busca mensagens recentes no Gmail filtradas por uma consulta.
- Formatação de dados – transforma os emails brutos em uma lista legível para o assistente.
- Construção de prompt – cria uma instrução dinâmica contendo a lista de emails e o tópico.
- Raciocínio LLM – um Langgraph React Agent interpreta o prompt e decide quais mensagens marcar.
- Ferramenta de ação no Gmail – o agente pode chamar a ferramenta Gmail para atualizar rótulos (marcar como lido).
- Saída em estilo chat – a decisão final é exibida como mensagem no playground.
🔄 Etapas do Fluxo
| Componente | Papel no Fluxo | Entradas Principais | Saídas Principais |
|---|---|---|---|
| Text Input | Recebe o tópico que o assistente deve procurar na caixa de entrada. | Texto do tópico (ex.: “LinkedIn”) | Texto “LinkedIn” |
| Gmail Message Component (Get Messages) | Recupera emails recentes do Gmail que correspondem à consulta e rótulo. | Credenciais Gmail, string de busca, número de emails | Dados brutos de emails (Data) |
| Parse Data | Converte os emails brutos em uma lista de texto legível usando um template. | Dados brutos de emails | Lista de emails formatada (Message) |
| Prompt | Cria uma instrução dinâmica contendo a lista de emails e o tópico. | Lista de emails, tópico | Prompt (Message) |
| OpenAI Model | Fornece o modelo de linguagem que o agente utilizará. | Configuração do LLM (nome do modelo, credenciais) | Instância do modelo de linguagem |
| Langgraph React Agent | Orquestra o fluxo, interpreta o prompt e chama a ferramenta Gmail quando necessário. | Prompt, instância do LLM, ferramenta Gmail (Marcar como Lido) | Resposta do agente (Message) |
| Chat Output | Exibe a resposta final do agente em estilo chat. | Resposta do agente | Mensagem de chat visível ao usuário |
🧠 Observações
- Requer credenciais válidas do Gmail e do OpenAI previamente configuradas.
- Apenas os últimos 20 emails (ou o número definido) são recuperados; mensagens mais antigas são ignoradas, salvo se a consulta mudar.
- O agente está limitado à ferramenta “Marcar como Lido”; não pode alterar outros rótulos ou excluir mensagens.
- Limite de 10 iterações por execução do agente para evitar loops infinitos.
- O template do prompt é estático; alterações na formatação exigem atualização do componente Prompt.
- Tratamento de erros está incorporado ao modelo de fallback do agente, garantindo degradação graciosa se o modelo primário falhar.
- Destinado a ambientes de playground para visualização de chat; pode ser adaptado para outras interfaces substituindo o componente Chat Output.