Gestão, envio e revisão de formulários
É gerenciado, enviado e colocado em revisão com os diferentes componentes do Google um formulário.
+2
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
googlecalendarcomponent-0ev4s[Crear evento]
style googlecalendarcomponent-0ev4s stroke:#a170ff
GmailMesageComponent-m2hs5[<div><img alt="logo" src="/_astro/gmail.CLxyIGOu.svg" style="height: 20px !important;width: 20px !important"/></div>Enviar correo]
style GmailMesageComponent-m2hs5 stroke:#a170ff
GSheetCellComponent-5393p[Obtener datos para preguntas]
style GSheetCellComponent-5393p stroke:#a170ff
googleFormscomponent-pklic[Crear formulario]
style googleFormscomponent-pklic stroke:#a170ff
ParseData-sie7v[<div><img alt="logo" src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>Datos del formulario creado]
style ParseData-sie7v stroke:#a170ff
Prompt-ednks[<div><img alt="logo" src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>Consulta]
style Prompt-ednks stroke:#a170ff
TextInput-45j33[<div><img alt="logo" src="/_astro/type.Dy26vmDy.svg" style="height: 20px !important;width: 20px !important"/></div>Email a enviar]
style TextInput-45j33 stroke:#a170ff
LanggraphReactAgent-5u7ua[Agent]
style LanggraphReactAgent-5u7ua stroke:#a170ff
ParseData-ezf3x[<div><img alt="logo" src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>Extrae Título]
style ParseData-ezf3x stroke:#a170ff
Loop-0t41j[Loop]
style Loop-0t41j stroke:#a170ff
LoopEnd-tkma8[Loop End]
style LoopEnd-tkma8 stroke:#a170ff
ParseData-s1mj3[<div><img alt="logo" src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>Extraer descripción]
style ParseData-s1mj3 stroke:#a170ff
googleFormsDatacomponent-lgi5n[pregunta1]
style googleFormsDatacomponent-lgi5n stroke:#a170ff
googleFormsDatacomponent-rr4s5[pregunta2]
style googleFormsDatacomponent-rr4s5 stroke:#a170ff
googleFormsDatacomponent-0ebmm[pregunta3]
style googleFormsDatacomponent-0ebmm stroke:#a170ff
ParseData-cxlb1[<div><img alt="logo" src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>id del formulario]
style ParseData-cxlb1 stroke:#a170ff
GDriveFilesComponent-pqmsv[<div><img alt="logo" src="/_astro/google_drive.wKmDsV2c.svg" style="height: 20px !important;width: 20px !important"/></div>Mover a carpeta de formularios2]
style GDriveFilesComponent-pqmsv stroke:#a170ff
GoogleGenerativeAIModel-9eat4[Gemini]
style GoogleGenerativeAIModel-9eat4 stroke:#a170ff
CreateData-8pzaf[Create Data2]
style CreateData-8pzaf stroke:#a170ff
ParseData-7uply[<div><img alt="logo" src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>End]
style ParseData-7uply stroke:#a170ff
GSheetCellComponent-ok2v8[pasar fila a formularios creados]
style GSheetCellComponent-ok2v8 stroke:#a170ff
GSheetCellComponent-wwd0a[eliminar fila de formularios pendientes]
style GSheetCellComponent-wwd0a stroke:#a170ff
googleFormscomponent-pklic -.- ParseData-sie7v
linkStyle 0 stroke:#a170ff
ParseData-sie7v -.- Prompt-ednks
linkStyle 1 stroke:#a170ff
TextInput-45j33 -.- Prompt-ednks
linkStyle 2 stroke:#a170ff
Prompt-ednks -.- LanggraphReactAgent-5u7ua
linkStyle 3 stroke:#a170ff
GmailMesageComponent-m2hs5 -.- LanggraphReactAgent-5u7ua
linkStyle 4 stroke:#a170ff
googlecalendarcomponent-0ev4s -.- LanggraphReactAgent-5u7ua
linkStyle 5 stroke:#a170ff
GSheetCellComponent-5393p -.- Loop-0t41j
linkStyle 6 stroke:#a170ff
Loop-0t41j -.- ParseData-ezf3x
linkStyle 7 stroke:#a170ff
Loop-0t41j -.- ParseData-s1mj3
linkStyle 8 stroke:#a170ff
Loop-0t41j -.- googleFormsDatacomponent-lgi5n
linkStyle 9 stroke:#a170ff
Loop-0t41j -.- googleFormsDatacomponent-rr4s5
linkStyle 10 stroke:#a170ff
Loop-0t41j -.- googleFormsDatacomponent-0ebmm
linkStyle 11 stroke:#a170ff
ParseData-ezf3x -.- googleFormscomponent-pklic
linkStyle 12 stroke:#a170ff
ParseData-s1mj3 -.- googleFormscomponent-pklic
linkStyle 13 stroke:#a170ff
googleFormscomponent-pklic -.- ParseData-cxlb1
linkStyle 14 stroke:#a170ff
ParseData-cxlb1 -.- GDriveFilesComponent-pqmsv
linkStyle 15 stroke:#a170ff
GoogleGenerativeAIModel-9eat4 -.- LanggraphReactAgent-5u7ua
linkStyle 16 stroke:#a170ff
LoopEnd-tkma8 -.- Loop-0t41j
linkStyle 17 stroke:#a170ff
CreateData-8pzaf -.- LoopEnd-tkma8
linkStyle 18 stroke:#a170ff
LanggraphReactAgent-5u7ua -.- CreateData-8pzaf
linkStyle 19 stroke:#a170ff
GDriveFilesComponent-pqmsv -.- CreateData-8pzaf
linkStyle 20 stroke:#a170ff
Loop-0t41j -.- ParseData-7uply
linkStyle 21 stroke:#a170ff
Loop-0t41j -.- GSheetCellComponent-ok2v8
linkStyle 22 stroke:#a170ff
Loop-0t41j -.- GSheetCellComponent-wwd0a
linkStyle 23 stroke:#a170ff
GSheetCellComponent-wwd0a -.- CreateData-8pzaf
linkStyle 24 stroke:#a170ff
GSheetCellComponent-ok2v8 -.- CreateData-8pzaf
linkStyle 25 stroke:#a170ff
Gestão, envio e revisão de formulários
🧩 Descrição Geral
O fluxo automatiza a criação de formulários Google a partir de dados extraídos de uma planilha, gera as perguntas, move o arquivo criado para uma pasta específica, agenda uma revisão no Google Calendar e envia um e‑mail de notificação. O resultado final é registrado em outra planilha e o processo pode ser repetido em lote.
⚙️ Funcionalidades Principais
- Extrai linhas de uma planilha e itera sobre cada registro.
- Cria dinamicamente um formulário Google com título, descrição e até três perguntas.
- Gera perguntas (texto ou escolha) a partir dos campos da linha.
- Move o arquivo do formulário para a pasta “Formularios”.
- Agenda um evento de revisão na próxima data e hora em Google Calendar.
- Envia um e‑mail contendo a URL de resposta do formulário.
- Atualiza duas planilhas: adiciona a entrada criada e remove a entrada pendente.
🔄 Passos do Fluxo de Trabalho
| Nome do Componente | Papel no Fluxo | Entradas Principais | Saídas Principais |
|---|---|---|---|
| Obter dados para perguntas | Lê a planilha de registros pendentes. | URL da planilha, nome da aba, parâmetros de coluna. | Dados (lista de linhas). |
| Loop | Processa cada linha individualmente. | Dados da planilha. | Itera sobre cada item. |
| Extrae Título | Converte o título da linha em texto. | Linha. | Texto do título. |
| Extrae Descrição | Converte a descrição da linha em texto. | Linha. | Texto da descrição. |
| Crear formulário | Cria o formulário Google a partir do título, descrição e perguntas. | Título, descrição, perguntas 1‑3. | Dados do formulário criado (id, url, etc.). |
| Extrae ID do formulário | Obtém o ID do arquivo do formulário. | Dados do formulário criado. | ID do arquivo. |
| Mover a pasta de formularios | Move o arquivo criado para a pasta “Formularios”. | ID do arquivo, destino da pasta. | Registro da operação de movimento. |
| Enviar e‑mail | Envia notificação de revisão. | Email do destinatário, assunto, corpo do e‑mail. | Registro da mensagem enviada. |
| Criar evento | Agenda evento de revisão no Calendar. | Resumo, data/hora, descrição, participantes. | Registro do evento criado. |
| pregunta1 / pergunta2 / pergunta3 | Cria os dados das perguntas para o formulário. | Linha de dados. | Dados das perguntas (tipo, título, opções). |
| Passar fila a formularios creados | Registra a linha do formulário criado na planilha de “Criados”. | Dados do formulário criado. | Registro de inserção. |
| Eliminar fila de formularios pendientes | Remove a linha original da planilha de “Pendentes”. | Linha original. | Registro de exclusão. |
| Loop End | Marca fim de cada iteração do loop. | Item atual. | Retorno ao Loop. |
| Parse Data (final) | Coleta todos os registros processados após o loop. | Dados processados. | Dados consolidados. |
| Create Data2 | Constrói um registro final com: resposta do agente, ID do arquivo, e referências às operações de mover e excluir. | Resposta do agente, ID do arquivo, registros de mover/excluir. | Dados finais consolidados. |
| Gemini | Modelo de linguagem usado pelo agente para gerar instruções de e‑mail e calendário. | Prompt gerado. | Resposta de texto. |
| Agent | Orquestra as ações: recebe o prompt, usa Gemini, gera e envia e‑mail e calendário via Gmail/Calendar. | Prompt (dados do formulário, e‑mail). | Resposta do agente (texto de instrução). |
Observação: os componentes de LabelComponent são meramente informativos e não participam da lógica de processamento.
🧠 Notas
- O fluxo depende de credenciais OAuth para Google Sheets, Google Drive, Google Forms, Gmail e Calendar.
- Todas as chamadas que alteram arquivos (mover, deletar, adicionar) exigem permissões de escrita no Drive.
- O agente utiliza o modelo Gemini 2.5‑flash; a geração de texto é feita sem explicação de lógica interna.
- Os campos de mapping mode permitem processar múltiplos registros em lote, mantendo o fluxo stateless.
- O processo pode ser iniciado manualmente ou acionado por um gatilho de atualização na planilha de “Pendentes”.