Grok Bot can manage your mail and packages
Each Grok Bot is a named teammate on a persistent cloud computer with a browser, files and a terminal, and it keeps context, skills and routines across sessions. Give one Bot its own agent, key and signed webhook and it becomes the mailroom: it watches letters and packages as they arrive, opens what matters, hands letters to specialist Bots, and routes replies through approval.
All of your Bots share one computer, so treat anything placed on it as visible to every Bot. Keys and the signing secret belong in secret storage, and each Bot reads mail under its own credential.
pages_url and extracts facts with page citations.Subscribes to inbound.received and inbound.keywords_matched. Proposes scans for matches, files bulk mail, and posts a pointer to the right specialist when pages are ready.
Owns the invoice rule. Reads pages with its own key, matches vendor and PO in the accounting system, and prices a remittance or dispute letter with dry_run=true.
Owns the regulatory rule. Opens a case with the deadline and the page quote, and proposes forwarding the original when a wet-ink document is needed.
POST /actions with type: forward, expected_version and an idempotency key. Reply when expected: dry run, then requires_approval=true, with item and event IDs in metadata.inbound.action.completed, mail.mailed and mail.delivered. Escalate on a failed action or mail.failed.list_webhook_deliveries: fix and replay_webhook_delivery for yesterday's failures. A webhook paused after five consecutive failures is reported, not resumed blindly.GET /api/v1/inbound-items?status=action_requested: proposals still waiting, with age and quote. Nudge after two days.GET /api/v1/mail: anything submitted or pending approval older than three days, with tracking where the class provides it.get_usage: balance and the billing link when it runs low. A Bot never adds funds.rotate_webhook_endpoint_secret, deploy during the 24-hour overlap, confirm a test delivery. Output one message only if something needs a person.// From the Bot's terminal: MCP create_webhook_endpoint, or POST /api/v1/webhooks/endpoints
{
"name": "Mailroom Bot receiver",
"url": "https://hooks.example.com/mailbox",
"agent_id": "<this Bot's agent>",
"environment": "test",
"event_types": ["inbound.received", "inbound.keywords_matched", "inbound.pages_ready",
"inbound.action.requested", "inbound.action.completed"],
"rules": [
{ "id": "…", "name": "Invoices", "source": "any", "match": "any",
"terms": ["invoice", "remit to", "amount due"], "exclude_terms": ["this is not a bill"] },
{ "id": "…", "name": "Legal", "source": "any", "match": "any",
"terms": ["summons", "notice of violation", "cease and desist"], "exclude_terms": [] }
],
"idempotency_key": "<uuid>"
}
// The signing secret is returned once: into the receiver's secret manager, never chat.
// Then test_webhook_endpoint_with_sample proves the receiver and the rules with the sample letter.