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

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

ModoCuándoDuración típica
Wait AmountTiempo relativo conocidosegundos-horas
Wait UntilTiempo absoluto programadominutos-días
Wait for WebhookEvento externo disparaindefinido

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