Inbox zero: apply decisions to a batch
inbox_zero_decideApplies the person's decisions to the batch from inbox_zero_start, then returns the next batch and a new batchId; when it is empty, call inbox_zero_stop. Pass the batchId and { n, action, until?, reason? } per row: archive, trash, snooze (needs until), star, label (labelIds), leave, handled, or reply. reply returns a draft hint for create_draft; nothing is sent from here. handled keeps a message in the inbox but out of needs until new mail arrives on its thread; handled also marks the message read. rules ({ action, by: { sender?, inbox?, olderThanDays?, range? }, until? }) act on every matching undecided message, for "archive everything from this sender"; each chunk returns an undoId in ruleUndoIds, and VIP rows are skipped except by a handled or leave rule, and a trash rule skips mail from people (trash those by naming them); more than 25 archives or trashes from rules returns a preview with a confirmToken first and moves nothing, so ask the person and repeat the call with it; by.sender may be a whole domain written as @example.com. Every change returns an undoId. ask:true asks the person in their app to apply all suggestions, answer in chat, or skip the batch; askedInApp tells you whether they answered. When the client cannot ask, the result carries a decideUrl: give the person that link, and call inbox_zero_decide as usual if they answer in chat instead. Work on your own only on a clear instruction or a saved agentRules rule; otherwise suggest and wait. Prefer archive over trash; report counts and undo ids.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "inbox_zero_decide"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ask | No | Ask the person in their app about the returned batch (hosts with form prompts only). Default false. | |
| rules | No | Bulk rules over ALL undecided rows, not just the batch; VIP rows are skipped | |
| batchId | No | The batchId of the list the person is answering | |
| decisions | No | ||
| confirmToken | No | When rules would archive or trash more than 25 messages, the first call returns a preview and moves nothing; repeat the same call with its confirmToken after the person agrees. |