Introducción

Todo flujo de trabajo del mundo real finalmente se topa con una bifurcación: enviar una notificación solo si un trato supera los $10,000, procesar un pedido de manera diferente según su estado, omitir un paso cuando un campo está vacío. n8n maneja todo esto a través de la ramificación condicional — dirigiendo la ejecución por diferentes rutas según los datos reales que fluyen a través de tu flujo de trabajo.

n8n te ofrece dos nodos para esto: IF para decisiones binarias de sí/no y Switch cuando necesitas más de dos resultados. Saber cuál usar y cómo configurar las condiciones con precisión es lo que separa flujos frágiles de aquellos que aguantan en producción.

flujo de ejemplo con un nodo de entrada único que se divide en dos rutas mediante un nodo IF — una ruta etiquetada como VERDADERO, otra como FALSO, cada una llevando a un nodo de acción diferente

El Nodo IF: Ramificación binaria

El nodo IF evalúa una o más condiciones contra tus datos de entrada y dirige cada elemento hacia la salida VERDADERA o la salida FALSA. Nada va a ambas — cada elemento elige exactamente una ruta.

Para configurarlo, seleccionas un valor de tus datos entrantes (usualmente una referencia de campo como la sintaxis de expresión), eliges un operador y estableces un valor de comparación. n8n admite una variedad de operadores por tipo de dato:

Para cadenas: es igual, no es igual, contiene, empieza con, termina con, coincidencia de expresión regular. Para números: es igual, no es igual, mayor que, menor que, mayor o igual, menor o igual. Para booleanos: es verdadero, es falso. Para arreglos y objetos: está vacío, no está vacío.

Aquí tienes un ejemplo sencillo: un webhook recibe datos de pedido y quieres dirigir los pedidos de alto valor a un canal especial de Slack.

En el nodo IF establecerías: Valor 1 — expresión que referencia el campo de cantidad de la ordenación Operación — Mayor Que Valor 2 — 10000

Los elementos donde la cantidad excede 10,000 salen por la salida TRUE. Todo lo demás sale por FALSE. Luego conectas cada salida a sus propios nodos aguas abajo.

Puedes apilar múltiples condiciones dentro de un solo nodo IF usando AND (todos deben pasar) o OR (cualquiera de las dos pasa es suficiente). Ten en cuenta que las cadenas AND pueden volverse difíciles de leer después de tres condiciones; en ese punto, dividir en nodos IF secuenciales o cambiar a Switch suele ser más limpio.

El Nodo Switch: Múltiples Resultados

Cuando tienes más de dos rutas posibles, apilar nodos IF se vuelve desordenado muy rápido. Switch te permite definir varias reglas, cada una con su propia salida, evaluadas de arriba hacia abajo. La primera regla que coincida gana, y el ítem sale por esa salida.

Switch también tiene una salida de Fallback — los elementos que no coinciden con ninguna regla llegan aquí. Siempre conecta algo al fallback, incluso si es solo un nodo de No Operación, para saber qué le pasó a los elementos no emparejados.

Un ejemplo práctico: recibes tickets de soporte y quieres enrutinarlos por prioridad.

json
Rule 1: priority equals "critical" → Output 0 → PagerDuty node
Rule 2: priority equals "high" → Output 1 → Slack node
Rule 3: priority equals "low" → Output 2 → Email node
Fallback → Output 3 → Log to spreadsheet

En n8n configuras cada regla de la misma manera en que configuras una condición IF: elige un campo, elige un operador, establece un valor de comparación. La diferencia es que cada regla tiene su propio conector de salida numerado en el nodo.

diagrama de flujo que muestra el nodo Switch con una entrada y cuatro ramas de salida etiquetadas como crítico, alto, bajo y fallback, cada una conectándose a un nodo de acción diferente

Una sutileza que vale la pena saber: por defecto, Switch enruta cada elemento solo a la primera regla que coincida. Si activas el conmutador "Enviar datos a todas las salidas que coincidan", un elemento puede salir por múltiples salidas simultáneamente. Esto es útil pero puede provocar acciones duplicadas en el downstream si no lo esperas — déjalo desactivado a menos que necesites explícitamente un comportamiento de fan-out.

Errores comunes

Los desajustes de tipos causan fallos silenciosos más que cualquier otra cosa. Si tu campo entrante contiene la cadena "1500" y la comparas con Mayor Que 1000 usando un operador Número, es posible que n8n no convierta automáticamente la cadena según de dónde provengan los datos. Usa el nodo Set o una expresión como parseInt() para normalizar los tipos antes de ramificar.

Otro error común es dejar sin conexión la salida FALSE de un nodo IF o la salida de Fallback de un nodo Switch. n8n no mostrará un error; esos elementos simplemente desaparecen de la ejecución. En un flujo de trabajo que procesa registros de clientes, caídas silenciosas como estas pueden ser difíciles de depurar más adelante. Conecta cada salida a algo, incluso a un paso de registro mínimo.

También ten cuidado con campos vacíos o nulos. Comparar un valor nulo con "equals some string" evaluará como false, lo cual suele ser lo que quieres, pero "is empty" y "is not empty" se comportan de manera diferente a "equals empty string". Prueba con payloads nulos reales, no solo con cadenas vacías.

Resumen

Utiliza el nodo IF cuando tu decisión es binaria — TRUE o FALSE, sí o no, coincidente o no coincidente. Usa Switch cuando tienes tres o más resultados distintos y quieres rutas de salida limpias y separadas sin encadenar múltiples nodos IF. En ambos casos, siempre maneja explícitamente la ruta que no coincide, normaliza los tipos de datos antes de comparar y prueba con entradas de borde (nulos, cadenas vacías, tipos inesperados) antes de implementar en producción. Estos dos nodos son la base de cualquier flujo de trabajo que realiza lógica condicional real.

Práctica de la lección

Punto de control de la lección

Repasa lo aprendido y recibe comentarios sobre tu trabajo.

0/7
01¿Cuáles son las dos rutas de salida de un nodo IF en n8n?
02¿Cuándo deberías preferir el nodo Switch por encima de encadenar múltiples nodos IF?
03En un nodo Switch, ¿qué pasa con los elementos que no coinciden con ninguna regla definida?
04¿Cuál es el riesgo de dejar desconectado la salida FALSE de un nodo IF?
05Tienes un campo que llega como la cadena "1500" y la comparas con Mayor a 1000 utilizando un operador Number. ¿Cuál es el enfoque más seguro?
06¿Qué hace habilitar "Send data to all matching outputs" en un nodo Switch?
07Al combinar múltiples condiciones dentro de un único nodo IF usando lógica AND, ¿qué se requiere para que un elemento tome la ruta TRUE?
Respondidas · 0/7
Lesson 1: Rama condicional con los nodos IF y Switch