Notifications par fenêtre temporelle avec les conditions UTC dans Echobell

Utilisez les variables de temps UTC intégrées d'Echobell pour filtrer les notifications selon les heures ouvrées, les week-ends ou les fenêtres de maintenance. Inclut des recettes de conditions prêtes à l'emploi.

Notifications par fenêtre temporelle avec les conditions UTC dans Echobell

Les variables de temps UTC intégrées d'Echobell vous permettent de restreindre les notifications à des fenêtres temporelles spécifiques — heures ouvrées, plages d'astreinte, fenêtres de maintenance — directement dans les Conditions du canal. Aucune couche de filtrage externe n'est nécessaire.

Prérequis : Conditions, Modèles, Webhook, Déclencheurs email.

Variables UTC disponibles

Ces variables sont en lecture seule, toujours disponibles et calculées en UTC :

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

Utilisez-les directement dans les Conditions (sans {{ }}). Utilisez-les avec {{ }} dans les Modèles.

Recettes de conditions

Jours ouvrés pendant les heures de bureau

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

Week-ends uniquement

dayOfWeek == 0 || dayOfWeek == 6

Hors horaires (nuits et week-ends)

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

Fenêtre de maintenance (samedis 01:00–03:00)

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

Premier jour du mois à l'heure pile

dayOfMonth == 1 && minute == 0

Fin de trimestre pendant les heures ouvrées (mar/juin/sep/déc)

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

Combiner le temps avec des filtres de contenu

Les conditions temporelles se composent avec des variables de données en utilisant des opérateurs standards :

  • Escalades hors horaires pour la haute sévérité uniquement :
    ((hour < 9 || hour >= 17) || dayOfWeek == 0 || dayOfWeek == 6) && (severity == "high" || severity == "critical")
  • Environnement de production, jours ouvrés uniquement :
    environment == "production" && dayOfWeek >= 1 && dayOfWeek <= 5

Les Conditions sont des expressions simples — ne les entourez pas de {{ }}. Voir Conditions → Opérateurs supportés.

Utiliser les variables de temps dans les modèles

Les mêmes variables fonctionnent dans les modèles avec {{ }}, utiles pour les enregistrements d'audit et les confirmations lisibles :

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

Combinez avec les données provenant des Webhooks ou des Déclencheurs email :

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

Notes

  • Toutes les variables système sont en UTC. Si votre équipe s'étend sur plusieurs fuseaux horaires, tenez compte du décalage lors de la définition des plages horaires.
  • Commencez par une fenêtre temporelle simple, puis ajoutez des filtres de contenu une fois qu'elle fonctionne.
  • Laissez une courte description sur le canal expliquant la logique de la condition (ex. « Lun-Ven 09–17 UTC ; hors horaires uniquement pour la haute sévérité »).

Prochaines étapes

  • Ajoutez une condition de fenêtre temporelle à un canal existant : Conditions
  • Personnalisez le contenu des notifications avec des variables : Modèles
  • Créez des canaux séparés pour les heures ouvrées et les plages d'astreinte
  • Réglez les canaux d'astreinte sur le type Appel pour l'urgence en dehors des horaires