Tablero CDC - Refrescar Banco Fulgencio Diario
Workflow n8n que revisa diariamente propuestas sincronizadas desde Tablero CDC hacia el Banco de Propuestas de Fulgencio, detecta archivos modificados en Google Drive, reanaliza el contenido con Gemini y actualiza metadata clave para mejorar las búsquedas de FulgencioChat.
INFORMACIÓN GENERAL
| Campo | Detalle |
|---|---|
| Proyecto | Tablero CDC - Refrescar Banco Fulgencio Diario |
| Área | CDC |
| 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 | tablero-cdc-refrescar-banco-fulgencio-diario |
| Workflow n8n | Tablero CDC - Refrescar Banco Fulgencio Diario |
| Estado del workflow | Activo |
| Canal / Fuente | Tablero CDC + Google Sheets + Google Drive |
| Frecuencia | Diario, 23:00, según zona horaria configurada en n8n |
OBJETIVO
Problema que resuelve
El Banco de Propuestas de Fulgencio se alimenta con propuestas provenientes de distintas fuentes, incluyendo propuestas sincronizadas desde Tablero CDC. Sin un proceso de refresco, una propuesta que fue modificada en Drive después de su sincronización inicial podría quedarse con metadata desactualizada en el banco.
Esto afecta la calidad de las respuestas de FulgencioChat, porque el asistente depende de campos como nombre, tipo de acción, canal, etiquetas, descripción y táctica promocional para encontrar y explicar propuestas correctamente.
Además, algunas propuestas pueden venir desde Tablero CDC como Google Slides nativo o como archivos PPTX. Sin automatización, habría que revisar manualmente cuáles archivos cambiaron, exportar contenido, analizarlo y actualizar el banco.
Solución implementada
Este workflow ejecuta una revisión diaria sobre el Banco de Propuestas de Fulgencio y procesa únicamente las filas que vienen desde Tablero CDC.
El flujo:
- Lee el Banco de Propuestas de Fulgencio.
- Identifica filas cuyo origen es
Tablero CDC. - Valida que tengan
tablero_sync_key,tablero_project_idy enlace de propuesta. - Obtiene metadata del archivo en Google Drive.
- Compara
drive_modified_timecontraultimo_refresco_ia. - Decide si la propuesta debe refrescarse.
- Exporta contenido si es Google Slides nativo.
- Convierte PPTX a Google Slides si aplica y si pesa 100 MB o menos.
- Reanaliza el contenido con Gemini.
- Normaliza campos del banco.
- Actualiza la fila existente mediante
tablero_sync_key. - Marca errores o casos de revisión cuando no puede procesar.
Usuarios / Beneficiarios
| Usuario | Beneficio |
|---|---|
| Equipo CDC | Mantiene las propuestas de Tablero CDC actualizadas en el banco de Fulgencio. |
| Equipo creativo | Mejora la calidad de búsquedas por tipo de acción, canal, etiquetas y descripción. |
| Equipo IT | Automatiza el refresco sin revisar manualmente cada archivo. |
| FulgencioChat V3 | Consulta datos más actualizados y mejor normalizados. |
| Usuarios internos GLM | Reciben mejores respuestas al buscar propuestas sincronizadas desde Tablero CDC. |
ARQUITECTURA
Diagrama de flujo
[Schedule Trigger diario 23:00]
↓
[Sheets - Leer Banco Fulgencio]
↓
[Code - Filtrar filas Tablero CDC]
↓
[Loop - Filas Banco Fulgencio]
↓
[IF - Tiene file_id?]
├── No → [Code - Marcar sin file_id]
│ ↓
│ [Google Sheets - Upsert Banco Fulgencio]
│
└── Sí → [HTTP - Obtener metadata Drive]
↓
[Code - Evaluar refresco]
↓
[IF - Debe refrescar?]
├── No → [Loop - siguiente fila]
│
└── Sí → [IF - Es Google Slides nativo?]
├── Sí → [HTTP - Exportar Slides TXT]
│
└── No → [IF - PPTX pesa <= 100MB?]
├── Sí → [HTTP - Convertir PPTX con Apps Script]
│ ↓
│ [Code - Preparar ID convertido]
│ ↓
│ [IF - Conversion OK?]
│ ↓
│ [HTTP - Exportar Slides TXT]
│
└── No → [Code - Marcar PPTX demasiado pesado]
[HTTP - Exportar Slides TXT]
↓
[Code - Preparar texto IA Refresco]
↓
[IF - Tiene contenido?]
├── Sí → [Gemini - Reanalizar contenido Slides]
│ ↓
│ [Code - Normalizar respuesta refresco]
│ ↓
│ [Google Sheets - Upsert Banco Fulgencio]
│
└── No → [Code - Marcar sin contenido]
↓
[Google Sheets - Upsert Banco Fulgencio]
[Upsert Banco Fulgencio]
↓
[Loop - siguiente fila]
Stack tecnológico
| Componente | Tecnología | Propósito |
|---|---|---|
| Automatización | n8n | Orquestación del refresco diario |
| Trigger | Schedule Trigger | Ejecutar el flujo automáticamente |
| Fuente principal | Google Sheets | Banco de Propuestas de Fulgencio |
| Archivos fuente | Google Drive | Obtener metadata y contenido de propuestas |
| Conversión PPTX | Google Apps Script | Convertir PPTX a Google Slides cuando aplica |
| Análisis IA | Gemini | Reanalizar contenido de presentaciones |
| Normalización | Code node JavaScript | Normalizar tipo de acción, canal, tags y descripción |
| Actualización | Google Sheets appendOrUpdate | Actualizar filas por tablero_sync_key |
| Versionado | Gitea | Backup del workflow y documentación |
Integraciones externas
| Sistema | Tipo de integración | Datos que fluyen |
|---|---|---|
| Google Sheets | OAuth | Lee y actualiza el Banco de Propuestas de Fulgencio |
| Google Drive | OAuth / HTTP API | Obtiene metadata, exporta Google Slides y accede a archivos |
| Google Apps Script | HTTP Request | Convierte PPTX a Google Slides |
| Gemini | API | Reanaliza contenido exportado de presentaciones |
| n8n | Workflow automation | Orquestación, logs y manejo de ramas |
| Gitea | Git / backup | Export del workflow y README |
FUENTES Y DESTINOS
Fuente principal
| Campo | Detalle |
|---|---|
| Documento | BANCO DE PROPUESTAS DE CDC PARA FULGENCIO FUMADO |
| Hoja | propuestas |
| Uso | Banco principal que consulta Fulgencio |
| Lectura | Desde fila 465 |
| Filtro operativo | Filas con origen Tablero CDC |
Archivo fuente de propuesta
| Campo | Detalle |
|---|---|
| Fuente | Google Drive |
| Identificador | file_id o ID extraído desde Enlace a la propuesta |
| Uso | Obtener metadata, fecha de modificación y contenido |
| Tipos soportados | Google Slides nativo y PPTX convertible |
Destino de actualización
| Campo | Detalle |
|---|---|
| Documento | BANCO DE PROPUESTAS DE CDC PARA FULGENCIO FUMADO |
| Hoja | propuestas |
| Operación | appendOrUpdate |
| Matching column | tablero_sync_key |
REGLAS DE NEGOCIO
Reglas de selección de filas
El flujo solo debe procesar filas que cumplan estas condiciones:
tablero_origen = Tablero CDC- Tiene
tablero_sync_key - Tiene
tablero_project_id - Tiene
Enlace a la propuesta - Tiene
file_ido se puede extraer un ID de Google Drive desde el enlace
Si una fila no tiene file_id, se marca con:
refresh_status = SIN_FILE_ID
requiere_revision = true
motivos_revision incluye sin_file_id
Reglas de refresco
Una fila debe refrescarse cuando:
- Nunca fue refrescada por IA.
- El archivo en Google Drive fue modificado después del último refresco.
- El
drive_modified_timecambió respecto al valor guardado previamente.
Una fila no debe refrescarse cuando:
- El archivo no ha cambiado.
- No se pudo obtener una fecha válida de modificación.
- La fila no pertenece a Tablero CDC.
- Faltan datos mínimos para identificar el archivo.
Reglas para Google Slides nativo
Si el archivo es una presentación nativa de Google Slides:
- Se exporta a texto plano.
- El texto se usa como input para Gemini.
- Si el texto exportado tiene contenido suficiente, se reanaliza.
- Si no tiene contenido suficiente, se marca como
SIN_CONTENIDO.
Reglas para PPTX
Si el archivo no es Google Slides nativo:
- Se valida el tamaño del archivo.
- Si pesa 100 MB o menos, se intenta convertir a Google Slides usando Apps Script.
- Si pesa más de 100 MB, se marca como
PPTX_DEMASIADO_PESADO. - Si la conversión falla, se marca como
ERROR_CONVERT_PPTX. - Si la conversión funciona, se exporta el Google Slides convertido a texto y se analiza.
Reglas de IA
Gemini debe usar el contenido real exportado de la presentación.
Gemini puede actualizar:
nombre_propuestatipo_accioncanaltagsdescripciontactica_promocional
Gemini no debe cambiar:
- País.
- Cliente.
- Marca.
- Enlace de propuesta.
- Identificadores de Tablero CDC.
Gemini no debe determinar:
APROBADAAMBIENTE DE COMPRA (RE)
Por regla del flujo:
APROBADA = PENDIENTE DE APROBACION
AMBIENTE DE COMPRA (RE) = PENDIENTE
Reglas de normalización
El flujo normaliza valores devueltos por Gemini contra listas permitidas.
Ejemplos de normalización:
| Entrada posible | Salida esperada |
|---|---|
| PDV | ACTIVACION EN PDV / PDV según campo |
| Punto de venta | ACTIVACION EN PDV / PDV según campo |
| Sampling | SAMPLING - MUESTREO |
| Degustacion | DEGUSTACIÓN |
| Landing | LANDING PAGE |
| Material POP | POP o PUNTO DE VENTA según campo |
| Juego digital | JUEGO DIGITAL / JUEGOS DIGITALES según campo |
Si un valor no puede normalizarse:
- Se usa
PENDIENTEsi falta información. - Se usa
OTROsi no coincide con listas permitidas. - Se marca
requiere_revision = true.
Reglas de actualización
La actualización del banco se hace por:
tablero_sync_key
El flujo actualiza campos como:
NOMBRETIPO DE ACCIONCANALTÁCTICA PROMOCIONALETIQUETASDescripciondrive_modified_timeultimo_refresco_iarefresh_statusrefresh_attemptsconverted_google_slides_idconverted_google_slides_linkrequiere_revisionmotivos_revision
Reglas de errores controlados
El flujo no debe detener todo el proceso por una fila problemática.
Si una fila falla, debe marcarla con refresh_status correspondiente y continuar con la siguiente fila.
Estados posibles:
OK
SIN_FILE_ID
SIN_CONTENIDO
ERROR_METADATA_DRIVE
ERROR_EXPORT_SLIDES
ERROR_CONVERT_PPTX
PPTX_DEMASIADO_PESADO
CONVERTIDO_PPTX
Reglas de seguridad
- No commitear credenciales ni tokens en Gitea.
- No documentar el token real del Apps Script.
- No documentar credenciales OAuth ni IDs sensibles si no son necesarios.
- Si se rota el Apps Script o las credenciales, actualizar solo n8n/vault.
- El README debe explicar la arquitectura, no exponer secretos.
CONFIGURACIÓN Y SETUP
Prerrequisitos
- Acceso a n8n en el entorno GLM.
- Acceso al workflow
Tablero CDC - Refrescar Banco Fulgencio Diario. - Acceso al Google Sheet
BANCO DE PROPUESTAS DE CDC PARA FULGENCIO FUMADO. - Acceso de Google Drive a los archivos de propuestas.
- Credencial Google Sheets configurada en n8n.
- Credencial Google Drive configurada en n8n.
- Credencial Gemini configurada en n8n.
- Endpoint de Apps Script activo para conversión PPTX.
- Permiso sobre la carpeta donde se guardan conversiones temporales o Slides convertidos.
- Acceso al repositorio Gitea
tablero-cdc-refrescar-banco-fulgencio-diario.
Credenciales / variables
| Credencial / Variable | Descripción | Dónde se obtiene |
|---|---|---|
| GOOGLE_SHEETS_OAUTH | Permite leer y actualizar el Banco de Propuestas | n8n Credentials |
| GOOGLE_DRIVE_OAUTH | Permite obtener metadata y exportar archivos de Drive | n8n Credentials |
| GEMINI_API | Permite reanalizar contenido de presentaciones | n8n Credentials |
| APPS_SCRIPT_CONVERT_URL | Endpoint para convertir PPTX a Google Slides | Google Apps Script / n8n |
| APPS_SCRIPT_CONVERT_TOKEN | Token interno para ejecutar conversión | Vault / n8n |
| BANCO_PROPUESTAS_SHEET_ID | ID del banco de propuestas | Google Sheets |
| CONVERTED_SLIDES_FOLDER_ID | Carpeta destino para conversiones temporales | Google Drive |
| ERROR_WORKFLOW_ID | Workflow de error configurado si aplica | n8n |
Nunca commitear credenciales al repo. Todas las keys, tokens, URLs sensibles, IDs privados y webhooks 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 y destino principal es Google Sheets. Google Drive se utiliza para metadata, exportación y conversión de presentaciones.
Instalación / Deploy
git clone https://git.digitalcompass.agency/Isaac_Aracena/tablero-cdc-refrescar-banco-fulgencio-diario.git
# En n8n:
# 1. Abrir n8n.
# 2. Importar el JSON del workflow.
# 3. Revisar credencial de Google Sheets.
# 4. Revisar credencial de Google Drive.
# 5. Revisar credencial de Gemini.
# 6. Revisar URL/token de Apps Script en variables seguras.
# 7. Validar Sheet del Banco de Propuestas.
# 8. Validar que existan columnas tablero_sync_key, tablero_project_id y tablero_origen.
# 9. Ejecutar prueba manual con una fila controlada.
# 10. Revisar n8n Executions.
# 11. Activar el workflow.
CÓMO FUNCIONA
Flujo paso a paso
-
Schedule Trigger
- Ejecuta el workflow diariamente a las 23:00, según la zona horaria configurada en n8n.
-
Sheets - Leer Banco Fulgencio
- Lee el Banco de Propuestas de Fulgencio desde la hoja
propuestas.
- Lee el Banco de Propuestas de Fulgencio desde la hoja
-
Code - Filtrar filas Tablero CDC
- Revisa filas del banco.
- Identifica filas que vienen desde Tablero CDC.
- Prepara datos como
file_id_refresco,proposal_url_refrescoyrefresh_attempts_actual.
-
Loop - Filas Banco Fulgencio
- Procesa las filas una por una.
-
IF - Tiene file_id?
- Si la fila tiene archivo asociado, continúa.
- Si no tiene archivo, marca la fila como
SIN_FILE_ID.
-
HTTP - Obtener metadata Drive
-
Consulta Google Drive para obtener:
- ID.
- Nombre.
- MIME type.
- Fecha de modificación.
- Link.
- Tamaño.
-
-
Code - Evaluar refresco
- Compara la fecha de modificación del archivo contra
ultimo_refresco_ia. - Decide si se debe reanalizar la propuesta.
- Define
should_refreshyrefresh_reason.
- Compara la fecha de modificación del archivo contra
-
IF - Debe refrescar?
- Si no hay cambios, pasa a la siguiente fila.
- Si hay cambios, continúa con exportación o conversión.
-
IF - Es Google Slides nativo?
- Si es Google Slides, exporta directamente a texto.
- Si no es Google Slides, revisa si debe convertir PPTX.
-
IF - PPTX pesa <= 100MB?
- Si el archivo pesa 100 MB o menos, intenta convertirlo.
- Si pesa más, marca
PPTX_DEMASIADO_PESADO.
-
HTTP - Convertir PPTX con Apps Script
- Convierte PPTX a Google Slides.
- Puede reemplazar una conversión previa si existe.
-
Code - Preparar ID convertido
- Toma el ID del Google Slides convertido.
- Prepara la fila para exportar el contenido.
-
HTTP - Exportar Slides TXT
- Exporta la presentación a texto plano.
-
Code - Preparar texto IA Refresco
- Limpia el texto exportado.
- Valida si hay contenido suficiente.
- Limita el contenido enviado a Gemini.
-
IF - Tiene contenido?
- Si hay contenido, llama a Gemini.
- Si no hay contenido suficiente, marca
SIN_CONTENIDO.
-
Gemini - Reanalizar contenido Slides
-
Extrae metadata estructurada:
- nombre_propuesta
- tipo_accion
- canal
- tags
- descripcion
- tactica_promocional
-
-
Code - Normalizar respuesta refresco
- Normaliza valores.
- Aplica listas permitidas.
- Marca revisión si hay valores dudosos.
- Prepara el objeto final para actualizar el banco.
-
Google Sheets - Upsert Banco Fulgencio
- Actualiza la fila usando
tablero_sync_key. - Guarda estado de refresco, metadata y campos actualizados.
- Actualiza la fila usando
-
Loop - Filas Banco Fulgencio
- Continúa con la siguiente fila hasta terminar.
Schedules / Triggers
| Trigger | Frecuencia | Descripción |
|---|---|---|
| Schedule Trigger | Diario, 23:00 | Revisa propuestas de Tablero CDC y refresca metadata si los archivos cambiaron |
| Ejecución manual | Bajo demanda | Permite probar el flujo desde n8n |
OUTPUTS
Actualización en Banco de Propuestas
El flujo actualiza campos como:
| Campo | Descripción |
|---|---|
| NOMBRE | Nombre actualizado o confirmado de la propuesta |
| TIPO DE ACCION | Tipo de acción normalizado |
| CANAL | Canal normalizado |
| TÁCTICA PROMOCIONAL | Táctica promocional inferida |
| ETIQUETAS | Tags normalizados para búsqueda |
| Descripcion | Descripción profesional generada desde el contenido |
| drive_modified_time | Última fecha de modificación del archivo |
| ultimo_refresco_ia | Fecha en que se hizo el refresco |
| refresh_status | Estado del refresco |
| refresh_attempts | Cantidad de intentos acumulados |
| converted_google_slides_id | ID de presentación convertida si aplica |
| converted_google_slides_link | Link de presentación convertida si aplica |
| requiere_revision | Indica si debe revisarse manualmente |
| motivos_revision | Razones de revisión |
Estados esperados
OK
SIN_FILE_ID
SIN_CONTENIDO
ERROR_METADATA_DRIVE
ERROR_EXPORT_SLIDES
ERROR_CONVERT_PPTX
PPTX_DEMASIADO_PESADO
CONVERTIDO_PPTX
TESTING
Casos de prueba mínimos
| Caso | Input | Output esperado | Estado |
|---|---|---|---|
| Caso feliz Google Slides | Fila Tablero CDC con Google Slides modificado | Exporta texto, analiza con Gemini y actualiza banco | A completar |
| Sin cambios | Archivo no modificado desde último refresco | No llama Gemini y pasa a siguiente fila | A completar |
| Sin file_id | Fila sin file_id ni ID extraíble | Marca SIN_FILE_ID y requiere revisión |
A completar |
| Metadata Drive falla | Drive no responde o archivo sin permiso | Marca ERROR_METADATA_DRIVE |
A completar |
| Google Slides sin contenido | Exportación con texto insuficiente | Marca SIN_CONTENIDO |
A completar |
| PPTX menor a 100 MB | Archivo PPTX válido | Convierte, exporta, analiza y actualiza | A completar |
| PPTX mayor a 100 MB | Archivo PPTX pesado | Marca PPTX_DEMASIADO_PESADO |
A completar |
| Conversión falla | Apps Script responde error | Marca ERROR_CONVERT_PPTX |
A completar |
| Exportación falla | No se puede exportar Slides a TXT | Marca ERROR_EXPORT_SLIDES |
A completar |
| Gemini devuelve valores dudosos | IA no puede inferir campos | Marca requiere_revision = true |
A completar |
| Upsert correcto | tablero_sync_key existe |
Actualiza fila correspondiente | A completar |
| Duplicado evitado | Misma tablero_sync_key |
No crea fila nueva innecesaria | A completar |
Checklist de prueba rápida
- Ejecutar workflow manualmente.
- Confirmar lectura del Banco de Propuestas.
- Confirmar filtro de filas Tablero CDC.
- Confirmar que se procesa una fila con
file_id. - Confirmar metadata Drive.
- Confirmar que
should_refreshse calcula correctamente. - Confirmar exportación de Google Slides.
- Confirmar conversión de PPTX si aplica.
- Confirmar que PPTX mayor a 100 MB queda marcado.
- Confirmar que Gemini devuelve metadata.
- Confirmar normalización.
- Confirmar upsert por
tablero_sync_key. - Confirmar que el loop continúa con siguientes filas.
- Revisar n8n Executions.
- Exportar JSON actualizado.
- Commit en Gitea.
ERRORES CONOCIDOS Y TROUBLESHOOTING
| Error | Causa probable | Solución |
|---|---|---|
| No lee filas | Permisos insuficientes en Google Sheets o rango incorrecto | Validar credencial y hoja propuestas |
| No filtra filas esperadas | tablero_origen, tablero_sync_key o tablero_project_id vacío |
Revisar columnas del banco |
SIN_FILE_ID |
La fila no tiene file_id ni enlace válido |
Revisar Enlace a la propuesta y file_id |
ERROR_METADATA_DRIVE |
Archivo no existe, sin permiso o Drive falla | Validar link, permisos y file ID |
SIN_CONTENIDO |
La presentación exportada no tiene suficiente texto | Revisar archivo o agregar contenido legible |
ERROR_EXPORT_SLIDES |
No se pudo exportar Google Slides a TXT | Revisar permisos, tipo de archivo y Drive API |
ERROR_CONVERT_PPTX |
Apps Script no pudo convertir PPTX | Revisar endpoint, token, permisos y archivo |
PPTX_DEMASIADO_PESADO |
Archivo supera 100 MB | Reducir tamaño o convertir manualmente |
| Gemini devuelve campos erróneos | Contenido insuficiente o ambiguo | Revisar presentación y normalización |
| Upsert crea fila nueva | tablero_sync_key no coincide |
Revisar valor de matching column |
| Error 401/403 Google | Credenciales vencidas o sin permisos | Renovar credenciales o compartir recursos |
| Apps Script no responde | Endpoint caído o token inválido | Revisar despliegue de Apps Script y token en n8n |
| Flujo tarda demasiado | Muchas filas requieren refresco | Ejecutar por lotes o revisar modificaciones masivas |
MONITOREO
- Revisar n8n Executions diariamente.
- Verde = flujo correcto.
- Rojo = fallo que requiere revisión.
- Revisar cantidad de filas con
refresh_statusdistinto deOK. - Revisar propuestas con
requiere_revision = true. - Validar que
refresh_attemptsno crezca demasiado en una misma fila. - Revisar si hay acumulación de
SIN_FILE_ID. - Revisar si hay muchos
PPTX_DEMASIADO_PESADO. - Confirmar que Google Drive, Apps Script y Gemini estén respondiendo.
- Mantener export actualizado en Gitea.
Output esperado normal
El flujo debe:
- Ejecutarse diariamente.
- Leer el Banco de Propuestas.
- Revisar filas de Tablero CDC.
- Detectar archivos modificados.
- Reanalizar solo cuando corresponde.
- Actualizar metadata en el banco.
- Marcar errores controlados sin detener todo el lote.
- Terminar sin errores críticos.
ESTRUCTURA DEL REPOSITORIO
/tablero-cdc-refrescar-banco-fulgencio-diario
|-- README.md
|-- tablero-cdc-refrescar-banco-fulgencio-diario.json
|-- /docs
| └-- [capturas o documentación adicional si aplica]
|-- CHANGELOG.md
└-- DECISIONS.md
Si el repo solo contiene
README.mdy el JSON del workflow, mantener esta estructura simple. Si el proyecto crece, agregar/docs,CHANGELOG.mdyDECISIONS.md.
CHANGELOG
2026-06 — v1.0
- Creación del workflow
Tablero CDC - Refrescar Banco Fulgencio Diario. - Lectura diaria del Banco de Propuestas.
- Filtro de filas provenientes de Tablero CDC.
- Evaluación de metadata de Google Drive.
- Refresco basado en modificación real del archivo.
- Exportación de Google Slides a texto.
- Conversión de PPTX a Google Slides vía Apps Script.
- Límite de seguridad para PPTX mayor a 100 MB.
- Reanálisis de contenido con Gemini.
- Normalización de tipo de acción, canal, etiquetas, descripción y táctica.
- Upsert al Banco de Propuestas por
tablero_sync_key. - Manejo de errores controlados.
- Backup del workflow en Gitea.
- Documentación inicial del README.
DECISIONS LOG
DEC-001 — Ejecutar refresco diario
- Fecha: 2026-06
- Contexto: Las propuestas sincronizadas desde Tablero CDC pueden cambiar después de su registro inicial.
- Opciones consideradas: Refresco manual vs refresco automático diario.
- Decisión: Ejecutar refresco automático diario.
- Razón: Mantiene actualizado el banco sin intervención manual.
DEC-002 — Procesar solo filas de Tablero CDC
- Fecha: 2026-06
- Contexto: El banco contiene propuestas de distintas fuentes.
- Opciones consideradas: Refrescar todo el banco vs solo origen Tablero CDC.
- Decisión: Refrescar solo filas con
tablero_origen = Tablero CDC. - Razón: Evita tocar registros que vienen de otros flujos o fuentes.
DEC-003 — Usar tablero_sync_key como identificador de upsert
- Fecha: 2026-06
- Contexto: Se necesita actualizar la misma fila sin crear duplicados.
- Opciones consideradas: Match por nombre, file_id o sync key.
- Decisión: Usar
tablero_sync_key. - Razón: Es el identificador más estable para registros sincronizados desde Tablero CDC.
DEC-004 — Reanalizar solo si el archivo cambió
- Fecha: 2026-06
- Contexto: Reanalizar todo diariamente sería innecesario y costoso.
- Opciones consideradas: Reanalizar siempre vs comparar fechas.
- Decisión: Comparar
drive_modified_timeconultimo_refresco_ia. - Razón: Reduce consumo de Gemini y mejora eficiencia.
DEC-005 — Convertir PPTX solo si pesa 100 MB o menos
- Fecha: 2026-06
- Contexto: Google Slides tiene límites prácticos para conversión de archivos pesados.
- Opciones consideradas: Convertir todo vs limitar por tamaño.
- Decisión: Convertir solo PPTX de hasta 100 MB.
- Razón: Evita fallos repetidos y tiempos excesivos.
DEC-006 — No permitir que Gemini modifique país, cliente ni marca
- Fecha: 2026-06
- Contexto: Esos campos vienen desde Tablero CDC y deben conservarse.
- Opciones consideradas: Permitir reescritura por IA vs conservar valores base.
- Decisión: Gemini no cambia país, cliente ni marca.
- Razón: Evita que la IA altere datos maestros.
DEC-007 — Marcar errores en el banco en vez de detener el flujo
- Fecha: 2026-06
- Contexto: Una fila problemática no debe detener el refresco de todo el banco.
- Opciones consideradas: Detener ejecución vs marcar estado y continuar.
- Decisión: Guardar
refresh_statusy continuar el loop. - Razón: Mejora resiliencia y trazabilidad.
CONTACTOS DEL PROYECTO
| Rol | Nombre |
|---|---|
| Product Owner | Máximo Gómez |
| IT Manager | Luis Matos |
| Developer | Isaac Aracena |
DEFINITION OF DONE
- Workflow activo en n8n.
- Schedule diario validado.
- Lectura del Banco de Propuestas validada.
- Filtro de filas Tablero CDC validado.
- Metadata Drive validada.
- Evaluación de refresco validada.
- Exportación de Google Slides validada.
- Conversión PPTX validada.
- Límite de 100 MB validado.
- Gemini reanaliza contenido correctamente.
- Normalización de campos validada.
- Upsert por
tablero_sync_keyvalidado. - Estados de error controlados validados.
- n8n Executions sin errores críticos.
- 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, tokens ni URLs sensibles de Apps Script.
- Si cambia el Banco de Propuestas, revisar
Sheets - Leer Banco Fulgencio. - Si cambia la estructura del banco, revisar
Google Sheets - Upsert Banco Fulgencio. - Si cambia el origen de Tablero CDC, revisar el filtro por
tablero_origen. - Si cambia la lógica de sync, revisar
tablero_sync_key. - Si cambia el endpoint de Apps Script, actualizarlo en n8n/vault, no en README.
- Si cambia el modelo Gemini, documentarlo en CHANGELOG.
- Si se agregan nuevos tipos de acción, canales, tácticas o etiquetas, actualizar listas permitidas en
Code - Normalizar respuesta refresco. - Si aparecen muchos
SIN_CONTENIDO, revisar si las presentaciones tienen texto legible o si todo está como imagen. - Si aparecen muchos
PPTX_DEMASIADO_PESADO, convertir esos archivos manualmente o reducir su tamaño.