Módulo 7: Wait Nodes y Flujos Asíncronos

Patrones de espera (delay)

Descripción de la cápsula

Wait Amount (delay relativo) habilita patterns de secuencias temporales: mandar email A, esperar N días, mandar email B. Es la base de email automation, drip campaigns, recordatorios escalonados.


Lo que vas a aprender

  • 3 patterns de delay típicos
  • Email drip campaigns con Wait
  • Recordatorios escalonados (1 día antes, 1 hora antes)
  • Trade-offs entre delay y Schedule alternativo

Pattern 1: Drip campaign (secuencia de emails)

Caso: nuevo registro. Quieres mandar:

  • Día 0: bienvenida
  • Día 3: tutorial básico
  • Día 7: caso de uso
  • Día 14: testimonios
[Webhook: registro]
   │
[Send Email: bienvenida]
   │
[Wait 3 days]
   │
[Send Email: tutorial]
   │
[Wait 4 days]   // total: día 7
   │
[Send Email: casos]
   │
[Wait 7 days]   // total: día 14
   │
[Send Email: testimonios]

Cada user que se registra dispara su propia secuencia. Workflow vive 14 días por cada lead.


Pattern 2: Recordatorios escalonados

Caso: cliente agendó cita para fecha X. Recordar:

  • 1 día antes
  • 1 hora antes

Opción A: Wait Until (recomendado)

[Trigger: nueva cita en fecha X]
   │
[Wait Until: X - 24 horas]
   │
[Send Email: recordatorio "mañana es tu cita"]
   │
[Wait Until: X - 1 hora]
   │
[Send Email: recordatorio "en 1 hora"]

Wait Until es preciso al timestamp.

Opción B: Wait Amount (menos preciso)

[Trigger]
   │
[Set: days_until_appointment]
   │
[Wait Amount: days_until_appointment - 1 día]
   │
...

Funciona pero requiere cálculos manuales.


Pattern 3: Cool-down después de acción

Caso: después de mandar Slack alerta, esperar 30 min antes de mandar otra del mismo tipo.

[Trigger]
   │
[Slack: alerta]
   │
[Wait 30 minutes]
   │
[Set: marker que "ya alertamos en últimos 30 min"]

Esto suprimes spam. Pero hay problema: cada execution del workflow es independiente. ¿Cómo "recordar" entre executions?

Solución:

  • Sheet/DB con timestamp del último alert
  • Antes de alertar, check: "¿hace cuánto fue el último?"

Delay vs Schedule alternativo

Para delays largos (días+), considera si Schedule podría ser mejor:

Wait largo (en un solo workflow)

[Webhook registro] → ... → [Wait 7 days] → [Email]

Pros: todo en un workflow, lineal. Contras:

  • Workflow vive 7 días en estado "Waiting" — visible en Executions
  • Si tu plan tiene timeout, puede fallar
  • Si n8n se reinicia, posible pérdida (depende de versión)

Schedule alternativo

[Webhook registro] → [Sheet: append con timestamp]

(workflow separado)
[Schedule diario] → [Lee Sheet, filtra "hace 7 días"] → [Send Email]

Pros: más robusto, sin dependencia de Wait largo Contras: dos workflows, requiere Sheet/DB

Decisión

  • Wait ≤ 24 horas: Wait Amount/Until OK
  • Wait días-semanas: considerar Schedule alternativo
  • Wait > semanas: definitivamente Schedule

Caso real: onboarding 7 días

Implementación con Wait:

[Webhook registro]
   │
[Set: enrich datos]
   │
[Send Email: día 0 bienvenida]
   │
[Wait 1 day]
   │
[Send Email: día 1 tutorial básico]
   │
[Wait 2 days]   // total: día 3
   │
[Send Email: día 3 caso de uso]
   │
[Wait 4 days]   // total: día 7
   │
[Send Email: día 7 cierre]
   │
[Sheet: marcar onboarding completo]

Workflow vive 7 días por cada lead.

Implementación con Schedule:

Workflow 1: capturar
[Webhook] → [Sheet: append con signup_date]

Workflow 2: drip diario
[Schedule diario 9am]
   │
[Sheet: leer leads]
   │
[Filter: days_since_signup === 1]
[Send Email tutorial]

[Filter: days_since_signup === 3]
[Send Email caso de uso]

[Filter: days_since_signup === 7]
[Send Email cierre]

Más robusto pero requiere lógica de fecha.


Trampas comunes

Trampa 1: Wait que no cabe en plan

Qué pasa: Wait 7 días en plan que tiene workflow timeout de 24h. Workflow se mata después de 24h.

Cómo evitar: Verificar plan limits. Si Wait largo no es viable, usar Schedule alternativo.


Trampa 2: Delay sin tracking

Qué pasa: Drip campaign con 5 waits secuenciales. ¿Cómo sabes cuántos leads están en cada paso?

Cómo evitar: Loggear en Sheet cada paso completado. Permite analytics + recovery si algo falla.


Trampa 3: Wait que no respeta horario

Qué pasa: Wait 1 día → email se manda a las 3am.

Cómo evitar: Combinar con Wait Until al horario apropiado:

[Wait 1 day]
   │
[Wait Until: hoy 9am hora cliente]
   │
[Send Email]

Trampa 4: Cancelar drip cuando usuario unsubscribe

Qué pasa: Usuario se registra. Empieza drip. Después de día 1, se da de baja. Pero el workflow ya está en Wait — sigue mandando emails.

Cómo evitar:

  • Check antes de cada email: "¿el usuario sigue activo?"
  • O usar Schedule alternativo donde puedes filtrar dinámicamente

Resumen

  • Drip campaigns: Wait entre emails secuenciales
  • Recordatorios: Wait Until para timestamps específicos
  • Cool-down: Wait + Sheet con timestamp del último
  • Delay largo: considerar Schedule alternativo
  • 4 trampas: plan limits, sin tracking, sin respetar horario, no cancelar al unsubscribe

Lo que sigue: Wait Until — programar acciones para fechas futuras específicas.


Creado: Mayo 11, 2026 Versión: 1.0