Capa de automatización operativa con n8n
No es una galería de workflows sueltos. Es una capa operativa que conecta eventos de negocio con acciones reales: documentos en Drive, CRM, emails, respuestas con IA, alertas, cuentas de Google Workspace y webhooks de confirmación para que la operación avance sin depender de tareas repetidas a mano.
11
workflows productivos
6
familias de sistemas conectados
24/7
triggers, schedules y webhooks
1
capa de orquestación común
Arquitectura
n8n como capa entre señales y sistemas
Los workflows no viven como automatizaciones aisladas. Cada uno recibe una señal, normaliza datos, ejecuta una acción externa y devuelve estado para que el resto del ecosistema sepa qué ocurrió.
01
Evento
->02
Validación
->03
Transformación
->04
API externa
->05
Estado
->06
Notificación
Entradas
Webhooks, schedules, formularios, CRM, Gmail, Drive y eventos manuales desde herramientas internas.
Orquestación
n8n decide qué API llamar, qué datos transformar, qué errores tolerar y qué estado devolver al sistema principal.
Sistemas de verdad
Twenty CRM, Google Drive, Google Workspace, Sheets, Finance API y backend interno conservan el estado final.
Salida operativa
Notificaciones, carpetas, cuentas, emails, documentos actualizados, clasificaciones IA y webhooks de confirmación.
Mapa de flujos
Las piezas visibles de la capa operativa
Cada tarjeta abre un workflow concreto, pero el valor está en cómo se combinan: onboarding documental, comunicación, finanzas, clasificación y aprovisionamiento.
Antes / después
De automatizaciones útiles a infraestructura operativa
La mejora fue cambiar el nivel de lectura: no vender cada workflow como una receta, sino enseñar el sistema que permite operar Growork con menos fricción y menos riesgo.
01
Antes
Cada tarea dependía de abrir una herramienta distinta y repetir pasos manuales con datos de cliente.
Después
Los flujos convierten eventos de negocio en acciones coordinadas entre CRM, Drive, Gmail, Workspace y backend.
02
Antes
Los workflows eran útiles como piezas sueltas, pero difíciles de explicar como arquitectura.
Después
La capa n8n queda presentada como un bus operativo: recibe señales, ejecuta reglas y devuelve estados trazables.
03
Antes
Los errores se descubrían tarde: carpeta duplicada, CV sin mover, cuenta no creada o respuesta sin clasificar.
Después
Cada proceso notifica éxito, fallo o estado pendiente para que la operación se recupere desde una pantalla interna.
Workflows
Flujos destacados
Los detalles importan porque muestran decisiones reales: límites, deduplicación, normalización, manejo de archivos binarios, prompts estructurados y notificaciones.
Envío masivo de correos con CV
Sistema automatizado para enviar correos masivos personalizados con CV adjunto a hoteles y empresas. Incluye delays aleatorios para evitar spam, tracking en Google Sheets, notificaciones por Slack y manejo de errores.
Qué hace
- →Lee destinatarios desde Google Sheets filtrados por cliente
- →Descarga CV desde Google Drive
- →Envía correos con Gmail API usando delays aleatorios (1-10 segundos)
- →Marca enviados en la hoja de cálculo
- →Crea canal de Slack por cliente y envía reporte
- →Notifica errores en canal dedicado
Stack
Reto técnico
Evitar que Gmail marque los correos como spam. Solución: delays aleatorios entre envíos, shuffle determinista por día/persona, y límite configurable de correos por ejecución (50-70).
Tracker de correos con IA
Clasificador automático de respuestas de hoteles usando GPT-5. Procesa la bandeja de entrada, limpia el cuerpo del correo, detecta bounces y categoriza cada respuesta en 5 tipos: interesado, no interesado, entrevista, auto-respuesta o pregunta.
Qué hace
- →Lee correos del inbox sin procesar (filtra por etiquetas)
- →Crea etiquetas dinámicamente si no existen (Processed, n8n_processing, interesado)
- →Limpia cuerpo del correo: quita citas, firmas y texto de hilos previos
- →Detecta bounces y auto-respuestas por regex (mailer-daemon, postmaster)
- →Clasifica con GPT-5 en 5 categorías con nivel de confianza
- →Envía notificaciones a Slack según categoría
- →Etiqueta correos como procesados y añade 'interesado' si aplica
Stack
Reto técnico
Clasificación precisa multilenguaje (ES, EN, FR, DE, IT). Solución: prompt especializado que ignora texto citado y firmas, devuelve JSON puro con categoría, confianza y razones. Limpieza de cuerpo con regex para 5 idiomas.
Bot de finanzas con Discord
Sistema de avisos automáticos para pagos próximos a vencer. Lee una hoja de Google Sheets con servicios y fechas de renovación, calcula días restantes y envía notificaciones profesionales a Discord con embeds detallados.
Qué hace
- →Se ejecuta cada 2 días a las 6:00 AM (Schedule Trigger)
- →Lee hoja de Google Sheets con servicios, proveedores y fechas
- →Filtra filas con Provider y End date válidos
- →Calcula días restantes hasta la fecha de fin del servicio
- →Convierte formato DD/MM/YYYY a YYYY-MM-DD para JavaScript
- →Envía embed a Discord si quedan entre 0 y 7 días
- →Incluye: servicio, días restantes, importe, pagador, método de pago y enlace
Stack
Reto técnico
Cálculo de fechas con formato español DD/MM/YYYY. Solución: split('/').reverse().join('-') para invertir el formato y poder calcular la diferencia en días con JavaScript Date.
Creador automático de carpetas en Drive
Cuando se crea un nuevo cliente en el CRM, este flujo genera automáticamente toda la estructura de carpetas necesaria en Google Drive: carpeta del cliente, subcarpeta CV, y dentro las carpetas OLD, NEW y DEFINITIVA. Luego actualiza el CRM con los IDs y notifica al backend.
Qué hace
- →Webhook recibe datos del cliente desde Twenty CRM
- →Busca si existe carpeta del cliente en 1_Clientes, si no la crea
- →Busca/crea subcarpeta CV dentro de la carpeta del cliente
- →Busca/crea subcarpetas OLD, NEW, DEFINITIVA dentro de CV
- →Actualiza Twenty CRM con los IDs de todas las carpetas
- →Notifica al backend (webinterna) con la estructura creada
Stack
Reto técnico
Gestión de errores cuando las carpetas ya existen. Solución: búsqueda previa con query, creación condicional con onError: continueErrorOutput, y merge para detectar qué subcarpetas faltan antes de crearlas.
Asignación inteligente de creadores de CV
Sistema automatizado para asignar creadores de CV a clientes usando selección aleatoria ponderada. Consulta una API de Finance para obtener creadores disponibles por idioma, selecciona uno basado en tarifa y carga de trabajo, comparte carpetas de Drive, envía email con instrucciones y actualiza el CRM.
Qué hace
- →Webhook recibe id_contacto e idioma del CV
- →Consulta API de Finance para obtener creadores por idioma
- →Selección aleatoria ponderada: peso = 1/(tarifa+1) * 1/(activeJobs+1)
- →Soporta creador forzado (asignación manual) y revocación de creador anterior
- →Comparte carpetas OLD y NEW con el creador seleccionado
- →Descarga guías PDF de Drive y las adjunta al email
- →Envía email HTML profesional al creador con instrucciones
- →Actualiza Twenty CRM con el creador asignado
Stack
Reto técnico
Algoritmo de selección ponderada que balancea tarifa y carga de trabajo. Solución: fórmula peso = 1/(tarifa+1) * 1/(activeJobs+1) donde menor tarifa y menos jobs activos dan mayor probabilidad de ser seleccionado.
Detector de nuevos CVs en carpeta NEW
Monitoreo automático de carpetas de clientes para detectar cuando un creador sube un nuevo CV a la carpeta NEW. Recorre toda la estructura Cliente → CV → NEW, busca archivos recientes, identifica el cliente correspondiente y notifica al backend.
Qué hace
- →Schedule trigger cada 1 hora
- →Lista todas las carpetas en 1_Clientes
- →Navega estructura: Cliente → CV → NEW
- →Busca archivos creados en las últimas 5 horas
- →Elimina duplicados para evitar notificaciones repetidas
- →Genera nombre slug y nombre limpio para identificar al cliente
- →Notifica al backend con datos del archivo detectado
Stack
Reto técnico
Navegación recursiva de estructura de carpetas y detección de archivos recientes. Solución: queries de Drive API con createdTime filter, removeDuplicates para evitar procesar el mismo archivo dos veces, y normalización de nombres con regex para generar slugs.
Mover CV a carpeta DEFINITIVA
Cuando el equipo confirma un CV en Discord, este workflow localiza la carpeta del cliente en Drive, navega hasta la carpeta DEFINITIVA y copia el archivo allí. Luego notifica al backend y dispara automáticamente la generación de email corporativo.
Qué hace
- →Webhook recibe cliente, archivoId y canalId desde Discord
- →Busca carpeta del cliente en Drive
- →Navega estructura: Cliente → CV → DEFINITIVA
- →Copia el archivo a DEFINITIVA con nombre formateado
- →Notifica al backend con datos del CV movido
- →Llama al workflow 1.4 para generar email corporativo
Stack
Reto técnico
Navegación precisa de estructura de carpetas anidadas. Solución: filtros secuenciales con IF nodes para quedarse solo con CV y luego solo con DEFINITIVA, evitando errores cuando faltan subcarpetas.
Generación automática de email corporativo
Sistema que crea automáticamente cuentas de Google Workspace para clientes. Genera alias normalizados, selecciona dominios disponibles, crea usuarios con passwords aleatorios y actualiza el CRM. Soporta reutilización de emails para parejas.
Qué hace
- →Recibe nombreContacto, mailCorporativo e idCliente
- →Consulta si es pareja con email existente
- →Si es pareja: reutiliza el email operativo de la pareja
- →Si no: genera alias normalizado (nombreapellido sin acentos)
- →Genera password aleatorio de 12 caracteres
- →Consulta API de dominios activos y selecciona uno con espacio disponible
- →Crea usuario en Google Workspace Admin API
- →Actualiza Twenty CRM con email operativo y password
Stack
Reto técnico
Gestión de dominios con capacidad limitada y normalización de nombres. Solución: consulta de API de dominios con filtro de usuarios actuales vs máximo, y función de normalización que elimina acentos y caracteres especiales para generar alias válidos.
Subida de documentos de leads desde formulario
Webhook que recibe archivos binarios (CV y carta) desde el formulario público de evaluación, crea carpeta personalizada en Drive, sube los documentos y actualiza el CRM con el enlace. Incluye validación de seguridad con webhook secret.
Qué hace
- →Webhook recibe personId, nombre y archivos binarios (cv, carta)
- →Valida x-webhook-secret en headers
- →Genera nombre de carpeta: shortId.nombre (ej: a478c18d.Luis)
- →Crea carpeta en Drive dentro de carpeta de leads
- →Sube CV si existe en el payload
- →Sube carta si existe en el payload
- →Actualiza Twenty CRM con link a la carpeta de Drive
- →Responde con URL de la carpeta creada
Stack
Reto técnico
Manejo de archivos binarios en webhooks multipart. Solución: uso de binary data fields en n8n, validación condicional de existencia de archivos, y sanitización de nombres de carpeta eliminando caracteres inválidos.
Subida de carta de presentación desde portal
Endpoint del portal que permite a clientes subir su carta de presentación. Busca archivos existentes con prefijo 'carta_', los elimina si existen, convierte el base64 recibido a binario y sube el nuevo archivo a Drive.
Qué hace
- →Webhook recibe base64, fileName y folderId desde el portal
- →Busca archivos existentes que empiecen con 'carta_'
- →Si existe archivo previo, lo elimina (mover a papelera)
- →Convierte base64 a binario usando Buffer.from
- →Prepara binary data con prepareBinaryData de n8n
- →Sube el nuevo archivo a la carpeta especificada
- →Responde con fileId y fileName del archivo subido
Stack
Reto técnico
Conversión de base64 a binario en n8n y reemplazo de archivos. Solución: uso de Buffer.from para decodificar base64, prepareBinaryData helper de n8n, y búsqueda con query de Drive API filtrando por nombre.
Subida de CV desde portal
Endpoint del portal que permite a clientes subir su CV. Similar al workflow 10 pero sin filtro de prefijo. Busca cualquier PDF existente en la carpeta, lo elimina y sube el nuevo archivo recibido en base64.
Qué hace
- →Webhook recibe base64, fileName y folderId desde el portal
- →Busca archivos PDF existentes en la carpeta
- →Si existe PDF previo, lo elimina (mover a papelera)
- →Convierte base64 a binario usando Buffer.from
- →Prepara binary data con prepareBinaryData de n8n
- →Sube el nuevo archivo a la carpeta especificada
- →Responde con fileId y fileName del archivo subido
Stack
Reto técnico
Gestión de reemplazo de archivos y conversión de base64. Solución: query de Drive API con mimeType filter para PDFs, eliminación condicional, y conversión robusta de base64 a binario con manejo de errores.
Riesgos
Qué podía fallar en una capa de automatización
Automatizar procesos internos no reduce riesgo por sí solo. Lo reduce cuando cada flujo tiene idempotencia, validación, trazabilidad y una salida clara para humanos.
Riesgo
Procesar dos veces el mismo archivo o contacto
Control
Búsquedas previas, deduplicación por IDs, queries de Drive y estados enviados de vuelta al backend.
Riesgo
Crear estructuras incompletas en Drive
Control
Creación condicional de carpeta principal, CV, OLD, NEW y DEFINITIVA con rutas recuperables si algo ya existe.
Riesgo
Romper la operación por una API externa lenta o parcial
Control
Webhooks separados, manejo de errores por nodo, fallbacks y notificaciones para intervención manual.
Riesgo
Enviar o clasificar información sin contexto suficiente
Control
Limpieza de cuerpos de email, prompts con salida JSON, filtros de etiquetas y payloads normalizados.
Aprendizaje
Lo que demuestra esta capa n8n
El valor no está en saber arrastrar nodos, sino en modelar una operación con contratos simples entre herramientas que no fueron diseñadas para trabajar juntas.
n8n funciona mejor cuando no sustituye al backend, sino cuando orquesta trabajos externos con límites claros.
Un workflow visual también necesita arquitectura: contratos de entrada, estados de salida y reglas de error.
La automatización operativa debe ser observable; si nadie puede saber qué pasó, no es una mejora real.
Separar flujos pequeños por responsabilidad hace que el sistema sea más fácil de recuperar que un workflow gigante.
Por qué n8n
n8n permite construir automatizaciones complejas sin depender de equipos de desarrollo. Cada flujo es visual, versionable y fácil de mantener. La curva de aprendizaje es baja, pero el techo técnico es alto: puedes escribir JavaScript cuando lo necesitas, conectar cualquier API REST y desplegar en tu propia infraestructura.
Para proyectos como Growork, n8n fue clave porque actúa como una capa de automatización operativa: suficientemente visual para iterar rápido, suficientemente técnica para hablar con APIs complejas y suficientemente explícita para que cada proceso tenga entradas, salidas y puntos de recuperación.









