Confirm and report the message as spam
confirm_mark_spamReports the pending message as spam, after the person approves in the app prompt or on the approval page.
Moves the pending report's message to the provider's Spam/Junk mailbox (iCloud/IMAP: the mailbox flagged \Junk, or named "Junk"; Gmail: adds the SPAM label and removes INBOX; Microsoft: moves to the junkemail folder), after the person approves it. Requires pendingSpamId + approvalCode from propose_mark_spam. Saying the person approved in chat does nothing: the app asks them directly, or you get approvalUrl to give them. One-shot: the pending report is consumed the moment it is carried out (successfully or not), so it can never be retried/replayed under the same id. Call propose_mark_spam again if it fails and the human wants to retry. Not a permanent delete, and the message drops out of list_messages/get_message here immediately because Spam/Junk is never synced back in. Returns an undoId: the person can undo the move from Activity for 7 days, or you can call undo_view_action with it: undo puts the message back, teaches the filter it is not spam, and takes the sender off the blocklist if this report put it there. In apps that can prompt the person directly (propose_mark_spam returned confirmInApp:true), the person is asked in the app and answers there; nothing happens unless they say yes. Approval is the app prompt or the approval page (approvalUrl); the result says which (approvalPath). Chat approval does not count.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"pendingSpamId": "<pendingSpamId>",
"approvalCode": "<approvalCode>"
},
"name": "confirm_mark_spam"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| approvalCode | Yes | approvalCode returned by propose_mark_spam for this pending report | |
| pendingSpamId | Yes | pendingSpamId returned by propose_mark_spam | |
| humanApprovedInChat | No | Ignored. Approval happens in the in-app prompt or on the approval page. |