Módulo 7: Wait Nodes y Flujos Asíncronos
Wait Modes: Tres Modos
Descripción de la cápsula
El Wait node tiene 3 modos principales, cada uno para casos distintos. Saber cuál usar es la diferencia entre workflow que funciona y workflow imposible de mantener.
Lo que vas a aprender
- ✅ Distinguir los 3 modos y casos típicos
- ✅ Configurar cada uno
- ✅ Combinarlos en workflows complejos
Modo 1: Wait Amount (delay relativo)
Pausa el workflow por una duración relativa al momento de ejecución.
Configuración:
- Wait Amount: 5
- Wait Unit: minutes
Workflow pausa 5 min, después continúa.
Casos típicos
- Rate limit entre operaciones (cápsula M03-05)
- "Esperar 10 segundos para dar tiempo a que se propague"
- Recordatorios cortos
- Cool-down después de una acción
Limitaciones
- Máximo wait razonable: ~horas
- Para días/semanas mejor usar Until o Webhook (más robusto)
Modo 2: Wait Until (timestamp absoluto)
Pausa hasta una fecha/hora específica.
Configuración:
- Wait Until: timestamp ISO 8601
- Ejemplo:
2026-05-15T09:00:00
- Ejemplo:
Casos típicos
- "Mandar recordatorio el 15 de mayo a las 9am"
- "Procesar el día del cumpleaños del cliente"
- "Lanzar campaña el viernes a las 10am"
Configuración dinámica
Wait Until acepta expressions — calcular timestamp en runtime:
{{ DateTime.now().plus({ days: 3 }).toISO() }}
Workflow espera 3 días desde ahora.
{{ DateTime.fromISO($json.appointment_date).minus({ hours: 24 }).toISO() }}
Espera hasta 24 horas antes de la cita del cliente (recordatorio).
Modo 3: Wait for Webhook (resume con trigger externo)
Pausa hasta que un webhook específico reciba un request.
Configuración:
- Generates a resume URL único para esa ejecución
- Workflow pausa
- Cuando alguien hace POST a la resume URL, el workflow reanuda
Casos típicos
- Human-in-the-loop: "Mandar email a admin con link de aprobación. Cuando hace click, workflow continúa"
- Jobs externos: "Iniciar job en sistema X. Cuando complete, X manda webhook a esta URL"
- Pagos: "Esperar webhook de Stripe diciendo 'pago completado'"
El resume URL
n8n genera una URL única por execution:
https://your-instance/webhook-waiting/abc123
Cualquier POST a esa URL reanuda ese workflow específico.
Importante: la URL es única por execution — diferente cada vez que el workflow llega al Wait.
Comparación
| Modo | Cuándo | Duración típica |
|---|---|---|
| Wait Amount | Tiempo relativo conocido | segundos-horas |
| Wait Until | Tiempo absoluto programado | minutos-días |
| Wait for Webhook | Evento externo dispara | indefinido |
Combinaciones
Combo 1: Amount + Webhook (timeout)
[Wait for Webhook con timeout de 24 horas]
│
[IF: webhook llegó?]
├─ TRUE → procesar respuesta
└─ FALSE (timeout) → fallback
Esperar webhook pero rendirse después de 24h.
Combo 2: Until + Webhook
[Wait Until: día específico]
│
[Send Email con resume URL]
│
[Wait for Webhook]
Email se manda el día X, después espera respuesta.
Trampas comunes
Trampa 1: Wait largo en plan limitado
Qué pasa: Wait de 7 días en n8n Cloud Starter. Plan tiene timeout de workflows. Wait falla.
Cómo evitar: Verificar límites de tu plan. Wait largos pueden requerir upgrade.
Trampa 2: Wait Until con timezone mal
Qué pasa: Wait Until "2026-05-15T09:00:00" sin timezone. Server interpreta como UTC. Despierta a las 3am hora local CDMX.
Cómo evitar: Incluir timezone offset o usar Luxon con .setZone():
{{ DateTime.fromObject({year: 2026, month: 5, day: 15, hour: 9}, {zone: 'America/Mexico_City'}).toISO() }}
Trampa 3: Resume URL no es seguro
Qué pasa: La resume URL se filtra. Cualquiera puede hacer POST y reanudar el workflow.
Cómo evitar:
- Authentication en el webhook (Header Auth)
- O verificar payload tiene contenido esperado
Trampa 4: Wait infinito
Qué pasa: Wait for Webhook sin timeout. Webhook nunca llega. Workflow queda colgado indefinidamente.
Cómo evitar: Siempre timeout en Wait for Webhook.
Resumen
- 3 modos: Amount (relativo), Until (absoluto), Webhook (evento)
- Combinar para casos complejos (webhook con timeout)
- Timezone awareness en Until
- Security en resume URLs
- 4 trampas: plan limits, timezone, security URL, infinite wait
Lo que sigue: Delay patterns — uso típico de Wait Amount.
Creado: Mayo 11, 2026 Versión: 1.0