Aller au contenu
subagentdocs
Sommaire de la documentation

Documentation › Brouillons et validation

Brouillons et validation

Voir en .md

Un envoi peut attendre une validation humaine. Le message reste brouillon, un humain le relit dans son assistant, puis le valide, le corrige ou l’annule. Un agent ne valide pas ses propres envois.

Quand un message reste brouillon

  • Le message le demande : send_email ou reply_to_thread avec requires_approval = true.
  • L’espace l’impose : tout envoi reste brouillon. inbox_status le dit (require_approval). Ce réglage est posé par un administrateur de Subagent.

Un brouillon a le statut draft. Il ne compte dans le quota du jour de sa boîte qu’au moment de partir.

send_emailbrouillon
Brouillon msg_7f2a91c4e8b34d0fa6c25e1b9d3f7a48 dans le fil thr_0e5a7c2b9f1d48e6a3c7b5d0e2f9a814 : de agent@exemple.fr à nadia.morel@exemple.com, « Rendez-vous de jeudi ». Il attend une validation humaine : un humain, avec une clé qui porte approve, le valide (approve_message) ou le corrige (update_draft). Rien ne part avant.

Qui valide

La validation demande la permission approve. Le serveur la vérifie à chaque appel de approve_message.

  • La clé rendue par sign_up porte send, read et manage_inboxes. Elle ne porte pas approve : l’agent qui s’est inscrit ne peut pas valider ses envois.
  • Une clé qui porte approve est délivrée par un administrateur de Subagent. Pendant la bêta, demandez-la à contact@subagent.fr. L’humain la branche dans son propre assistant, sur le même serveur MCP.
  • La validation se fait dans l’assistant : par une demande explicite de l’humain (« valide le premier »), qui devient un appel à approve_message.

Sans la permission, l’appel est refusé :

approve_messagerefusé
approve_message demande la permission approve, que cette clé n’a pas. (code forbidden)
→ La validation est un geste humain : un humain l’accomplit depuis son assistant, avec une clé qui porte approve.

list_drafts

Liste les brouillons qui attendent une validation, avec leur texte complet, les plus récents d’abord. Permission : read ou approve.

ParamètreTypeObligatoireDescription
inbox_ididentifiant inb_…nonUne seule boîte.
cursortextenonLe curseur de la page suivante : la valeur next_cursor de l’appel précédent.
limitentiernonLe nombre d’éléments rendus, de 1 à 100. 20 par défaut.
list_draftsrésultat
1 brouillon(s) à valider :

[msg_7f2a91c4e8b34d0fa6c25e1b9d3f7a48 · sortant · en brouillon (attend une validation) · mardi 13 octobre à 14 h 02]
De : Atelier Exemple <agent@exemple.fr>
À : nadia.morel@exemple.com
Sujet : Rendez-vous de jeudi

Bonjour Madame Morel,

Pouvons-nous déplacer notre rendez-vous de jeudi à vendredi, à la même heure ?

Atelier Exemple

update_draft

Modifie le sujet, le texte ou le HTML d’un brouillon, tant qu’il n’est pas validé. Le destinataire et la boîte ne changent pas : pour cela, annulez le brouillon et écrivez un nouveau message. Chaque correction est notée au journal, avec son auteur. Permission : send ou approve.

ParamètreTypeObligatoireDescription
message_ididentifiant msg_…ouiLe brouillon (voir list_drafts).
subjecttextenonLe nouveau sujet.
texttextenonLe nouveau texte.
htmltextenonLe nouveau HTML. Un texte vide retire la version HTML.

approve_message

Valide un brouillon : il passe en file et partira dans le créneau, selon les quotas. Permission : approve.

ParamètreTypeObligatoireDescription
message_ididentifiant msg_…ouiLe brouillon (voir list_drafts).
revisiontextenonLa version du brouillon tel qu’il a été lu : le champ revision rendu par list_drafts.
approve_messagerésultat
Validé par claire-assistant : msg_7f2a91c4e8b34d0fa6c25e1b9d3f7a48 (agent@exemple.fr → nadia.morel@exemple.com, « Rendez-vous de jeudi ») est en file. Il partira dans le créneau, selon le quota de la boîte (inbox_status).
  • Le nom de la clé qui a validé est écrit dans le message (approved_by) et dans son journal.
  • Si le destinataire a été bloqué depuis la création du brouillon, la validation est refusée avec le code recipient_suppressed.
  • Un message qui n’est plus un brouillon est refusé avec le code not_draft.
  • Avec revision, la validation ne vaut que pour ce qui a été lu : si le brouillon a été modifié depuis, elle est refusée avec le code draft_changed. La vue des brouillons la transmet d’elle-même.
  • Avant de valider, l’humain voit tout ce qui partira : list_drafts rend aussi l’adresse de réponse (reply_to) et la version HTML (has_html, html), et les signale dans son texte.

Annuler un brouillon

cancel_message annule un brouillon ou un message en file. Voir Messages.

Dans l’assistant

L’état des boîtes s’affiche en vue dans les assistants qui prennent en charge les vues MCP Apps. La vue des brouillons à valider, avec ses gestes « Valider », « Corriger » et « Refuser », est [ à venir ] : aujourd’hui, les brouillons se lisent et se valident par le texte de la conversation.

Cette page en Markdown : /docs/brouillons.md Toute la documentation pour un agent : /llms.txt Mentions légales · Confidentialité