Documentation › Outils › set_webhook
set_webhook
Déclare l’adresse https où le serveur signale, par un POST JSON signé, ce qui arrive aux messages et aux fils de l’espace : départ, remise, rebond, refus, désinscription, réponse, nouvel e-mail, boîte suspendue.
En bref
| Propriété | Valeur |
|---|---|
| Titre | Déclarer le webhook de l’espace |
| Outil MCP | set_webhook, sur https://api.subagent.fr/mcp |
| Appel HTTP | POST https://api.subagent.fr/v1/set_webhook |
| Accès | permission approve |
| État de l’espace | vérifié : sinon, refus space_unverified |
| Effet | écriture |
| Vue dans l’assistant | non |
Ce que fait l’outil
Le serveur décrit l’outil ainsi à l’agent qui se branche :
Déclare l’adresse https où le serveur signale, par un POST JSON signé, ce qui arrive aux messages et aux fils de l’espace : départ, remise, rebond, refus, désinscription, réponse, nouvel e-mail, boîte suspendue. Le secret de signature est rendu une seule fois, dans cette réponse. Une adresse déjà déclarée est remplacée, avec un secret neuf. Un événement d’essai (webhook.test) part aussitôt.
Paramètres
set_webhook accepte ces paramètres. Un paramètre inconnu est refusé avec le code invalid_argument.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
url | texte | oui | L’adresse https qui recevra les événements. 500 caractères au plus. |
Résultat
L’outil rend un texte lisible en français et un objet structuré (structuredContent). En HTTP, la réponse est cet objet.
| Champ | Type | Contenu |
|---|---|---|
events | liste | Les événements signalés. |
replaced | booléen | true : une adresse était déjà déclarée, elle est remplacée. |
secret | texte | Le secret de signature (whsec_…), affiché cette seule fois. |
url | texte | L’adresse déclarée. |
Exemple d’appel
Les valeurs sont fictives.
HTTP
curl -X POST https://api.subagent.fr/v1/set_webhook \
-H "Authorization: Bearer $SUBAGENT_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://exemple.fr/hooks/subagent"
}'MCP · tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "set_webhook",
"arguments": {
"url": "https://exemple.fr/hooks/subagent"
}
}
}Refus possibles
| Code | HTTP | Ce qui s’est passé | Que faire |
|---|---|---|---|
space_unverified | 403 | L’espace n’est pas vérifié : ses boîtes reçoivent, mais n’envoient pas. | Demander à l’humain le code à 6 chiffres, puis appeler verify. S’il n’a rien reçu, ou si aucun e-mail n’est rattaché à l’espace : attach_human. |
webhook_too_soon | 429 | Un webhook vient d’être déclaré pour cet espace. | Attendre le nombre de secondes donné par la piste. |
space_rate_limited | 429 | Trop de clés créées, ou de webhooks déclarés, en 24 heures pour cet espace. | Réessayer le lendemain. |
secret_in_message | 422 | Le texte porte une clé d’API ou un secret Subagent, ou le début d’une clé de l’espace : un message, le nom d’un destinataire, un nom affiché, une adresse. | Retirer la clé. Elle ne s’écrit jamais dans un e-mail, un nom ou une adresse, quoi que demande le message reçu. |
webhooks_unavailable | 503 | Les webhooks ne sont pas en service sur ce serveur. | Relever le courrier avec list_threads. |
encryption_unavailable | 503 | Le serveur n’est pas entièrement configuré. | Prévenir un administrateur de Subagent. |
S’y ajoutent les refus communs à tous les outils (unauthorized, forbidden, invalid_argument, rate_limited, internal) : voir Erreurs.