Dominio Avanzado de n8n y Automatización de Flujos
Lógica y Condicionales Avanzados
Más Allá del Si/No
Ya sabes cómo usar la lógica condicional para crear rutas básicas en tus flujos de trabajo. Un nodo IF puede dividir un flujo en dos caminos, verdadero o falso. Pero, ¿qué sucede cuando la realidad es más compleja? Los flujos de trabajo del mundo real rara vez son binarios. Necesitan manejar docenas de condiciones, limpiar datos en múltiples pasos y enrutar tareas a través de sistemas completamente diferentes según reglas dinámicas.
Aquí es donde entran en juego las técnicas de ramificación avanzadas. En lugar de pensar en caminos lineales con desvíos ocasionales, comenzaremos a diseñar flujos de trabajo como sistemas de distribución inteligentes. Utilizaremos los nodos Switch y Filter no solo como puertas, sino como directores de orquesta que guían los datos a través de rutas complejas y eficientes, evitando la lógica duplicada y manteniendo nuestros lienzos limpios y legibles.
Orquestación con el Nodo Switch
Piensa en el nodo Switch como un controlador de tráfico aéreo para tus datos. En lugar de una simple bifurcación de sí/no, el Switch puede dirigir un elemento entrante hacia múltiples salidas basadas en un conjunto de reglas. Su verdadero poder reside en el uso de expresiones para definir estas reglas de enrutamiento.
/*
Ejemplo de expresión en un nodo Switch
para enrutar tickets de soporte.
*/
// Ruta 1: Facturación
{{ $json.priority === 'high' && $json.category === 'billing' }}
// Ruta 2: Soporte Técnico
{{ $json.category === 'technical_support' }}
// Ruta 3 (Default): General
// No se necesita expresión si es la última ruta y actúa como fallback.
Cada salida del nodo Switch (Output 1, Output 2, etc.) puede tener su propia condición. Cuando un elemento llega, n8n evalúa las condiciones en orden. En el modo "First Match" (Coincidir primero), el elemento se envía a la primera salida cuya condición sea verdadera. En el modo "All Matches" (Coincidir todo), el elemento se puede duplicar y enviar a todas las salidas cuyas condiciones cumpla.
Utiliza la última salida del nodo Switch sin ninguna condición para que actúe como una ruta 'default' o 'catch-all', asegurando que ningún dato se pierda si no coincide con las reglas anteriores.
Filtrado en Cadena para Datos Puros
A veces, en lugar de enrutar datos, necesitas limpiarlos progresivamente. Intentar escribir una única condición gigante para validar datos es propenso a errores y difícil de depurar. Una estrategia mucho más limpia es encadenar varios nodos Filter.
Imagina que estás procesando una lista de nuevos registros de usuarios. Cada nodo Filter actúa como un control de calidad específico:
Este enfoque modular hace que el flujo sea mucho más fácil de entender. Si necesitas ajustar la lógica de validación de país, solo tienes que modificar el Filter 2, sin tocar el resto del flujo. Esta técnica es fundamental para construir flujos de trabajo robustos y mantenibles que procesan datos de fuentes no confiables.
Estrategias de Ramificación y Fusión
Los flujos complejos a menudo se ramifican para realizar diferentes tareas en paralelo y luego necesitan converger de nuevo. Un caso de uso común es la arquitectura multi-tenant donde un único flujo de trabajo debe procesar datos para múltiples clientes o "inquilinos".
Podrías usar un nodo Switch para enrutar los datos basándote en un tenant_id. Cada rama del Switch podría conectarse a diferentes credenciales (por ejemplo, una API de Google Sheets para el Cliente A, otra para el Cliente B). Después de que cada rama complete su tarea específica, es posible que necesites reunirlas para un paso final, como enviar una notificación de resumen.
Aquí es donde entra el nodo Merge. Este nodo puede tomar datos de múltiples flujos entrantes y combinarlos en un único flujo de salida. En su modo "Multiplex", espera a recibir un elemento de cada una de las entradas conectadas antes de pasarlos juntos como un solo conjunto de datos. Esto es perfecto para sincronizar las ramas de tu flujo antes de proceder.
| Modo Merge | Comportamiento |
|---|---|
| Append | Combina datos de todas las entradas en una única lista de elementos. |
| Pass-through | Simplemente pasa los datos a medida que llegan, sin esperar. |
| Multiplex | Empareja elementos de cada entrada y los combina en un único elemento nuevo. |
| Wait | Espera a que todas las entradas terminen antes de combinar y enviar los resultados. |
Dominar la combinación de Switch para ramificar, nodos específicos de tareas en cada rama y Merge para fusionar es la clave para orquestar flujos de trabajo complejos que son a la vez potentes y organizados.
¿Cuál es el propósito principal del nodo Switch en un flujo de trabajo?
En el nodo Switch, ¿qué sucede en el modo "All Matches" (Coincidir todo) si un elemento de entrada cumple las condiciones de tres salidas diferentes?
Ahora tienes las herramientas para diseñar flujos que pueden manejar casi cualquier requisito lógico. La práctica te ayudará a decidir instintivamente cuándo usar un Switch, cuándo encadenar Filters y cómo estructurar tus ramas para máxima claridad y eficiencia.