Generador de facturas y entrega por Gmail
Generación de factura y notificación por correo basada en registros de Airtable
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
Airtable-nub7s[Compra por procesar]
style Airtable-nub7s stroke:#a170ff
GmailMesageComponent-m5njd[<div><img alt="logo" src="/_astro/gmail.CLxyIGOu.svg" style="height: 20px !important;width: 20px !important"/></div>Notificar por gmail]
style GmailMesageComponent-m5njd stroke:#a170ff
ParseData-lnctx[<div><img alt="logo" src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>Parse Data]
style ParseData-lnctx stroke:#a170ff
Airtable-oaruy[Marcar como atendido]
style Airtable-oaruy stroke:#a170ff
Loop-v9i9s[Loop]
style Loop-v9i9s stroke:#a170ff
LoopEnd-0246r[Loop End]
style LoopEnd-0246r stroke:#a170ff
OpenAIModel-glwa8[<div><img alt="logo" src="/_astro/openAI.BhmuxEs3.svg" style="height: 20px !important;width: 20px !important"/></div>OpenAI]
style OpenAIModel-glwa8 stroke:#a170ff
AdvancedAgent-bbgal[Agent2]
style AdvancedAgent-bbgal stroke:#a170ff
Airtable-nub7s -.- Loop-v9i9s
linkStyle 0 stroke:#a170ff
Loop-v9i9s -.- ParseData-lnctx
linkStyle 1 stroke:#a170ff
LoopEnd-0246r -.- Loop-v9i9s
linkStyle 2 stroke:#a170ff
AdvancedAgent-bbgal -.- LoopEnd-0246r
linkStyle 3 stroke:#a170ff
ParseData-lnctx -.- AdvancedAgent-bbgal
linkStyle 4 stroke:#a170ff
GmailMesageComponent-m5njd -.- AdvancedAgent-bbgal
linkStyle 5 stroke:#a170ff
Airtable-oaruy -.- AdvancedAgent-bbgal
linkStyle 6 stroke:#a170ff
OpenAIModel-glwa8 -.- AdvancedAgent-bbgal
linkStyle 7 stroke:#a170ff
🧩 Descripción general
El flujo automatiza la generación de facturas a partir de registros no atendidos en una tabla de Airtable y su envío por correo electrónico.
Utiliza un agente inteligente para interpretar cada registro, crear la factura, enviarla a Gmail y marcar el pedido como atendido, todo sin intervención humana.
⚙️ Funcionalidades principales
- Recupera de Airtable los pedidos pendientes.
- Itera sobre cada registro para procesarlos de forma individual.
- Convierte los datos de cada pedido en un texto estructurado.
- Envia una solicitud al modelo de OpenAI que genera la factura y su mensaje de correo.
- Envía el correo a través de Gmail.
- Marca el registro como atendido en Airtable.
- Repite el proceso para todos los pedidos pendientes.
🔄 Pasos del flujo de trabajo
| Nombre del componente | Rol en el flujo | Entradas clave | Salidas clave |
|---|---|---|---|
| Airtable (Lectura) | Obtiene registros sin atender | Operación = Read; Base = Nappai; Tabla = Imported table; Filtro = {atendido}="false" | Datos de ventas (lista de registros) |
| Bucle | Recorre cada registro de la lista | Datos de ventas | Registro individual (item) |
| Parsear Datos | Formatea el registro en texto | Registro individual | Texto con la información del pedido |
| Modelo de OpenAI | Genera la factura y correo | Texto del pedido | Texto con la factura y correo listo |
| Gmail Mensaje | Envía el correo a Gmail | Remitente, destinatario, asunto, cuerpo | Estado de envío (éxito/errores) |
| Airtable (Actualización) | Marca el pedido como atendido | Operación = Update; Record ID; Campos a actualizar (atendido="true") | Resultado de la actualización |
| Fin de Bucle | Finaliza la iteración y devuelve el resultado | Resultado del agente (para el registro) | Conjunto de resultados procesados |
Nota: Los componentes de Label solo sirven para describir etapas y no participan en la ejecución.
🧠 Notas
- Credenciales: el flujo requiere credenciales válidas para Airtable y Gmail; estas deben estar configuradas en el entorno del flujo.
- Limitaciones de API: la tasa de llamadas a Airtable y Gmail está limitada por los planes de sus respectivas APIs.
- Tamaño de registro: el número máximo de registros recuperados está configurado en 20, pero se puede ajustar mediante el parámetro
max_records. - Seguridad: los datos sensibles (correo electrónico, información de la factura) se manejan en texto plano dentro del flujo; se recomienda usar canales seguros y cifrado cuando sea posible.
- Errores: si el modelo de OpenAI devuelve un error, el agente seguirá intentando con la política de reintentos definida en la configuración.
- Persistencia: el flujo marca los pedidos como atendidos de forma atómica, garantizando que cada pedido se procese una sola vez incluso en caso de reinicio.