Saltar al contenido
Volver a proyectos
2024 — presente

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

n8nGoogle WorkspaceGmail APIDrive APITwenty CRMOpenAIREST APIsWebhooks

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.

01

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

n8nGmail APIGoogle SheetsGoogle DriveSlackJavaScript

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).

02

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

n8nGmail APIOpenAI GPT-5SlackJavaScript

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.

03

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

n8nGoogle SheetsDiscord APIJavaScript

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.

04

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

n8nGoogle Drive APITwenty CRMWebhooksJavaScript

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.

05

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

n8nGoogle Drive APISMTPTwenty CRMFinance APIJavaScript

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.

06

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

n8nGoogle Drive APIHTTP RequestsJavaScript

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.

07

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

n8nGoogle Drive APIHTTP RequestsExecute Workflow

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.

08

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

n8nGoogle Workspace APITwenty CRMHTTP RequestsJavaScript

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.

09

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

n8nGoogle Drive APITwenty CRMWebhooksJavaScript

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.

10

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

n8nGoogle Drive APIWebhooksJavaScript

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.

11

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

n8nGoogle Drive APIWebhooksJavaScript

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.