Complete "Lección 3: Conectar aplicaciones y trabajar con datos" primero para desbloquear esta lección.Ir a la lección anterior

Por qué son importantes la lógica y la gestión de errores

Un flujo de trabajo que solo mueve datos de A a B es frágil. Los procesos empresariales reales necesitan tomar decisiones: notificar al equipo de ventas solo cuando el valor de una oportunidad supere un umbral, guardar registros solo cuando los campos obligatorios estén presentes y, lo más importante, seguir funcionando cuando algo falla de forma inesperada. Sin ramificación ni gestión de errores, una sola respuesta defectuosa de una API puede romper silenciosamente todo tu pipeline.

En n8n, la lógica y la gestión de errores se construyen a partir de un pequeño conjunto de nodos que se combinan como bloques de LEGO. El nodo IF ramifica tu flujo. El nodo Switch gestiona el enrutamiento múltiple. El nodo Filter elimina los elementos no deseados antes de que lleguen a los nodos posteriores. El nodo Stop and Error, junto con el flujo de trabajo Error Trigger, te ofrecen formas de capturar y responder a los fallos.

Ramificación con el nodo IF

El nodo IF evalúa una condición sobre cada elemento y envía los resultados verdaderos por una ruta y los falsos por otra. Esta es tu herramienta principal para tomar decisiones binarias.

json
{
"conditions": {
"number": [
{
"value1": "{{ $json.amount }}",
"operation": "larger",
"value2": 1000
}
]
}
}

En el ejemplo anterior, el nodo comprueba si el campo amount de cada elemento entrante es mayor que 1000. Los elementos que cumplen la condición continúan por la rama verdadera. Los que no la cumplen caen en la rama falsa, donde puedes enrutarlos a una acción diferente, como una alerta en Slack o una cola de baja prioridad.

Para más de dos rutas posibles, usa el nodo Switch. Funciona como una sentencia switch en código: defines reglas y la primera regla que coincida determina qué salida toma el elemento.

diagrama de flujo de ramificación del nodo IF con 2 ramas true y false que conducen a acciones diferentes

Filtrar elementos de forma limpia

A veces no necesitas dos ramas. Solo quieres descartar los elementos que no cumplen una condición y continuar. El nodo Filter hace exactamente esto. Se sitúa entre dos nodos y descarta silenciosamente los elementos que no cumplen la condición.

json
{
"conditions": {
"string": [
{
"value1": "{{ $json.status }}",
"operation": "equals",
"value2": "active"
}
]
}
}

Usa Filter cuando la acción posterior solo deba recibir elementos válidos. Usa IF cuando ambas ramas necesiten su propia lógica de seguimiento. La distinción importa: un nodo IF sigue pasando los elementos falsos hacia adelante a menos que los detengas o reenrutes explícitamente, mientras que Filter los elimina por completo.

Patrones de gestión de errores

n8n proporciona tres capas de gestión de errores. La primera es el nodo Error Trigger integrado, que inicia un flujo de trabajo separado cada vez que falla cualquier flujo. La segunda es el ajuste Continue On Fail en nodos individuales, que indica a n8n que mantenga el flujo en ejecución aunque ese nodo específico falle. La tercera es el nodo Stop and Error, que se activa deliberadamente cuando tu lógica detecta un estado imposible.

javascript
// Pseudocode for a retry pattern using Continue On Fail + Wait
try {
// call external API
} catch {
// log failure
// wait, then retry up to 3 times
}

Un patrón común luce así: envuelve un nodo HTTP Request con Continue On Fail activado. Si la llamada falla, enruta la salida a través de un nodo Wait y luego de vuelta al nodo HTTP Request. Tras tres bucles, deriva a un gestor de errores que envía una notificación y escribe el payload fallido en una tabla dead-letter de tu base de datos para revisión manual.

diagrama del ciclo de vida de gestión de errores con un bucle de reintento de máximo 3 intentos y luego fallback a una cola dead-letter

Consejos prácticos y errores comunes

Dos errores se repiten constantemente. Primero, la gente activa Continue On Fail en todos los nodos porque quiere resiliencia, pero esto oculta errores reales. Una respuesta 401 unauthorized y un bug genuino de lógica se ven igual para un nodo posterior que ignoró el error. Sé selectivo: solo configura Continue On Fail en nodos donde tengas una ruta de recuperación específica planificada.

Segundo, la gente olvida que n8n procesa los elementos uno a uno dentro de un nodo, pero varios elementos pueden entrar en un nodo en una sola ejecución. Tus condiciones del IF deben funcionar correctamente para todos los elementos, no solo para el primero. Prueba con al menos tres entradas variadas, incluyendo casos límite como cadenas vacías, valores cero y campos null.

Resumen

La lógica en n8n no es magia; es un pequeño conjunto de herramientas de nodos aplicadas con intención. Usa IF y Switch para ramificación explícita, Filter para limpieza silenciosa y una estrategia de errores en capas que combine Continue On Fail, flujos de trabajo de error dedicados y un destino dead-letter para los fallos que no puedas recuperar automáticamente. Los flujos de trabajo que sobreviven al contacto con datos empresariales reales son aquellos que esperan que algo salga mal y lo manejan con elegancia.

Práctica de la lección

Punto de control de la lección

Repasa lo aprendido y recibe comentarios sobre tu trabajo.

0/1
Respondidas · 0/1