Français
Notifier
Envoie un message vers un webhook Slack, Teams ou générique. Le raccourci de « prévenir l’équipe ».
Publie un message court dans un canal Slack, un canal Microsoft Teams ou vers n’importe quel endpoint qui accepte du JSON. C’est le raccourci de « préviens l’équipe » : vous écrivez un titre et un message, et le nœud construit le contenu attendu par chaque destination et pose le Content-Type. Pour tout le reste — une autre méthode, des en-têtes particuliers, une authentification, des fichiers — utilisez Requête HTTP.
L’URL du webhook vaut mot de passe : qui la détient peut poster. Elle n’est jamais écrite dans les données d’étape, dans le résumé d’étape ni dans les journaux, et elle ne peut pas être calculée par une expression.
En bref
- Type :
notify.send· version 1 - Catégorie : Actions
- Nature : Étape — s’exécute pendant une exécution
- Effet : Écrit à l’extérieur (
external_write) — écrit hors de Mankomail ; décrit au lieu d’être fait pendant un essai - Exige un mail porteur : Non
- Connexion : Aucune
- Entrées :
main - Sorties :
main
Paramètres
target
Destination
- Type : Un choix (
options) - Requis : Oui
- Défaut :
slack - Options :
slack— Slack : Une URL de webhook entrant Slack. Le message part dans le canal choisi à la création du webhook.teams— Microsoft Teams : Une URL de connecteur Teams. Le message part sous forme de carte simple.generic— Webhook générique : Un JSON{ title, message, execution }vers l’endpoint de votre choix.
webhookUrl
URL du webhook — L’URL fournie par Slack, Teams ou votre outil. Elle vaut mot de passe : elle n’apparaît ni dans les données d’étape, ni dans les journaux.
- Type : Texte (
string) - Requis : Oui
- Défaut :
""(vide) - 2000 caractères au plus
- Exemple :
https://hooks.slack.com/services/… - Expressions :
{{ }}refusé
title
Titre — Facultatif. La première ligne, mise en avant. Accepte des expressions {{ }}.
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 200 caractères au plus
- Exemple :
Nouvelle demande de {{ email.from.name }} - Expressions :
{{ }}accepté
message
Message — Le corps de la notification. Accepte des expressions {{ }} — citez l’objet, l’expéditeur, ce que l’IA a compris.
- Type : Texte long (
text) - Requis : Oui
- Défaut :
""(vide) - 4000 caractères au plus
- Exemple :
{{ email.from.email }} : {{ email.subject }} - Expressions :
{{ }}accepté
Sorties
main— Empruntée une fois que le webhook a accepté le message (statut inférieur à 400).
Données produites
Ce que ce nœud ajoute aux données de l’exécution, et comment le lire dans une expression. <step> désigne la clé de l’étape : le nom du nœud ramené à un identifiant (voir Données et expressions).
{{ data.<step>.target }}—string. La destination utilisée : slack, teams ou generic.{{ data.<step>.status }}—number. Le statut HTTP rendu par le webhook.{{ data.<step>.ok }}—boolean. true quand le statut est inférieur à 400 (toujours vrai quand l’étape réussit).{{ data.<step>.simulated }}—boolean. true en essai : rien n’a été posté.{{ data.<step>.hasTitle }}—boolean. true quand un titre a été envoyé.{{ data.<step>.messageChars }}—number. La longueur du message envoyé, en caractères.{{ data.<step>.summary }}—string. Le résumé d’une ligne, par exempleSlack : notification envoyée (HTTP 200).
Exemple
Un workflow de support prévient le canal #support quand l’IA classe une demande comme urgente.
text
target slack
webhookUrl https://hooks.slack.com/services/…
title Demande urgente de {{ email.from.name }}
message {{ email.from.email }} : {{ email.subject }}Le message arrive dans le canal choisi à la création du webhook entrant Slack, et le résumé d’étape indique Slack : notification envoyée (HTTP 200).
Contenu envoyé à chaque destination
Le nœud envoie toujours un POST avec Content-Type: application/json. Le titre et le message sont d’abord débarrassés de leurs espaces de début et de fin.
Slack — le titre devient une première ligne en gras :
json
{ "text": "*Nouvelle demande de Ada*\nada@exemple.fr : Facture 4812" }Sans titre, text contient le message seul.
Microsoft Teams — une MessageCard minimale :
json
{
"@type": "MessageCard",
"@context": "https://schema.org/extensions",
"summary": "Nouvelle demande de Ada",
"title": "Nouvelle demande de Ada",
"text": "ada@exemple.fr : Facture 4812"
}Sans titre, title est omis et summary reprend la première ligne du message (coupée à 200 caractères).
Webhook générique — le message plus les identifiants de l’exécution, pour que le système d’en face puisse remonter jusqu’à elle :
json
{
"title": "Nouvelle demande de Ada",
"message": "ada@exemple.fr : Facture 4812",
"execution": { "id": "<identifiant d’exécution>", "workflowId": "<identifiant de workflow>" }
}Sans titre, title est omis. Seuls des identifiants sont envoyés, jamais d’autre contenu du mail que ce que vous avez écrit dans le message.
Conseils
- Message vide. Si le message est vide une fois les expressions résolues, l’étape échoue avec
node_nothing_to_doplutôt que de poster une notification vide. Une URL de webhook vide échoue avecnode_invalid_param. - Erreurs. Un statut de 400 ou plus fait toujours échouer l’étape avec
http_error_status. Les 429 et 5xx sont retentés automatiquement ; les autres 4xx (un webhook Slack révoqué répond 404) sont définitifs. Les erreurs réseau et les dépassements de délai sont retentés. - Doublons à la nouvelle tentative. Un webhook entrant n’a pas de clé d’idempotence : une nouvelle tentative après incident peut poster deux fois le même message.
- Limites. Titre jusqu’à 200 caractères, message jusqu’à 4 000. Le webhook a 10 secondes pour répondre.
- Adresses acceptées. L’URL du webhook passe par la même garde que Requête HTTP :
httpouhttpssur les ports 80 et 443 uniquement, aucune adresse privée ou interne. - Essais. Rien n’est posté. L’étape réussit avec le statut 200,
simulated: trueet le résuméSlack : aurait envoyé la notification.La ligne d’effet simulé du détail d’exécution décrit la requête qui aurait été envoyée, URL cible comprise. Voir Essais.