Français
Webhook reçu
Démarre le workflow sur un POST à l’URL du workflow. Le corps JSON arrive dans data.webhook.
Le déclencheur Webhook reçu démarre le workflow quand un POST HTTP atteint l’URL propre du workflow. Utilisez-le pour brancher un formulaire, un site marchand, un CRM ou tout outil capable d’appeler une URL. Le corps JSON de la requête devient l’entrée de l’exécution, sous data.webhook.
Il n’y a pas de mail porteur : les nœuds qui agissent sur le mail déclencheur (répondre dans le fil, Classer, Marquer) ne peuvent pas suivre ce déclencheur, et l’éditeur les signale par une erreur bloquante. Envoyer reste utilisable si vous choisissez la boîte d’envoi sur le nœud.
Quand l’appelant est MyNotary, Yousign ou Notion, préférez les déclencheurs dédiés (MyNotary — événement, Yousign — événement, Notion — événement) : ils filtrent les événements et, pour Yousign et Notion, vérifient la signature du corps.
En bref
- Type :
trigger.webhook· version 1 - Catégorie : Déclencheurs
- Nature : Déclencheur — lance une exécution
- Effet : Sans effet externe (
none) — rien n’est écrit hors de Mankomail ; rejouable sans risque - Exige un mail porteur : Non
- Connexion : Aucune
- Sorties :
main
Paramètres
Ce nœud n’a aucun paramètre.
Sorties
main— Emprunté par chaque exécution lancée par un appel accepté sur l’URL du workflow.
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.webhook }}—object. Le corps JSON de la requête, tel qu’il a été envoyé. Ni les en-têtes ni la chaîne de requête ne sont conservés.nullquand le corps est vide.{{ data.webhook.<field> }}—string. Un champ du corps, par exemple{{ data.webhook.client.email }}. Les éléments d’un tableau se lisent par position :{{ data.webhook.items.0.id }}.
Example
Un formulaire de contact poste chaque demande au workflow :
POST <PUBLIC_BASE_URL>/hooks/wf/<jeton>
Content-Type: application/json
{ "client": { "name": "Ada Martin", "email": "ada@example.com" }, "message": "Merci de me rappeler." }L’appel répond 202 Accepted avec { "executionId": "…" } et l’exécution démarre sur le port main. Un nœud Envoyer en aval peut écrire À : {{ data.webhook.client.email }} et Bonjour {{ data.webhook.client.name }}.
Tips
- URL.
<PUBLIC_BASE_URL>/hooks/wf/<jeton>, une par workflow. Le jeton (256 bits aléatoires) est généré à la première publication du workflow, ou plus tôt avec « Générer l’URL » dans le panneau du nœud. Il n’est affiché qu’une fois : seule une empreinte est conservée. Perdu ou divulgué, « Régénérer l’URL » en délivre un nouveau et l’URL précédente cesse aussitôt de fonctionner. Le même geste existe par l’API :POST /api/v1/workflows/<id>/webhook. - Authentification. Le jeton de l’URL est la seule preuve : quiconque connaît l’URL peut démarrer le workflow. Aucun en-tête ni aucune signature n’est vérifié. Gardez l’URL secrète et régénérez-la au moindre doute.
- Méthode et corps. Seul
POSTest accepté. EnvoyezContent-Type: application/json. Le corps est limité à 256 Ko de JSON ; au-delà, l’appel est refusé en413avec le coderequest.payload_too_large. Un corps qui n’est pas du JSON valide est refusé en400. - Réponses.
202avec{ "executionId" }quand une exécution est créée.404avec le codenot_found, toujours identique, quand le jeton est inconnu, que le workflow n’est pas publié ou est archivé, ou que sa version publiée n’a plus de déclencheur Webhook reçu actif : l’URL ne révèle jamais lequel de ces cas s’applique.429avec un en-têteRetry-Afterau-delà de 300 appels par minute depuis la même adresse IP. - L’appel n’attend pas. La réponse arrive dès que l’exécution est mise en file ; l’appelant ne reçoit jamais le résultat du workflow. Suivez-le dans la liste des exécutions.
- Pas de déduplication. Deux appels identiques sont deux événements et lancent deux exécutions. Si l’appelant peut réessayer, rendez le workflow idempotent (par exemple en vérifiant d’abord une table).
- Version publiée seulement. L’URL exécute toujours la version publiée ; elle ne lance rien tant que le workflow n’a jamais été publié.
- Tester. Dans l’éditeur, testez ce déclencheur en saisissant un objet JSON : il arrive sous
data.webhookexactement comme un vrai appel, et le brouillon s’exécute en essai (voir Essais). - Un workflow porte au plus un déclencheur Webhook reçu : l’URL appartient au workflow, pas à un nœud.