Use n8n when you want self-hosted workflow control: let AI Agent or HTTP nodes decide when postal mail is needed, call mailbox.bot, then branch on delivery events, forwarded documents, or inbound mail photos.
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.
n8n collects source data and creates the letter or PDF.
Agent or HTTP node calls mailbox.bot dry_run=true.
Approval branch confirms live send.
mailbox.bot sends mail and posts webhooks to n8n.
n8n updates the original app, processes forwarded inbound artifacts when they arrive, and continues the workflow.
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]=n8n'