Gestión, envío y revisión de formularios
Se gestiona, envía y pone en revisión con los diferentes componentes Google un formulario
+4
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
googlecalendarcomponent-jaqxl[Crear evento]
style googlecalendarcomponent-jaqxl stroke:#a170ff
GmailMesageComponent-uj25t[<div><img src="/_astro/gmail.CLxyIGOu.svg" style="height: 20px !important;width: 20px !important"/></div>Enviar correo]
style GmailMesageComponent-uj25t stroke:#a170ff
GDriveFilesComponent-0mjfr[<div><img src="/_astro/google_drive.wKmDsV2c.svg" style="height: 20px !important;width: 20px !important"/></div>Mover a carpeta de formularios]
style GDriveFilesComponent-0mjfr stroke:#a170ff
GSheetCellComponent-fmnmq[Obtener datos para preguntas]
style GSheetCellComponent-fmnmq stroke:#a170ff
googleFormscomponent-aowyt[Crear formulario]
style googleFormscomponent-aowyt stroke:#a170ff
googleFormsDatacomponent-gtnj5[Crear preguntas de formulario]
style googleFormsDatacomponent-gtnj5 stroke:#a170ff
GDriveFolderComponent-4gs0x[<div><img src="/_astro/google_drive.wKmDsV2c.svg" style="height: 20px !important;width: 20px !important"/></div>Obtener carpeta de formularios]
style GDriveFolderComponent-4gs0x stroke:#a170ff
ParseData-hsneb[<div><img src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>Obtener id de carpeta]
style ParseData-hsneb stroke:#a170ff
ParseData-l0t0p[<div><img src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>Obtener Datos]
style ParseData-l0t0p stroke:#a170ff
Prompt-63lqj[<div><img src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>Consulta]
style Prompt-63lqj stroke:#a170ff
TextInput-m37hp[<div><img src="/_astro/type.Dy26vmDy.svg" style="height: 20px !important;width: 20px !important"/></div>Email a enviar]
style TextInput-m37hp stroke:#a170ff
LanggraphReactAgent-fkij3[Agent]
style LanggraphReactAgent-fkij3 stroke:#a170ff
OpenAIModel-4xmn9[<div><img src="/_astro/openAI.BhmuxEs3.svg" style="height: 20px !important;width: 20px !important"/></div>OpenAI]
style OpenAIModel-4xmn9 stroke:#a170ff
ChatOutput-9yddi[<div><img src="/_astro/messages-square.BaSDmT6g.svg" style="height: 20px !important;width: 20px !important"/></div>Chat Output]
style ChatOutput-9yddi stroke:#a170ff
TextInput-60yea[<div><img src="/_astro/type.Dy26vmDy.svg" style="height: 20px !important;width: 20px !important"/></div>Nombre del formulario]
style TextInput-60yea stroke:#a170ff
GSheetCellComponent-fmnmq -.- googleFormsDatacomponent-gtnj5
linkStyle 0 stroke:#a170ff
googleFormsDatacomponent-gtnj5 -.- googleFormscomponent-aowyt
linkStyle 1 stroke:#a170ff
GDriveFolderComponent-4gs0x -.- ParseData-hsneb
linkStyle 2 stroke:#a170ff
googleFormscomponent-aowyt -.- ParseData-l0t0p
linkStyle 3 stroke:#a170ff
ParseData-l0t0p -.- Prompt-63lqj
linkStyle 4 stroke:#a170ff
TextInput-m37hp -.- Prompt-63lqj
linkStyle 5 stroke:#a170ff
Prompt-63lqj -.- LanggraphReactAgent-fkij3
linkStyle 6 stroke:#a170ff
GmailMesageComponent-uj25t -.- LanggraphReactAgent-fkij3
linkStyle 7 stroke:#a170ff
OpenAIModel-4xmn9 -.- LanggraphReactAgent-fkij3
linkStyle 8 stroke:#a170ff
LanggraphReactAgent-fkij3 -.- ChatOutput-9yddi
linkStyle 9 stroke:#a170ff
TextInput-m37hp -.- googlecalendarcomponent-jaqxl
linkStyle 10 stroke:#a170ff
googlecalendarcomponent-jaqxl -.- LanggraphReactAgent-fkij3
linkStyle 11 stroke:#a170ff
TextInput-60yea -.- googleFormscomponent-aowyt
linkStyle 12 stroke:#a170ff
GDriveFilesComponent-0mjfr -.- LanggraphReactAgent-fkij3
linkStyle 13 stroke:#a170ff
ParseData-hsneb -.- GDriveFilesComponent-0mjfr
linkStyle 14 stroke:#a170ff
📄 Gestión, envío y revisión de formularios
🧩 Descripción general
El flujo automatiza la creación de un formulario de Google Forms a partir de una hoja de cálculo, su traslado a una carpeta específica de Google Drive, la creación de un evento de Google Calendar y el envío de un correo electrónico con el enlace del formulario. El proceso se coordina mediante un agente Langgraph que decide cuándo y cómo usar las herramientas disponibles, garantizando una ejecución coherente y libre de intervención humana.
⚙️ Funcionalidades principales
- Recopila el título y el correo del responsable mediante entradas de texto.
- Obtiene la carpeta destino en Google Drive y extrae su identificador.
- Mueve el archivo del formulario recién creado a dicha carpeta.
- Lee las filas de una hoja de Google Sheets para construir las preguntas del formulario.
- Genera el formulario con título, descripción y preguntas formateadas.
- Extrae el identificador y la URL del formulario creado.
- Construye un prompt dinámico que incluye la información del formulario y el correo destinatario.
- Usa un agente Langgraph para decidir y ejecutar las tareas: crear evento, enviar correo, mover archivo.
- Muestra el resultado en la consola del Playground.
🔄 Pasos del flujo de trabajo
| Nombre del componente | Rol en el flujo | Entradas clave | Salidas clave |
|---|---|---|---|
| Text Input | Recopila el nombre del formulario. | Texto libre (título). | Título del formulario. |
| Text Input | Recopila el correo del destinatario. | Dirección de correo. | Correo del destinatario. |
| Google Drive Folder Component | Busca la carpeta donde se moverá el formulario. | Nombre o ruta de la carpeta. | Información de la carpeta (ID, nombre). |
| Parse Data | Extrae el ID de la carpeta. | Datos de la carpeta. | ID de la carpeta. |
| Google Drive File Component | Mueve el archivo del formulario a la carpeta objetivo. | ID del archivo, ID de la carpeta, nombre nuevo. | Confirma la operación (estado). |
| Google Sheet Cell Component | Obtiene las filas que contienen las preguntas. | ID de la hoja, nombre de la hoja. | Datos de las filas (texto). |
| Google Forms Data Component | Convierte las filas en objetos de pregunta. | Datos de las filas. | Lista de preguntas formateadas. |
| Google Forms Component | Crea el formulario con título, descripción y preguntas. | Título, descripción, lista de preguntas. | Datos del formulario (ID, URL, etc.). |
| Parse Data | Extrae datos relevantes del formulario (ID, URL). | Datos del formulario. | Texto con ID, URL y otros metadatos. |
| Prompt | Construye el mensaje de entrada para el agente. | Texto del formulario, correo destinatario. | Prompt final para el agente. |
| Langgraph React Agent | Procesa el prompt y ejecuta herramientas según necesidad. | Prompt completo. | Mensaje de respuesta y eventos creados. |
| Chat Output | Muestra la respuesta final del agente. | Mensaje de respuesta. | Mensaje visible en el Playground. |
🧠 Notas
- Credenciales: Los componentes que interactúan con Google (Drive, Sheets, Forms, Calendar, Gmail) requieren credenciales válidas configuradas en el entorno.
- Mapping Mode: Los componentes con
mapping_mode=trueestán preparados para procesar listas de datos en batch; en este flujo se usan en modo individual. - Orden de Ejecución: El agente Langgraph decide cuándo invocar cada herramienta; el flujo asegura que el formulario esté creado antes de moverlo y crear el evento.
- Dependencias: El flujo necesita una hoja de cálculo con preguntas estructuradas; la ausencia de filas o de la hoja resultará en error.
- Errores comunes:
- ID de carpeta incorrecto → falla al mover el archivo.
- Falta de permiso de Gmail → no se envía el correo.
- Problemas de autenticación de Google → interrupción de cualquier operación.
- Extensibilidad: Se pueden añadir más herramientas al agente (p. ej., copiar archivos, notificar vía Slack) simplemente vinculándolas a la lista
tools. - Tamaño de la respuesta: El modelo de IA está configurado con un
max_tokensde 0 (ilimitado) y sin JSON mode, lo que permite respuestas libres de formato.