Los condicionales son como semáforos en tus flujos: deciden qué camino toman tus datos.
En n8n: "Si el email contiene 'urgente', envíalo a Slack. Si no, envíalo por email normal."
💡 Regla de Oro: Sin condicionales, todos los datos van por el mismo camino. Con condicionales, cada dato toma su ruta perfecta.
Si: {{ $json.amount }} es Mayor que 100
Entonces: TRUE → Enviar a clientes VIP
Sino: FALSE → Enviar a clientes normales
IF Node: 2 rutas (TRUE/FALSE)
Switch Node: Múltiples rutas según el valor
{{ $json.amount > 100 }}
→ Devuelve: true o false
{{ $json.email.includes('@gmail.com') }}
→ Devuelve: true o false
{{ $json.status === 'active' }}
→ Devuelve: true o false
💡 Pro Tip: Estas expresiones se pueden usar directamente en el nodo IF o combinarlas con && (AND) y || (OR)
En lugar de escribir reglas complejas, puedes usar IA para tomar decisiones inteligentes.
• Decisiones más inteligentes que reglas fijas
• Se adapta a casos nuevos automáticamente
• Menos código, más potencia
Analiza este email y determina si es spam.
Responde SOLO con "true" o "false", nada más.
Email: {{ $json.email_content }}
Asunto: {{ $json.subject }}
{{ $json.response.trim().toLowerCase() === 'true' }}
💡 Pro Tip: El .trim().toLowerCase() limpia la respuesta de la IA por si acaso agrega espacios o mayúsculas.
Valida este dato según las reglas de negocio.
Reglas:
- Email debe tener formato válido
- Nombre no puede estar vacío
- Edad debe ser mayor a 18
Dato: {{ $json }}
Responde SOLO "true" o "false".
¿Es esto bueno?
¿Este email es spam? Responde SOLO con "true" o "false", nada más. No agregues explicaciones.
{{ $json.response.trim().toLowerCase() === 'true' }}
IF: ¿IA respondió? TRUE → Continuar FALSE → Enviar a revisión manual
La IA es poderosa, pero siempre valida su respuesta. Nunca confíes ciegamente en una decisión automática.
Un estado es la condición actual de un dato. Por ejemplo, un cliente puede estar en diferentes estados según su comportamiento.
💡 En n8n: Los estados se manejan con condicionales. Según las condiciones, actualizas el estado del dato.
IF 1: {{ $json.first_purchase === true }}
→ Estado: "nuevo"
IF 2: {{ $json.last_purchase_date > '2024-01-01' }}
→ Estado: "activo"
ELSE:
→ Estado: "inactivo"
IF: ¿Estado == "nuevo"? → Acción A ELSE IF: ¿Estado == "activo"? → Acción B ELSE: → Acción C
Funciona, pero puede ser confuso con muchos estados
Switch: {{ $json.status }}
Case "nuevo" → Acción A
Case "activo" → Acción B
Case "inactivo" → Acción C
Default → Acción D
Más limpio, más fácil de leer y mantener
💡 Pro Tip: Usa Switch cuando tengas 3+ estados diferentes. Es más mantenible y fácil de entender.
IF 1: {{ $json.priority === 'urgent' }}
→ Enviar a Slack
IF 2: {{ $json.priority === 'important' }}
→ Enviar email
ELSE:
→ Guardar en log
💡 Resultado: Cada notificación toma la ruta correcta según su prioridad, sin intervención manual.
IF 1: {{ $json.amount > 1000 }}
→ Prioridad: "alta"
IF 2: {{ $json.amount > 500 }}
→ Prioridad: "media"
ELSE:
→ Prioridad: "normal"
Las órdenes grandes se procesan primero, mejorando la experiencia de los clientes más valiosos.