Nouveau : le pare-feu IA surveille chaque module et explique chaque incident en termes simples. Découvrez comment ça marche

Notifications depuis les règles et les flows

Prévenez les personnes depuis une règle de la carte Rules ou depuis un flow : destinataires, canaux, urgence, modèles, délai de blocage de 10 minutes, quotas et résultat.

En dehors des règles d’alarme, deux outils envoient des notifications : l’action Tell people d’une règle de la carte Rules, et le bloc Notify d’un flow. Les deux passent par le même service de notification que les alarmes, avec les mêmes canaux et les mêmes préférences personnelles. Ils ajoutent un délai de blocage (cooldown) afin qu’un événement répété ne sature pas les destinataires.

Depuis une règle de la carte Rules

L’action Tell people comporte deux champs :

ChampSignification
WhoCochez Owners, Admins et/ou Members.
MessageJusqu’à 1 000 caractères.
  • Le titre de la notification est le nom de la règle ; son texte est le message.
  • Les utilisateurs, rôles, rôles personnalisés et équipes sont joints dans l’application, par push lorsqu’il est configuré, et dans les applications de chat liées ; ils ne reçoivent jamais d’e-mail ni de SMS. Seules les lignes address reçoivent un e-mail et seules les lignes phone reçoivent un SMS.
  • Dans la carte, vous choisissez des rôles. L’API des règles accepte aussi des utilisateurs individuels ({ "kind": "user", "userId": "…" }) et des équipes ({ "kind": "team", "teamId": "…" }), jusqu’à 20 destinataires, ainsi qu’une liste channels.
  • Un rôle ou une équipe comptant plus de 20 membres actifs est refusé plutôt que notifié partiellement, et l’exécution enregistre l’échec.
  • Les membres sont joints dans la cloche, par push et dans leurs applications de chat. La carte Rules ne peut pas désigner d’adresses e-mail ni de numéros de téléphone ; utilisez un flow pour cela.
  • Tell people ne fonctionne en mode Manual que si la règle est marquée Also runs in Manual.
{ "id": "a3", "kind": "notify", "recipients": [ { "kind": "role", "role": "ADMIN" }, { "kind": "team", "teamId": "…" } ], "channels": ["inapp"], "text": "Cold room door open for 10 minutes" }

Voir Rules card: actions.

Depuis un flow : le bloc Notify

Le bloc Notify envoie aux utilisateurs, rôles, équipes, adresses e-mail et numéros de téléphone, et transmet le message.

ParamètreSignificationLimites
recipientsLignes d’un type et d’une valeur : user (un identifiant utilisateur), address (une ou plusieurs adresses e-mail, séparées par des virgules), phone (numéros au format international), role (OWNER, ADMIN, USER), custom_role, team, ou originator_owner (les propriétaires de l’émetteur du message, lorsqu’un module les déclare). Les valeurs sont des modèles.20 lignes ; 20 destinataires après développement
channelsLimiter à ces identifiants de canal. Vide : le choix propre à chaque destinataire.
urgencynormal ou critical. Critical ignore les préférences des destinataires, sauf si l’organisation a désactivé cette option.
title, textLe message, sous forme de modèles.Entre 200 et 4 000 caractères
formattext, ou html pour les e-mails (les autres canaux reçoivent du texte brut).
subject, reply_to, cc, bccOptions de courrier. Chaque adresse cc et bcc reçoit son propre message.
attachmentsFichiers joints à l’e-mail.10 fichiers, 1 MiB au total
reasonCe qui rend deux notifications « identiques » pour le délai de blocage.200 caractères

Référence complète du bloc : Alarm, command and notify blocks.

Modèles

Les valeurs entre {{ }} sont remplies à partir du message, par exemple :

title: {{ msg.metadata.deviceName }}: level {{ msg.payload.level }} %
text:  Tank level fell below the limit at {{ msg.metadata.deviceName }}.

Une valeur insérée dans un texte HTML est échappée : un message peut ajouter du texte au courrier, mais jamais de balisage.

Le délai de blocage

Un événement répété ne doit pas envoyer des centaines de messages. Chaque destinataire reçoit une seule notification de même reason, issue du même flow, par délai de blocage : 10 minutes, sauf si votre offre en définit une autre (au moins 1 minute).

  • Le reason est le paramètre reason du bloc ou, à défaut, les mots de la notification. Un texte qui change à chaque mesure (« Niveau 41 % », « Niveau 40 % ») constitue un nouveau reason à chaque fois ; définissez reason (par exemple level of {{ msg.metadata.deviceName }}) pour les regrouper.
  • Un destinataire retenu est exclu ; les autres le reçoivent quand même. Lorsque personne ne reste, le message poursuit son chemin sans erreur.
  • La notification suivante, après la fin du délai, porte la mention « (+n) » : le nombre de notifications retenues entre-temps.
  • Un destinataire n’est compté comme informé que si un canal a effectivement livré. Si tous les canaux ont échoué ou ont été retenus par des préférences ou des heures de silence, la notification suivante leur est envoyée.
  • Le Tell people de la carte Rules est un bloc de flow sous-jacent ; il a donc le même délai de blocage, calculé sur le nom de la règle et le message.

Messages tardifs

Un message traité après sa durée de vie (time-to-live, après une panne) n’avertit personne : des mesures vieilles de plusieurs heures ne doivent pas alerter les gens. Il est compté comme « too old ».

Quotas

Avant l’envoi, le bloc vérifie les quotas mensuels d’e-mails et de SMS des canaux qu’il utiliserait. Un canal sans quota (ou absent de l’offre) est exclu et mentionné dans le résultat ; les autres partent quand même. Ce n’est que lorsque tous les canaux ont épuisé leur quota que le bloc se termine par l’erreur limit.

Le résultat

Le message poursuit son chemin avec msg.metadata.notify :

ChampSignification
recipientsNombre de destinataires visés
delivered / failedCanaux ayant livré / échoué
suppressedCanaux retenus par une préférence, des heures de silence ou une adresse bloquée
invalidEntrées qui n’étaient pas un identifiant utilisateur, une adresse ou un numéro valide
quotaCanaux exclus pour quota
heldDestinataires retenus par le délai de blocage

Erreurs : no_recipients, too_many_recipients, members_unavailable, invalid_attachment, notify_failed (toutes les livraisons ont échoué), limit.

Quel outil utiliser

BesoinUtiliser
Prévenir les personnes à l’ouverture d’une alarme, avec rappels et protection contre les tempêtes d’alarmesLe bloc notify de la règle d’alarme. Alarm notifications in depth
Prévenir un rôle d’une action effectuée par une règleTell people
Courrier avec pièces jointes, SMS, boîte aux lettres externe, texte personnalisé à partir des donnéesLe bloc Notify du flow