Management, submission, and review of forms
A form is managed, sent, and put into review with the different Google components.
+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
🧩 Overview
The workflow automates the entire life‑cycle of a Google Form: it pulls form specifications from a Google Sheet, builds the form, moves the form file to a dedicated folder, sends a notification email to the reviewer, creates a calendar event for the review, and finally compiles a record of the operation. The process runs entirely within the integrated environment, requiring only Google Cloud credentials and a configured Gemini model for natural‑language prompt generation.
⚙️ Main Features
- Data ingestion – Reads rows from a Google Sheet and loops through each entry.
- Form construction – Creates a Google Form using the title, description, and questions defined in the sheet.
- File organization – Moves the newly created form to a pre‑specified Drive folder.
- Email notification – Sends a templated email to the reviewer with the form link.
- Calendar scheduling – Adds a Google Calendar event for the review.
- Data aggregation – Builds a structured record that logs the form ID, file ID, and reviewer details.
🔄 Workflow Steps
| Component Name | Role in the Workflow | Key Inputs | Key Outputs |
|---|---|---|---|
| Google Sheets Cell | Retrieves rows containing form specifications. | Spreadsheet URL, sheet name, range, include headers. | Data records (rows). |
| Loop | Iterates over each row from the sheet. | Data list. | Single record (item) for each iteration. |
| Parse Data (title) | Extracts the title from the current record. | Data record. | Text string – form title. |
| Parse Data (description) | Extracts the description from the current record. | Data record. | Text string – form description. |
| Prompt | Builds a natural‑language prompt from title and description. | Title, description. | Prompt text. |
| Langgraph React Agent | Processes the prompt with Gemini, returning a JSON with fields for email and form details. | Prompt, Gemini model. | Message containing parsed data. |
| Create Data | Dynamically creates a data object to hold the agent’s response. | Agent response. | Structured data (Data) for downstream use. |
| Google Forms | Creates the form using the extracted title, description, and questions. | Title, description, items (questions). | Data containing form ID, URL, etc. |
| Parse Data (form_id) | Extracts the form ID from the form creation response. | Form creation data. | Text string – form ID. |
| Google Drive File | Moves the form file to the designated folder. | File ID, destination folder ID. | Data confirming move operation. |
| Gmail Message | Sends an email to the reviewer, including the form link. | Recipient, subject, body, attachments. | Data confirming email sent. |
| Google Calendar | Creates an event for the review on the next day. | Summary, start & end times, attendees. | Event data. |
| Parse Data (End) | Formats the final output message. | Aggregated data. | Text string – final report. |
🧠 Notes
- The workflow requires OAuth credentials with write access to Google Drive, Forms, Sheets, Gmail, and Calendar APIs.
- The Gemini model used by the Langgraph agent must be configured with the appropriate API key and permissions.
- All email and calendar operations rely on the reviewer’s email address supplied in the Google Sheet.
- The Loop component automatically handles multiple rows; each iteration produces an independent form creation and notification cycle.
- File moving and email sending are performed in mapping mode, allowing batch processing if multiple records are provided.
- The final data record is constructed by Create Data, which combines the form ID, file ID, reviewer email, and any other metadata for audit or downstream processing.
- This workflow is fully automated and can be triggered manually or scheduled as a cron job within the platform.