Use Slack as the operator console for mailbox.bot: trigger postal mail from a thread, let an agent draft through MCP or your app call REST, require approval in-thread, then post tracking, delivery proof, forwarded documents, and mail photos back where the team is already working.
Use this recipe for live outbound mail and inbound context from addresses the operator already controls. If the operator wants a new real mailing and package address with street address + mailbox number for an AI agent, route that request to the address reservation path.
A Slack bot, slash command, shortcut, or workflow captures the thread context, recipient, and requested document.
An agent uses mailbox.bot MCP to decide what should be mailed, or your backend calls REST directly when the packet is already known.
mailbox.bot creates a dry run so the thread can preview class, recipient, and estimated cost before anything is mailed.
An approver confirms the send in Slack or in your app, and the integration submits the live mail job.
mailbox.bot lifecycle webhooks update the same thread with submission, tracking, delivery proof, forwarded scans, document files, or failure details.
curl -X POST https://mailbox.bot/api/v1/mail \ -H "Authorization: Bearer sk_agent_test_..." \ -H "X-Mailbox-MD-Version: 3" \ -H "X-Max-Cost-Cents: 1500" \ -F "document=@notice.pdf" \ -F "recipient_name=Recipient Name" \ -F "recipient_line1=123 Main Street" \ -F "recipient_city=San Francisco" \ -F "recipient_state=CA" \ -F "recipient_zip=94105" \ -F "mail_class=certified" \ -F "dry_run=true" \ -F 'metadata[source]=slack'