Appuyez sur / pour rechercher

Toute la documentation
docs Exploiter Canaux de notification

S’exécute surWrit CloudDesktopAuto-hébergé

notify ▸ où atterrissent les alertes

Neuf canaux, et une grille.

Deux systèmes différents partagent le mot « notification », et les confondre coûte un après-midi. Les canaux sont ce qu’un moniteur ou une automatisation déclenche. Les préférences sont ce que la plateforme vous dit. Cette page les sépare.

Chaque canal a un envoi de test : vous savez qu’il marche avant qu’un incident ne vous l’apprenne.

partage ▸ deux systèmes

Duquel parlez-vous ?

Les deux vivent dans les réglages, les deux disent « notifications », et ils ne partagent pas la même liste de canaux. Commencez ici :

Canaux de moniteurs et d’automatisationsNeuf fournisseurs, configurés une fois pour l’organisation. Un moniteur détecte un changement, ou une automatisation atteint une étape de notification, et le message part. Les destinataires s’écrivent « channel:id ».
Préférences de notification de la plateformeSix canaux sur sept catégories, par utilisateur. Sécurité, facturation, équipe, runs, agents, marketplace et support — ce que Writ vous dit sur votre propre compte.

canaux ▸ neuf

Configurer un canal.

Configurez chacun une fois pour l’organisation, puis ajoutez-y des destinataires. Chaque canal a un envoi de test.

CanalClé APICe que vous fournissez
PushoverpushoverToken d’application et clé utilisateur. Optionnellement un titre, un message, une priorité de −2 à 2, un son, un intitulé de lien, et HTML activé ou non.
E-mail (SMTP)emailHôte, port, nom d’utilisateur, mot de passe, adresse d’expédition, nom d’expéditeur, et TLS activé ou non.
E-mail (Google Workspace)emailConnexion via OAuth au lieu de SMTP. La configuration indique quel fournisseur est actif et quel compte est connecté, et vous pouvez le déconnecter.
SMStwilioAccount SID, auth token, et un numéro d’envoi au format E.164. L’auth token n’est jamais renvoyé une fois enregistré.
WhatsAppwhatsappUn numéro d’envoi au format whatsapp:+1234567890. Il s’appuie sur les mêmes identifiants que le SMS : il ne devient utilisable qu’une fois les deux configurés.
SignalsignalL’URL d’un serveur REST signal-cli que vous exploitez vous-même, plus le numéro d’expéditeur au format E.164.
SlackslackUne URL de webhook de canal par destinataire. L’API ne renvoie jamais que l’hôte, jamais l’URL complète.
DiscorddiscordUne URL de webhook de canal par destinataire. L’API ne renvoie jamais que l’hôte, jamais l’URL complète.
TelegramtelegramLe token que BotFather vous donne, plus un chat id par destinataire. Le token est masqué dans les réponses.
WebhookwebhookVotre propre URL, avec en-têtes personnalisés et vérification de signature HMAC en option. Les livraisons sont réessayées avec un délai exponentiel.

Les identifiants entrent et ne ressortent jamais : l’auth token SMS n’est pas renvoyé une fois enregistré, les URL Slack et Discord n’apparaissent que par leur hôte, et le token Telegram est masqué. Pour en changer un, remplacez-le — vous ne pouvez pas le relire pour le vérifier.

Le canal webhook signe chaque livraison. Le contrat de signature exact, les noms d’en-têtes et un exemple de vérification vivent sur Webhooks.

Webhooks →

destinataires ▸ channel:id

Désigner qui joindre.

Une fois qu’un canal a des destinataires, une automatisation y fait référence par des chaînes "channel:id" — par exemple ["pushover:1","email:3"]. Un seul appel liste tous les destinataires de tous les canaux, chacun avec son identifiant masqué, et c’est ce qu’affiche un sélecteur.

recipients

{
  "channels": ["pushover", "email"],
  "recipients": ["pushover:1", "email:3"]
}

Attention : la clé du SMS est twilio, pas sms — c’est la valeur que l’API attend dans une liste de canaux. Dans la grille de préférences plus bas, la même idée s’écrit sms. Ce sont deux systèmes différents.

contrôles ▸ toute l’organisation

Contrôles de livraison.

Ils s’appliquent à toute l’organisation, pas par canal — pour qu’une nuit agitée ne devienne pas cent messages :

ContrôleCe qu’il fait
Heures calmesUne heure de début et une de fin pendant lesquelles rien n’est livré.
Limitation de débitUn nombre maximal de messages par période.
RegroupementRassemble ce qui arrive dans une fenêtre, en minutes, et l’envoie en un seul message.
Alertes d’erreur d’agentPrévenir quand un agent échoue, avec un seuil et un délai en minutes.
Alertes de santé de ciblePrévenir quand une cible échoue en série, avec un seuil et un intervalle de contrôle.
Alertes de santé systèmePrévenir quand un agent se déconnecte, après un délai.

placeholders ▸ alertes de changement

Ce que vous pouvez mettre dans le message.

Les notifications de changement injectent ces placeholders dans votre modèle de message. Regroupés par la question à laquelle ils répondent :

Ce qui était surveillé {url} {target_id} {target_name} {selector} {selector_name} {agent_id} {agent_platform} {change_count} {check_count}
Ce qui a changé {diff} {detected_change} {previous_content} {new_content} {content_hash} {previous_hash}
Quand {timestamp} {date} {time}

Un placeholder inconnu est laissé tel quel plutôt que de faire échouer l’envoi : une faute de frappe vous coûte un token littéral dans le message, pas une alerte perdue. Les aperçus sont tronqués : {diff} et {detected_change} à 500 caractères, {previous_content} et {new_content} à 200.

relais ▸ depuis un appareil

Un appareil relié qui passe la main au cloud.

Un appareil exécute les automatisations en local, mais certains canaux ont besoin du cloud pour livrer. Seuls e-mail, pushover, SMS, WhatsApp et Signal passent par le relais ; webhook, Slack, Discord et Telegram sont livrés par l’appareil lui-même, puisqu’il peut les joindre directement.

relay.sh

curl -X POST https://api.usewrit.app/api/notifications/relay \
  -H "Authorization: Bearer $WRIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "channels": ["email", "pushover"],
    "recipients": ["email:3", "pushover:1"],
    "title": "Price dropped",
    "message": "Now $41.00, was $49.00.",
    "url": "https://example.com/product/42"
  }'
ChampRègle
channelsDe 1 à 8, et sous-ensemble des canaux relayables. Tout le reste est refusé en 400.
recipientsRéférences de destinataires, les mêmes chaînes « channel:id ».
titleJusqu’à 200 caractères.
messageDe 1 à 4000 caractères.
priorityOptionnel.
urlLien optionnel, jusqu’à 2000 caractères.
email_subjectOptionnel, jusqu’à 300 caractères.

La livraison part vers vos propres destinataires configurés — jamais vers une adresse arbitraire fournie dans l’appel. Les notifications relayées sont limitées à 120 par heure et par organisation, pour qu’une automatisation locale instable ne vide pas un budget SMS en quelques minutes.

préférences ▸ l’autre grille

Préférences de notification de la plateforme.

Voici le second système : ce que Writ vous dit, par utilisateur, sur GET et PUT /api/notifications/preferences. Autre jeu de canaux, autre finalité.

Six canaux

Pas les mêmes neuf que plus haut :

in_appLa cloche et la boîte de réception dans Writ.
emailL’e-mail de votre compte.
smsUn point de contact personnel sur votre ligne de préférences.
whatsappLe même point de contact personnel.
signalLe même point de contact personnel.
pushoverVotre propre clé utilisateur Pushover.

Sept catégories

Les événements sont regroupés pour raisonner sans lire chaque ligne :

SécuritéActivité de sécurité du compte.
Facturation et paiementsSolde, reçus, problèmes de paiement.
ÉquipeInvitations et appartenance.
Automatisations et runsCe qu’ont fait vos workflows.
Agents et appareilsCe qu’ont fait vos machines.
Marketplace et créateurAnnonces, installations, revenus.
SupportActivité des tickets.

Quatre règles qui surprennent

  1. La grille est creuse. Seuls les canaux qu’un événement propose vraiment sont affichés — une case vide n’est pas un réglage qui vous manque.
  2. Certaines cases sont verrouillées et toujours actives : alertes de sécurité, problèmes de paiement et invitations d’équipe. L’API n’enregistre aucune dérogation pour celles-là.
  3. Certains événements sont volontairement en e-mail uniquement.
  4. Les alertes de changement par moniteur vivent délibérément hors de cette grille, avec leurs propres réglages par cible.

Le build auto-hébergé livre un catalogue réduit, sans les événements de facturation ni de marketplace — il n’y a ni facturation ni marketplace dans ce build pour vous en parler.

faq

Questions notifications, répondues.

Pourquoi y a-t-il deux réglages de notifications différents ?
Parce qu’ils répondent à des questions différentes. Les neuf canaux sont la façon dont vos moniteurs et automatisations joignent qui doit savoir. Les préférences plateforme sont la façon dont Writ vous joint au sujet de votre propre compte — sécurité, facturation, équipe, runs, agents, marketplace et support. Ils ne partagent pas la même liste de canaux.
Pourquoi ne puis-je pas relire mon token SMS ou mon URL Slack ?
Les identifiants entrent et ne ressortent jamais. L’auth token SMS n’est pas renvoyé une fois enregistré, les URL Slack et Discord reviennent réduites à leur hôte, et le token Telegram est masqué. Si un identifiant doit changer, remplacez-le plutôt que de le vérifier.
Pourquoi WhatsApp ne fonctionne-t-il pas alors que je l’ai configuré ?
WhatsApp s’appuie sur les mêmes identifiants de fournisseur que le SMS : il ne devient utilisable qu’une fois les deux configurés. Renseignez d’abord l’account SID, l’auth token et le numéro d’envoi SMS, puis ajoutez le numéro d’envoi WhatsApp au format whatsapp:+1234567890.
Que se passe-t-il si je me trompe dans un placeholder ?
Il est laissé tel quel plutôt que de faire échouer l’envoi : le message part quand même avec le token littéral dedans. Les aperçus sont tronqués : {diff} et {detected_change} à 500 caractères, {previous_content} et {new_content} à 200.
Quels canaux un appareil relié relaie-t-il via le cloud ?
Seulement e-mail, pushover, SMS, WhatsApp et Signal — ceux qui ont besoin d’identifiants côté cloud. Webhook, Slack, Discord et Telegram sont livrés par l’appareil lui-même. Un appel de relais prend de 1 à 8 canaux, un titre jusqu’à 200 caractères, un message de 1 à 4000, et un lien optionnel jusqu’à 2000.
Puis-je désactiver les alertes de sécurité ?
Non. Les alertes de sécurité, les problèmes de paiement et les invitations d’équipe sont des cases verrouillées : elles sont toujours actives, et l’API de préférences n’enregistre aucune dérogation pour elles. Tout le reste de la grille vous appartient.

fin ▸ câbler

Envoyez-vous un test.

Configurez un canal, ajoutez un destinataire, et déclenchez l’envoi de test avant d’en avoir besoin.