Módulo 8: Proyecto - Workflow de Bienvenida Automatizado
Diseñar el Flujo (Planificación Antes de Construir)
Descripción de la cápsula
Antes de tocar n8n, vas a dibujar el workflow en papel. Suena básico, casi anticuado en 2026. Pero es lo que separa workflows mantenibles de workflows caóticos. 10-15 minutos de planificación ahorran 2 horas de "deshacer y rehacer".
En esta cápsula vas a aprender un proceso simple de diseño para workflows de n8n: empezar con datos (qué entra, qué sale), pasar a etapas (procesamiento mayor), y solo al final detallar nodos. Vas a hacer este diseño para el workflow de bienvenida — el mismo que vas a construir en cápsulas 03-08. Al terminar, vas a tener un diagrama claro que vas a poder usar como mapa al construir, sin atascarte preguntándote "¿qué nodo va aquí?".
Lo que vas a aprender
Al terminar esta cápsula serás capaz de:
- ✅ Aplicar el proceso de 3 niveles: datos → etapas → nodos
- ✅ Identificar entrada y salida del workflow antes de construir
- ✅ Listar las etapas mayores sin entrar en detalles de nodos
- ✅ Anticipar puntos de falla (qué puede salir mal) durante el diseño
- ✅ Producir un diagrama simple que sirva como mapa al construir
- ✅ Distinguir requisitos esenciales de opcionales (MVP vs nice-to-have)
El proceso de 3 niveles
Diseñar un workflow es ir de abstracto a concreto en 3 pasos:
Nivel 1: Datos (qué entra y qué sale)
Antes que nada, dos preguntas:
- ¿Qué datos llegan al workflow? (input)
- ¿Qué tiene que pasar al final? (output observable)
Sin estas 2 respuestas claras, no construyas nada. Es como salir de viaje sin saber a dónde vas.
Nivel 2: Etapas (qué procesamiento mayor sucede)
Después: las etapas mayores del procesamiento. Cada etapa es un "paso lógico" — no un nodo específico todavía.
Ejemplo: "validar", "enriquecer", "notificar", "guardar". Cada etapa puede traducirse a 1 o varios nodos al construir.
Nivel 3: Nodos (qué nodo específico va donde)
Solo después de tener etapas claras, decides qué nodo concreto va donde. "Validar = IF". "Enriquecer = Set". "Notificar al usuario = Send Email". Etc.
Por qué importa este orden: si saltas al nivel 3 directo, pierdes la visión general. Empiezas a poner nodos sin saber por qué, te atascas, y rediseñas a mitad de camino.
Aplicando los 3 niveles al workflow de bienvenida
Nivel 1: Datos
Input: datos del formulario web que llegan por webhook. Mínimo:
nameemailmarketing_consent(boolean, GDPR)
Output observable:
- Email de bienvenida llega al usuario (verificable abriendo la inbox)
- Mensaje en Slack al equipo (verificable en el canal)
- Fila nueva en Sheet
Records n8n(verificable abriendo el Sheet)
Nivel 2: Etapas
Pensando en alto nivel, las etapas son:
- Recibir datos del formulario
- Validar que están completos y bien formados
- Procesar/enriquecer (calcular cosas derivadas, preparar mensajes)
- Notificar al usuario (email)
- Notificar al equipo (Slack)
- Registrar (Sheet append)
Para items inválidos:
- Registrar rechazados (Sheet aparte)
Nivel 3: Nodos
Ahora sí, traducimos etapas a nodos específicos:
| Etapa | Nodo(s) |
|---|---|
| 1. Recibir | Webhook Trigger |
| 2. Validar | Set (calcular is_valid) + IF (bifurcar) |
| 3. Procesar/enriquecer | Set (first_name, date, mensajes preparados) |
| 4. Email usuario | Send Email |
| 5. Slack equipo | Slack: Send Message |
| 6. Sheet append | Google Sheets: Append Row |
| 7. Rechazados | Google Sheets: Append Row (a hoja separada) |
El diagrama del workflow
Con los 3 niveles trabajados, dibujas el flujo. Acá una versión textual (en papel real, lo dibujarías con cajas y flechas):
┌────────────────────┐
│ [Webhook Trigger] │ ← Nivel 1: input
└─────────┬──────────┘
│
▼
┌────────────────────────┐
│ [Set: validar] │ ← Nivel 2: etapa "validar"
│ - is_valid │
│ - invalid_reason │
└─────────┬──────────────┘
│
▼
┌───────┐
│ IF │ ← Nivel 2: etapa "validar" (bifurcación)
│valido?│
└─┬─────┘
│
┌───────┴───────┐
│TRUE FALSE│
▼ ▼
┌─────────┐ ┌───────────────────┐
│ [Set: │ │ [Sheet: append │ ← Etapa 7: rechazados
│ enri- │ │ rechazados] │
│ quecer]│ └───────────────────┘
└───┬─────┘
│
├──────────┬──────────┬─────────┐
▼ ▼ ▼ ▼
┌─────┐ ┌──────┐ ┌──────┐ ┌──────────┐
│Send │ │Slack │ │Sheet │
│Email│ │ │ │Append│
└─────┘ └──────┘ └──────┘
Estas son 8 nodos (más el Webhook trigger = 9). En el canvas de n8n se va a ver parecido — con los nodos paralelos (Send Email, Slack, Sheet) divergiendo después del Set de enriquecimiento.
Anticipar puntos de falla durante el diseño
Mientras diseñas, hazte estas preguntas:
Pregunta 1: ¿Qué puede llegar mal en el input?
- Campos faltantes (sin email)
- Email malformado
- Datos duplicados (mismo email registrándose 2 veces)
- Inyección maliciosa (no aplica si el webhook es público sin validación adicional)
Plan: la etapa de validación (cápsula 04) captura los 2 primeros. Para duplicados, sería revisión en Sheet (cápsula 05 puede agregar lookup).
Pregunta 2: ¿Qué puede fallar en los servicios externos?
- Gmail SMTP caído → email no se envía
- Slack rate limit → mensaje retrasado
- Google Sheets API lenta → workflow tarda más
Plan: Retry on Fail en cada nodo de servicio externo (de M06). Continue on Fail en el Slack para que no detenga el flujo si está caído.
Pregunta 3: ¿Qué pasa con datos malos no anticipados?
- Nombre con emojis o caracteres especiales
- Email muy largo
- Campos extras inesperados
Plan: validación básica + manejo robusto en el email (escapar HTML, truncar si necesario).
Pregunta 4: ¿Quién monitorea fallas?
- Error Workflow asignado (de M06) → notifica al admin si algo falla
- Sheet de rechazados → review semanal
MVP vs Nice-to-have
Antes de empezar, distingue lo esencial de lo opcional. Pones lo opcional para después.
MVP (versión mínima funcionando)
- Webhook recibe datos
- Validación básica (campos esenciales presentes)
- Email simple (texto plano) al usuario
- Slack al equipo (texto simple)
- Sheet append con datos básicos
Nice-to-have (después del MVP)
- Email con HTML estilizado + branding
- Slack con Block Kit (mensaje rich)
- Validación avanzada (regex de email, normalización)
- Sheets con columnas detalladas + metadata
- Detección de duplicados (lookup en Sheet existente)
- Multi-idioma del email según país detectado
Recomendación: cápsulas 03-07 construyen el MVP. Cápsula 08 te da espacio para extras.
Decisiones de diseño durante el módulo
Algunas decisiones que vale tener claras antes de construir:
Decisión 1: ¿Quién manda el email?
- Send Email (SMTP) con tu credencial de M05 → manda desde el SMTP configurado
- Gmail node con tu credencial Google → manda desde tu Gmail directo
Elección para este proyecto: Send Email con SMTP. Razón: es más portable, y demuestra el patrón aplicable a SendGrid/Resend en producción real.
Decisión 2: ¿Sheets o CRM real?
- Google Sheets: rápido para empezar, suficiente para volumen bajo, mejor para aprender
- CRM (HubSpot, Salesforce): producción real con cliente
Elección para este proyecto: Sheets. Razón: ya tienes la credencial, no requiere setup adicional, sirve como mock perfectamente.
Decisión 3: ¿Cuándo mandar el email?
- Inmediato: apenas se recibe el formulario
- Con delay: mandar después de 5 minutos (anti-spam mejor practice según algunos)
Elección: inmediato. Razón: simpler y bueno para learning. El delay se puede agregar con Wait node después si quieres.
Decisión 4: ¿Validación estricta o permisiva?
- Estricta: rechaza cualquier irregularidad
- Permisiva: acepta si está "bien suficiente"
Elección: permisiva. Rechazamos solo lo claramente roto (campos faltantes, email sin @). Lo demás lo procesamos y registramos.
Ejercicio: dibuja tu propio diagrama
Objetivo: practicar el proceso de diseño con tus propias manos.
Tu tarea
Toma una hoja de papel (o herramienta digital simple como Excalidraw, Whimsical, draw.io).
- Nivel 1: anota qué datos espera tu workflow y qué outputs observables genera
- Nivel 2: lista las etapas mayores (no nodos específicos, conceptos)
- Nivel 3: decide qué nodo de n8n va en cada etapa
- Dibuja el flujo: cajas para nodos, flechas para conexiones
- Marca puntos de falla: dónde puede romperse y cómo lo manejas
Tip
No tiene que ser bonito. Pluma y papel sirve. La idea es tener el mapa antes de construir.
Variante
Si vas a usar este proyecto con un cliente real distinto al ejemplo, diseña con sus datos reales: qué campos tiene su formulario, qué quiere que pase, a qué Slack notifica.
Trampas del diseño
Trampa 1: Diseñar al nivel de nodos sin pasar por etapas
Qué pasa: Empiezas listando "Webhook → IF → Set → Email..." sin pensar en etapas. Después no sabes por qué cada nodo está donde está.
Cómo evitar: siempre etapas primero, nodos después. Aunque tome 2 minutos extra.
Trampa 2: Sobre-diseñar (planificar 2 horas para construir 30 minutos)
Qué pasa: Pierdes tanto tiempo planificando que pierdes momentum.
Cómo evitar: 15-20 minutos máximo de diseño para un workflow de complejidad media como este. Si pides más, probablemente el problema está más mal definido que el diseño.
Trampa 3: Diseñar para el "caso perfecto"
Qué pasa: Tu diagrama solo considera el happy path. No anticipas qué pasa si los datos vienen mal.
Cómo evitar: Pregunta #1 después de dibujar el happy path: "¿qué puede salir mal?". Agrega ramas/nodos para esos casos.
Trampa 4: Saltarte el diseño "porque sé qué hacer"
Qué pasa: Te confías por experiencia. Construyes directo. A las 2 horas estás reorganizando porque algo no encaja.
Cómo evitar: Siempre diseña, aunque sea breve. Las 15 minutos de papel son cuasi-gratis comparado con el costo de rehacer.
Resumen y siguiente paso
- Diseñar antes de construir = 10-20 min de papel ahorran 2 horas de "deshacer"
- Proceso de 3 niveles: datos (input/output) → etapas (procesamiento) → nodos (concretos)
- Anticipar fallas durante el diseño: input malo, servicios caídos, datos inesperados, monitoreo
- MVP vs nice-to-have: construye lo esencial primero, refina después
- Decisiones de diseño importantes: SMTP vs Gmail, Sheets vs CRM, validación estricta vs permisiva
- 4 trampas: saltar etapas, sobre-diseñar, ignorar caso malo, confiarse en experiencia
Antes de avanzar deberías tener:
- Un diagrama (papel o digital) del workflow de bienvenida
- Claridad de qué nodos van en cada etapa
- Decisiones de diseño tomadas conscientemente
- Lista de puntos de falla anticipados
Lo que sigue (cápsula 03):
Empezamos a construir. Primer paso: Webhook Trigger que recibe los datos del formulario. Vas a configurar la URL del webhook, capturar datos de prueba, y dejarlo listo para que un formulario real lo llame.
Recursos adicionales
- Excalidraw - Herramienta web gratis para diagramas a mano alzada.
- Whimsical - Diagramas más estructurados.
- n8n Workflow Diagrams Examples - Diagramas de workflows reales.
Creado: Mayo 11, 2026 Versión: 1.0