Conversa com o calendário & Gmail
O objetivo é automatizar a gestão de eventos e tarefas no Google Calendar e Gmail. Permite aos usuários interagir de forma conversacional com esses aplicativos, simplificando a programação e 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
🧩 Descrição Geral
O fluxo permite que usuários interajam de forma conversacional com o Gmail e o Google Calendar.
O agente inteligente recebe as solicitações via chat, consulta ou atualiza e-mails e eventos de calendário, e devolve respostas diretas ao usuário, automatizando tarefas como leitura de mensagens, criação ou busca de eventos e confirmações de agendamento.
⚙️ Funcionalidades Principais
- Integração de chat ao agente que coordena ações em Gmail e Calendar.
- Modelo de linguagem Gemini gera respostas contextuais e decide qual ferramenta usar.
- Agente executa chamadas de API do Gmail para ler, responder ou atualizar mensagens.
- Agente executa chamadas de API do Google Calendar para criar ou obter eventos.
- Conversa resultante é retornada ao usuário em tempo real, com suporte a streaming opcional.
🔄 Passos do Fluxo de Trabalho
| Nome do Componente | Papel no Fluxo | Entradas Principais | Saídas Principais |
|---|---|---|---|
| Chat Input | Recebe a mensagem do usuário e a identifica como conversa | Mensagem do usuário, ID de conversa, sessão | Mensagem (texto) |
| Gemini | Modelo de linguagem que processa a entrada e decide ações | Texto da mensagem, parâmetros de modelo (temperatura, tokens) | Texto gerado (resposta do modelo) |
| Agente | Decisão de ações, coordenação de ferramentas e geração da resposta final | Entrada do chat, modelo Gemini, lista de ferramentas (Gmail, Calendar) | Resposta do agente (texto) |
| Gmail Mesage | Interage com a API do Gmail para ler, responder ou atualizar mensagens | Operação (Get/Send etc.), IDs de mensagem, corpo | Dados de e‑mail (mensagem, anexo) |
| Google Calendar | Interage com a API do Google Calendar para criar ou buscar eventos | Operação (Get/Create), datas, descrição, local, participantes | Dados do evento (ID, detalhes) |
| Chat Output | Exibe a resposta do agente ao usuário | Texto da resposta do agente | Mensagem exibida no chat |
🧠 Notas
- O agente utiliza o modelo Gemini (versão gemini‑2.5‑pro) como núcleo de decisão.
- As ferramentas de Gmail e Calendar são registradas como tools no agente; o modelo escolhe a ferramenta apropriada com base na resposta gerada.
- O fluxo suporta streaming opcional, permitindo que a resposta seja enviada ao usuário em tempo real.
- As datas e horários de eventos são sempre manipulados em ISO 8601 (
YYYY‑MM‑DDTHH:MM:SS) para garantir consistência nas chamadas de API. - O agente inclui memória curta e longa, mas a estratégia padrão é Trim (remover mensagens antigas quando o limite for excedido).
- O modelo pode retornar structured output se configurado, mas, por padrão, a resposta é texto livre.
- O fluxo não expõe IDs internos de componentes; apenas os nomes legíveis são utilizados na documentação.