Notificaciones por ventana de tiempo con condiciones UTC en Echobell

Usa las variables de tiempo UTC integradas de Echobell para filtrar notificaciones por horario laboral, fines de semana o ventanas de mantenimiento. Incluye recetas de condiciones listas para usar.

Índice

Las variables de tiempo UTC integradas de Echobell te permiten restringir las notificaciones a ventanas de tiempo específicas — horario laboral, turnos de guardia, ventanas de mantenimiento — directamente en las condiciones del canal. Sin necesidad de una capa de filtrado externa.

Requisitos previos: Condiciones, Plantillas, Webhook, Disparadores de correo.

Variables UTC disponibles

Son de solo lectura, siempre disponibles y se calculan en UTC:

  • timezone (siempre "UTC"), now/iso, epochMs, epochSeconds
  • year, month (1–12), monthName
  • dayOfMonth (1–31)
  • dayOfWeek (0–6, domingo = 0), dayOfWeekName
  • hour (0–23), minute (0–59), second (0–59)
  • date (YYYY-MM-DD), time (HH:mm:ss)

Úsalas directamente en Condiciones (sin {{ }}). Úsalas con {{ }} en Plantillas.

Recetas de condiciones

Días laborables en horario de oficina

hour >= 9 && hour < 17 && dayOfWeek >= 1 && dayOfWeek <= 5

Solo fines de semana

dayOfWeek == 0 || dayOfWeek == 6

Fuera de horario (noches y fines de semana)

(hour < 9 || hour >= 17) || dayOfWeek == 0 || dayOfWeek == 6

Ventana de mantenimiento (sábados de 01:00 a 03:00)

dayOfWeek == 6 && hour >= 1 && hour < 3

Primer día de cada mes a la hora en punto

dayOfMonth == 1 && minute == 0

Fin de trimestre en horario laboral (mar/jun/sep/dic)

(month == 3 || month == 6 || month == 9 || month == 12) && hour >= 9 && hour < 17 && dayOfWeek >= 1 && dayOfWeek <= 5

Combinar tiempo con filtros de contenido

Las condiciones de tiempo se combinan con variables de datos usando operadores estándar:

  • Escalaciones fuera de horario solo para alta severidad:
    ((hour < 9 || hour >= 17) || dayOfWeek == 0 || dayOfWeek == 6) && (severity == "high" || severity == "critical")
    
  • Entorno de producción, solo días laborables:
    environment == "production" && dayOfWeek >= 1 && dayOfWeek <= 5
    

Las condiciones son expresiones simples — no las envuelvas en {{ }}. Consulta Condiciones → Operadores admitidos.

Usar variables de tiempo en plantillas

Las mismas variables funcionan en plantillas con {{ }}, útil para registros de auditoría y recibos legibles:

Sent at {{date}} {{time}} {{timezone}}
Today is {{dayOfWeekName}}, {{monthName}} {{dayOfMonth}}, {{year}}
Epoch: {{epochSeconds}}

Combínalas con datos de Webhook o Disparadores de correo:

{{service}} {{status}} at {{time}} ({{timezone}})

Notas

  • Todas las variables del sistema están en UTC. Si tu equipo abarca varios husos horarios, considera el desplazamiento al establecer los rangos horarios.
  • Empieza con una ventana de tiempo simple y luego agrega filtros de contenido una vez que funcione.
  • Deja una descripción breve en el canal que explique la lógica de la condición (p. ej. "Días laborables 09–17 UTC; fuera de horario solo para alta severidad").

Siguientes pasos

  • Agrega una condición de ventana de tiempo a un canal existente: Condiciones
  • Personaliza el contenido de las notificaciones con variables: Plantillas
  • Crea canales separados para horario laboral frente a turnos de guardia
  • Configura los canales de guardia con el tipo de notificación Calling para urgencia fuera de horario

Artículos relacionados