Fulgencio Procesar Propuestas en Bruto - GLM

Workflow n8n que procesa automáticamente propuestas cargadas en bruto, extrae metadata con Gemini, normaliza los datos según las listas del Banco de Propuestas de Fulgencio, agrega la propuesta al Google Sheet oficial y mueve el archivo a la carpeta de propuestas procesadas.


INFORMACIÓN GENERAL

Campo Detalle
Proyecto Fulgencio Procesar Propuestas en Bruto - GLM
Área CDC / Proyectos IT / Creatividad y Diseño
Estado Producción
Developer Principal Isaac Aracena
IT Manager Luis Matos
Product Owner Máximo Gómez
Ciclo Shape Up CDC Fulgencio V2.0
Repositorio Gitea fulgencio-procesar-propuestas-en-bruto-glm
Workflow n8n Fulgencio Procesar Propuestas en Bruto - GLM
Estado del workflow Activo

OBJETIVO

Problema que resuelve

El Banco de Propuestas de Fulgencio necesita mantenerse actualizado con nuevas propuestas para que el asistente pueda consultarlas posteriormente por cliente, marca, país, año, canal, tipo de acción, etiquetas y descripción.

Antes de este flujo, alimentar el banco dependía de digitación manual. Ese proceso podía ser lento, propenso a errores y difícil de escalar cuando se recibían muchas propuestas nuevas.

También existía el riesgo de que archivos cargados en bruto quedaran sin procesar, con nombres inconsistentes o sin metadata suficiente para ser encontrados luego por Fulgencio.

Solución implementada

Este workflow automatiza el procesamiento inicial de propuestas cargadas en la carpeta de Drive BANCO DE PROPUESTAS EN BRUTO.

El flujo:

  • Detecta archivos nuevos o actualizados en la carpeta de propuestas en bruto.
  • Lee el nombre del archivo y metadata disponible.
  • Extrae el país desde el estándar [PAIS=PAIS] Nombre de la propuesta AÑO.
  • Usa Gemini para inferir metadata como cliente, marca, año, tipo de acción, canal, etiquetas, descripción y táctica promocional.
  • Normaliza los valores contra listas permitidas.
  • Marca campos dudosos como PENDIENTE, OTRO o requiere_revision.
  • Agrega la propuesta al Google Sheet del Banco de Propuestas de Fulgencio.
  • Mueve el archivo a la carpeta PROPUESTAS PROCESADAS.

Usuarios / Beneficiarios

Usuario Beneficio
Equipo CDC Reduce digitación manual y organiza nuevas propuestas.
Equipo IT Mantiene una carga automatizada y controlada hacia el banco.
Fulgencio V2.0 Recibe propuestas nuevas para futuras consultas.
Usuarios internos GLM Pueden consultar propuestas recientes desde Google Chat.
Responsables del banco Detectan propuestas que requieren revisión manual.

ARQUITECTURA

Diagrama de flujo

[Google Drive Trigger - fileCreated / fileUpdated]
        ↓
[Loop - Archivos]
        ↓
[Code - Preparar archivo]
        ↓
[Gemini - Extraer metadata]
        ↓
[Code - Normalizar respuesta]
        ↓
[Sheets - Agregar propuesta]
        ↓
[Drive - Mover a procesadas]
        ↓
[Loop - Archivos]

Stack tecnológico

Componente Tecnología Propósito
Automatización n8n Orquestación del flujo
Entrada de archivos Google Drive Trigger Detecta propuestas nuevas o actualizadas
IA Gemini Extrae metadata estructurada
Normalización Code node JavaScript Limpia, normaliza y valida valores
Base de conocimiento Google Sheets Banco de Propuestas de Fulgencio
Gestión documental Google Drive Mueve archivos procesados
Versionado Gitea Backup del workflow y documentación

Integraciones externas

Sistema Tipo de integración Datos que fluyen
Google Drive OAuth / Trigger Archivos nuevos o actualizados en carpeta de propuestas en bruto
Gemini API Extracción de metadata desde nombre y contexto del archivo
Google Sheets OAuth Inserción de propuesta procesada en el banco
Google Drive OAuth Movimiento del archivo a carpeta de procesadas
n8n Workflow automation Ejecución, logs y control del proceso
Gitea Git / backup Export del workflow y README

FUENTES Y DESTINOS

Carpeta de entrada

Campo Detalle
Carpeta BANCO DE PROPUESTAS EN BRUTO
Uso Carpeta donde se cargan las propuestas pendientes de procesar
Trigger Archivo creado o archivo actualizado

Google Sheet destino

Campo Detalle
Documento BANCO DE PROPUESTAS DE CDC PARA FULGENCIO FUMADO
Hoja propuestas
Uso Banco principal que consulta Fulgencio

Carpeta de salida

Campo Detalle
Carpeta PROPUESTAS PROCESADAS
Uso Carpeta donde se mueven los archivos después de registrarse correctamente

REGLAS DE NEGOCIO

Estándar de nombre de archivo

El archivo debe usar preferiblemente este formato:

[PAIS=PAIS] Nombre de la propuesta AÑO

Ejemplos:

[PAIS=GUATEMALA] Pollo Campero RTM WMC 2026.pptx
[PAIS=REPUBLICA DOMINICANA] Motorola Activación PDV 2026.pdf
[PAIS=COSTA RICA] Kit Kat Sampling Supermercado 2025.pptx

Reglas de país

  • El país se toma del nombre del archivo, específicamente del patrón [PAIS=...].
  • Gemini no debe inventar ni cambiar el país.
  • Si no se detecta país, se guarda como SIN PAIS DEFINIDO.
  • Si el país no coincide con la lista permitida, se marca como SIN PAIS DEFINIDO.
  • Los registros sin país definido quedan marcados para revisión.

Países permitidos

  • EL SALVADOR
  • PANAMA
  • REPUBLICA DOMINICANA
  • COLOMBIA
  • PUERTO RICO
  • HONDURAS
  • MEXICO
  • VENEZUELA
  • JAMAICA
  • TRINIDAD Y TOBAGO
  • COSTA RICA
  • NICARAGUA
  • GUATEMALA
  • SIN PAIS DEFINIDO

Campos extraídos por Gemini

Gemini intenta extraer:

  • Nombre de propuesta
  • Cliente
  • Marca
  • Cliente normalizado
  • Marca normalizada
  • Año
  • Tipo de acción
  • Canal
  • Tags
  • Descripción
  • Táctica promocional

Campos no determinados por Gemini

Por regla de negocio:

  • APROBADA no la decide Gemini.
  • AMBIENTE DE COMPRA (RE) no la decide Gemini.

Estos campos se guardan como pendientes o valores por revisar según corresponda.

Reglas de normalización

El flujo normaliza valores para que coincidan con las listas del Google Sheet.

Ejemplos:

Entrada posible Salida normalizada
Nestlé NESTLE
Nescafé NESCAFE
KitKat KIT KAT
Sampling SAMPLING - MUESTREO
Punto de venta PDV / ACTIVACION EN PDV según campo
Canal moderno MODERNO
Whirpool WHIRLPOOL

Reglas de revisión

Una propuesta queda marcada con requiere_revision = true si:

  • El país no se detecta.
  • El país no es válido.
  • El tipo de acción queda como OTRO o PENDIENTE.
  • El cliente queda como OTRO o PENDIENTE.
  • La marca queda como OTRO o PENDIENTE.
  • El canal queda como PENDIENTE.
  • La táctica promocional queda como OTRO o PENDIENTE.
  • Las etiquetas quedan como OTRO o PENDIENTE.
  • El año queda como PENDIENTE.

Los motivos se guardan en la columna:

motivos_revision

Reglas de cierre

  • La propuesta solo se mueve a PROPUESTAS PROCESADAS después de agregarse correctamente al Sheet.
  • Si falla la escritura en Sheets, el archivo no debería considerarse procesado.
  • Si falla Gemini o la normalización, revisar n8n Executions.
  • Si una propuesta queda con campos dudosos, se registra igual, pero marcada para revisión.

CONFIGURACIÓN Y SETUP

Prerrequisitos

  • Acceso a n8n en el entorno GLM.

  • Acceso a Google Drive con permisos sobre:

    • BANCO DE PROPUESTAS EN BRUTO
    • PROPUESTAS PROCESADAS
  • Acceso al Google Sheet:

    • BANCO DE PROPUESTAS DE CDC PARA FULGENCIO FUMADO
  • Credencial de Google Drive configurada en n8n.

  • Credencial de Google Sheets configurada en n8n.

  • Credencial de Gemini configurada en n8n.

  • Acceso al repositorio Gitea fulgencio-procesar-propuestas-en-bruto-glm.

Credenciales / variables

Credencial / Variable Descripción Dónde se obtiene
Google Drive OAuth Permite detectar y mover archivos en Drive n8n Credentials
Google Sheets OAuth Permite agregar filas al banco de propuestas n8n Credentials
Gemini API Permite extraer metadata con IA n8n Credentials
RAW_FOLDER_ID ID de carpeta BANCO DE PROPUESTAS EN BRUTO Google Drive
PROCESSED_FOLDER_ID ID de carpeta PROPUESTAS PROCESADAS Google Drive
BANCO_PROPUESTAS_SHEET_ID ID del Google Sheet del banco Google Sheets
ERROR_WORKFLOW_ID Workflow de error configurado para fallos n8n

Nunca commitear credenciales al repo. Todas las keys, tokens y accesos deben mantenerse en n8n Credentials, variables seguras o vault interno GLM.

Esquema de base de datos

No aplica.

Este flujo no usa Supabase/Postgres. La fuente principal y destino son Google Drive y Google Sheets.

Instalación / Deploy

git clone https://git.digitalcompass.agency/Isaac_Aracena/fulgencio-procesar-propuestas-en-bruto-glm.git

# En n8n:
# 1. Abrir n8n.
# 2. Importar el JSON del workflow.
# 3. Revisar credenciales de Google Drive.
# 4. Revisar credenciales de Google Sheets.
# 5. Revisar credencial de Gemini.
# 6. Validar carpeta de entrada BANCO DE PROPUESTAS EN BRUTO.
# 7. Validar carpeta de salida PROPUESTAS PROCESADAS.
# 8. Validar Google Sheet destino.
# 9. Ejecutar prueba con archivo controlado.
# 10. Activar el workflow.

CÓMO FUNCIONA

Flujo paso a paso

  1. Trigger - Nueva propuesta en bruto

    • Se activa cuando se crea un archivo nuevo en la carpeta de propuestas en bruto.
  2. Trigger - Nueva propuesta en bruto1

    • Se activa cuando se actualiza un archivo en la misma carpeta.
  3. Loop - Archivos

    • Procesa archivos por lote para evitar errores cuando entran varios archivos.
  4. Code - Preparar archivo

    • Obtiene:

      • ID del archivo.
      • Nombre del archivo.
      • Link de Drive.
      • Tipo MIME.
      • Nombre limpio.
      • País detectado desde [PAIS=...].
      • Confianza del país.
      • Revisión inicial si el país falta o es inválido.
  5. Gemini - Extraer metadata

    • Usa el nombre del archivo, país, tipo de archivo y link para inferir metadata.
    • Devuelve campos estructurados.
  6. Code - Normalizar respuesta

    • Limpia y normaliza la salida de Gemini.
    • Convierte valores a los estándares del banco.
    • Aplica listas permitidas.
    • Marca requiere_revision y motivos_revision.
  7. Sheets - Agregar propuesta

    • Agrega la propuesta procesada al Google Sheet del banco.
  8. Drive - Mover a procesadas

    • Mueve el archivo desde la carpeta en bruto hacia la carpeta de procesadas.
  9. Loop - Archivos

    • Continúa con el siguiente archivo si hay más pendientes.

Triggers

Trigger Frecuencia Descripción
Google Drive fileCreated Cada minuto Detecta archivos nuevos en carpeta de propuestas en bruto
Google Drive fileUpdated Cada minuto Detecta archivos actualizados en la misma carpeta
Ejecución manual Bajo demanda Permite pruebas desde n8n

OUTPUTS

Registro en Banco de Propuestas

El flujo agrega una fila con campos como:

Campo Descripción
NOMBRE Nombre limpio de la propuesta
TIPO DE ACCION Tipo de acción normalizado
CLIENTE Cliente normalizado
MARCA Marca normalizada
PAIS País detectado desde el nombre
CANAL Canal normalizado
AMBIENTE DE COMPRA (RE) Pendiente por regla actual
TÁCTICA PROMOCIONAL Táctica inferida y normalizada
APROBADA Pendiente de aprobación
ETIQUETAS Tags normalizados
AÑO Año detectado o pendiente
Enlace a la propuesta Link del archivo en Drive
Descripcion Descripción profesional generada por IA
file_id ID del archivo en Drive
nombre_archivo Nombre original del archivo
mime_type Tipo MIME
fuente_pais Fuente de detección del país
confianza_pais Nivel de confianza
requiere_revision Indica si requiere revisión manual
motivos_revision Motivos por los que requiere revisión
procesado_ia Indica que fue procesado por IA
ultima_actualizacion Timestamp del procesamiento

Movimiento de archivo

Al finalizar correctamente:

BANCO DE PROPUESTAS EN BRUTO
        ↓
PROPUESTAS PROCESADAS

TESTING

Casos de prueba mínimos

Caso Input Output esperado Estado
Caso feliz Archivo con [PAIS=GUATEMALA] Nombre 2026.pptx Fila agregada y archivo movido A completar
País faltante Archivo sin [PAIS=...] PAIS = SIN PAIS DEFINIDO y requiere revisión A completar
País inválido Archivo con país no permitido PAIS = SIN PAIS DEFINIDO A completar
Cliente claro Nombre con cliente/marca reconocible CLIENTE y MARCA normalizados A completar
Año faltante Archivo sin año AÑO = PENDIENTE A completar
Táctica dudosa No se puede inferir mecánica TÁCTICA PROMOCIONAL = PENDIENTE u OTRO A completar
Gemini falla Error en API Gemini Error visible en n8n Executions A completar
Sheet sin permiso Credencial sin acceso Error 403/401 visible A completar
Drive move falla No puede mover archivo Fila puede quedar agregada, revisar Drive manualmente A completar
Archivo actualizado Modificación en carpeta en bruto Trigger fileUpdated ejecuta flujo A completar

Checklist de prueba rápida

  • Subir archivo de prueba a BANCO DE PROPUESTAS EN BRUTO.
  • Confirmar que el workflow se dispara.
  • Confirmar que detecta el país desde [PAIS=...].
  • Confirmar que Gemini devuelve metadata.
  • Confirmar que se normalizan cliente, marca, canal y táctica.
  • Confirmar que se agrega fila al Banco de Propuestas.
  • Confirmar que el archivo se mueve a PROPUESTAS PROCESADAS.
  • Confirmar que requiere_revision se marca correctamente.
  • Revisar n8n Executions.
  • Exportar JSON actualizado.
  • Commit en Gitea.

ERRORES CONOCIDOS Y TROUBLESHOOTING

Error Causa probable Solución
No se dispara el workflow Trigger desactivado o carpeta incorrecta Validar trigger y folder ID
País queda SIN PAIS DEFINIDO Archivo no usa [PAIS=...] o país no permitido Renombrar archivo con estándar correcto
Gemini devuelve PENDIENTE Nombre del archivo no contiene suficiente contexto Revisar archivo manualmente o mejorar nombre
Cliente queda OTRO Cliente no está en lista permitida Agregar cliente a lista o corregir manualmente
Marca queda OTRO Marca no está en lista permitida Agregar marca a lista o corregir manualmente
Error 401/403 Google Drive Credencial sin permisos Renovar credencial o compartir carpeta
Error 401/403 Google Sheets Cuenta sin acceso al Sheet Compartir Sheet con cuenta usada en n8n
No se mueve archivo Permiso insuficiente en carpeta destino Revisar acceso a PROPUESTAS PROCESADAS
Duplicados en banco Trigger fileCreated y fileUpdated procesan el mismo archivo Revisar si se requiere control por file_id
Columnas no coinciden Encabezado del Sheet cambió Actualizar mapeo en Sheets - Agregar propuesta
Modelo Gemini lento o falla Servicio externo o cuota Revisar credencial, modelo y ejecución

MONITOREO

  • Revisar n8n Executions regularmente.
  • Verde = flujo completado.
  • Rojo = fallo que requiere revisión.
  • Revisar periódicamente filas con requiere_revision = true.
  • Confirmar que los archivos no se acumulen en BANCO DE PROPUESTAS EN BRUTO.
  • Confirmar que los archivos procesados estén en PROPUESTAS PROCESADAS.
  • Revisar que el Banco de Propuestas no tenga duplicados por file_id.
  • Mantener el backup del workflow actualizado en Gitea.

Output esperado normal

El flujo debe:

  • Detectar archivo nuevo o actualizado.
  • Preparar metadata base.
  • Extraer metadata con Gemini.
  • Normalizar valores.
  • Agregar fila al banco.
  • Mover archivo a procesadas.
  • Terminar sin errores.

ESTRUCTURA DEL REPOSITORIO

/fulgencio-procesar-propuestas-en-bruto-glm
|-- README.md
|-- fulgencio-procesar-propuestas-en-bruto-glm.json
|-- /docs
|   └-- [capturas o documentación adicional si aplica]
|-- CHANGELOG.md
└-- DECISIONS.md

Si el repo solo contiene README.md y el JSON del workflow, mantener esta estructura simple. Si el proyecto crece, agregar /docs, CHANGELOG.md y DECISIONS.md.


CHANGELOG

2026-06 — v1.0

  • Creación del workflow Fulgencio Procesar Propuestas en Bruto - GLM.
  • Detección automática de archivos en carpeta en bruto.
  • Extracción de metadata con Gemini.
  • Normalización de cliente, marca, país, canal, etiquetas y táctica promocional.
  • Registro automático en Banco de Propuestas.
  • Movimiento automático a carpeta de procesadas.
  • Backup del workflow en Gitea.
  • Documentación inicial del README.

DECISIONS LOG

DEC-001 — Usar Google Drive como entrada operativa

  • Fecha: 2026-06
  • Contexto: Las propuestas nuevas llegan como archivos en una carpeta compartida.
  • Opciones consideradas: Carga manual en Sheet vs carpeta de entrada.
  • Decisión: Usar carpeta BANCO DE PROPUESTAS EN BRUTO.
  • Razón: Permite que el equipo cargue archivos sin tocar directamente el banco.

DEC-002 — Usar estándar [PAIS=...] en el nombre del archivo

  • Fecha: 2026-06
  • Contexto: El país es crítico para buscar propuestas correctamente.
  • Opciones consideradas: Inferir país con IA vs tomarlo del nombre/carpeta.
  • Decisión: Tomar país desde el nombre del archivo.
  • Razón: Evita que Gemini invente el país.

DEC-003 — Usar Gemini solo para metadata inferible

  • Fecha: 2026-06
  • Contexto: Algunas columnas pueden inferirse del nombre y contexto del archivo.
  • Decisión: Gemini extrae cliente, marca, año, tipo de acción, canal, tags, descripción y táctica.
  • Razón: Reduce digitación manual sin eliminar revisión humana.

DEC-004 — No determinar APROBADA con IA

  • Fecha: 2026-06
  • Contexto: La aprobación requiere criterio del equipo.
  • Decisión: Guardar APROBADA como PENDIENTE DE APROBACION.
  • Razón: Evita que IA tome decisiones operativas que deben ser manuales.

DEC-005 — Mover archivo solo después de registrar en Sheet

  • Fecha: 2026-06
  • Contexto: El archivo no debe salir de la carpeta en bruto si no se registró correctamente.
  • Decisión: Primero agregar al Sheet y luego mover a procesadas.
  • Razón: Reduce pérdida de trazabilidad.

CONTACTOS DEL PROYECTO

Rol Nombre
Product Owner Máximo Gómez
IT Manager Luis Matos
Developer Isaac Aracena
Soporte IT Equipo GLM IT

DEFINITION OF DONE

  • Workflow activo en n8n.
  • Trigger de archivo creado validado.
  • Trigger de archivo actualizado validado.
  • Carpeta BANCO DE PROPUESTAS EN BRUTO validada.
  • Carpeta PROPUESTAS PROCESADAS validada.
  • Extracción con Gemini probada.
  • Normalización de campos validada.
  • Inserción en Banco de Propuestas validada.
  • Movimiento de archivo validado.
  • Casos de revisión manual validados.
  • n8n Executions sin errores.
  • Workflow exportado y subido a Gitea.
  • README completo y actualizado.
  • Link del repo agregado al Kan.bn de CDC Fulgencio V2.0.
  • Validado por IT.
  • Validado por responsable del proceso si aplica.

NOTAS OPERATIVAS

  • Este repositorio contiene el backup/documentación del workflow n8n.
  • No debe contener credenciales ni tokens.
  • El archivo debe seguir el estándar [PAIS=PAIS] Nombre de la propuesta AÑO.
  • Si una propuesta no tiene país, quedará como SIN PAIS DEFINIDO.
  • Si una propuesta tiene datos dudosos, quedará con requiere_revision = true.
  • Si se agregan nuevos clientes, marcas, países, canales o tácticas, actualizar las listas permitidas en Code - Normalizar respuesta.
  • Si cambia la estructura del Banco de Propuestas, actualizar el mapeo del nodo Sheets - Agregar propuesta.
  • Si se cambia la carpeta de entrada o salida, actualizar los IDs en los nodos de Google Drive.

S
Description
Backup público automático del workflow n8n: Fulgencio Procesar Propuestas en Bruto - GLM
Readme 96 KiB