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.

Notificaciones por ventana de tiempo con condiciones UTC en Echobell

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