Módulo 2: Branching y Decisiones Avanzadas
Introducción al Módulo: Branching y Decisiones Avanzadas
Descripción de la cápsula
En G1-M07 viste los nodos de lógica condicional: IF, Switch, Merge, Set. Pero los nodos son solo el alfabeto — saber escribir letras no es saber escribir. Este módulo te enseña la gramática y estilo del branching profesional: cómo estructurar condiciones complejas para que sean legibles, cómo decidir entre IF anidado y Switch, cómo precomputar datos para que la lógica del workflow sea simple, y cómo evitar el "if hell" — el anti-patrón clásico donde un workflow se vuelve un nido de bifurcaciones que nadie entiende.
Vas a aprender patrones de diseño que diferencian a alguien que "conecta IFs" de alguien que diseña sistemas de decisión mantenibles. Después de M02, tus workflows pueden manejar lógica de negocio compleja sin colapsar en complejidad cognitiva.
Lo que vas a aprender
Al terminar este módulo serás capaz de:
- ✅ Construir condiciones complejas con AND/OR anidados legibles
- ✅ Usar Switch con 4+ ramas sin perder claridad
- ✅ Precomputar campos para simplificar la lógica downstream
- ✅ Aplicar filtros en cadena progresivamente
- ✅ Reconocer y refactorizar "if hell" cuando lo encuentres
- ✅ Extraer ramas complejas a sub-workflows
- ✅ Diseñar árboles de decisión de 3+ niveles mantenibles
Frontera con G1-M07 (qué asume este módulo)
Este módulo no reintroduce lo que G1-M07 cubrió:
| Concepto | G1-M07 (Fundamentos) | G2-M02 (este módulo) |
|---|---|---|
| Qué hace IF | Cápsula 02 | Asume conocido |
| Qué hace Switch | Cápsula 03 | Asume conocido |
| Qué hace Merge | Cápsula 04 | Asume conocido |
| Qué hace Set | Cápsula 05 | Asume conocido |
| Validación básica | Cápsula 06 | Cápsula 05 — profundiza con filtros en cadena |
| Routing básico | Cápsula 07 | Cápsulas 02-03 — profundiza con AND/OR y Switch grande |
Si no has terminado G1-M07, hazlo primero. Acá vamos al siguiente nivel.
Estructura del módulo
8 cápsulas en cuatro bloques:
Bloque 1: Condiciones complejas (cápsulas 02-03)
- 02 AND/OR complejos anidados en IF
- 03 Switch con muchas ramas y subroutines
Bloque 2: Patrón pre-cálculo (cápsulas 04-05)
- 04 Datos calculados antes de decisiones — simplificar lógica con Set previo
- 05 Filtros en cadena progresivos
Bloque 3: Anti-patrones y refactoring (cápsulas 06-07)
- 06 If hell y cómo refactorizar
- 07 Sub-workflows para manejar complejidad
Cierre (cápsula 08)
- 08 Mini-proyecto: árbol de decisión 3 niveles
El modelo mental clave: 2 ejes de complejidad
Antes de los patrones, fija esta imagen:
Toda decisión en un workflow tiene 2 ejes:
- Eje X: Complejidad de la condición — qué tan compleja es la regla ("si email contiene @ y consentimiento = true y monto > 1000")
- Eje Y: Cantidad de ramas — cuántos caminos posibles después
Los 4 cuadrantes definen qué estrategia usar:
Muchas ramas │ Pre-compute + Switch │ Sub-workflow (combinaciones complejas) │ (cada rama es un módulo) │ ────────────IF simple──────┼──────Switch─────── │ │ Simple │ Pocas ramas con │ condición compleja: │ pre-compute + IF Pocas ramas (Simple condición)
Cada cápsula te enseña a posicionarte en el cuadrante correcto.
Por qué importa profundizar branching
Causa #1: Workflows reales tienen lógica compleja
"Si lead es enterprise (>$10k) y en USA o Canadá y consentimiento es true y no es de un dominio sospechoso..." — esto es lo que vas a encontrar trabajando con clientes. IFs simples no alcanzan.
Causa #2: Mantenibilidad
Un workflow que funciona pero nadie entiende se rompe en el primer cambio. Branching legible = workflow longevo.
Causa #3: Performance
Decisiones bien estructuradas evitan ejecuciones innecesarias. Filter temprano > procesar y descartar al final.
Causa #4: Trabajo en equipo
Workflows que pasan a manos de colegas necesitan claridad estructural. "If hell" hace imposible la colaboración.
Tiempo estimado
1.5 a 2 horas para las 8 cápsulas. Mini-proyecto ~30 min.
División sugerida:
- Sesión 1 (45-60 min): 01-03 (intro + AND/OR + Switch grande)
- Sesión 2 (45-60 min): 04-05 (datos calculados + filtros en cadena)
- Sesión 3 (30-45 min): 06-08 (if hell + sub-workflows + mini-proyecto)
Lo que NO cubre este módulo
- ❌ Code node con JavaScript para decisiones complejas → guías avanzadas
- ❌ Decision making con AI/LLM (que el LLM decida por ti) → G6/G7
- ❌ State machines complejas (workflows que recuerdan estado entre ejecuciones) → G10
- ❌ Rule engines externos (Drools, etc.) → fuera del scope
El foco: lógica condicional clásica llevada al nivel productivo.
Pre-requisitos del módulo
- G1-M07 (Workflows con Lógica) completado
- G2-M01 (Triggers Avanzados) completado o en curso
- Comodidad con expressions y Set node
- Familiaridad con debugging (G1-M06)
Resumen
- M02 profundiza el branching que viste en G1-M07
- 8 cápsulas en 4 bloques: condiciones complejas → pre-cálculo → anti-patrones → mini-proyecto
- 2 ejes de complejidad: condición × ramas — guía la estrategia correcta
- Razón de fondo: workflows reales tienen lógica que un IF simple no captura
- Tiempo estimado: 1.5-2 horas
Recursos adicionales
- Branching Patterns (n8n Blog) - Patrones generales.
- Cyclomatic Complexity - Concepto para evaluar complejidad de lógica.
- Decision Tables - Técnica para estructurar lógica antes de implementar.
Creado: Mayo 11, 2026 Versión: 1.0