Guide d'action
Enregistre le résultat de chaque tool call rendu à l'agent
POST
/v1/events · agent.tool_returnedÉmets un event `agent.tool_returned` juste après qu'un tool termine, avant de rendre la main au modèle. Stocke le statut (success ou failure), la durée et toute erreur. Crucial pour diagnostiquer les tools lents ou flaky qui font dérailler un agent.
Quand l'émettre
Dans ton dispatcher de tools, juste après que la fonction du tool resolve ou reject, avant de réinjecter le résultat dans la conversation.
Payload d'exemple
await recalled.events.create({
action: "agent.tool_returned",
actor: { id: user.id, email: user.email },
organization: user.organizationId,
metadata: {
triggered_by_user: "value",
conversation_id: "value",
tool_call_id: "value"
},
});Metadata à inclure
Garde les metadata plates et cohérentes dans ton service pour que recherche et exports CSV fonctionnent bien.
| Clé | Rôle |
|---|---|
triggered_by_user | Même user id que l'event agent.tool_called correspondant |
conversation_id | Même conversation id que l'appel correspondant |
tool_call_id | Même tool_call_id que l'appel, sert à les pairer |
tool_name | Nom du tool qui vient de retourner |
result | success ou failure |
duration_ms | Durée d'exécution du tool, en millisecondes |
error | Message et code d'erreur si result vaut failure |
Rétention recommandée
Garder au moins 3 mois. Utile pour debug les timeouts et les erreurs côté tool.