Send mail from Make
paperplane is a listed Make app: add the “Send a Letter” module to any scenario and real USPS mail goes out from $1.99 per letter — typed fields, no JSON, free sandbox included.
Listed app in the Make directory
Instead of Make's HTTP module against a mail API
A raw HTTP module works, but you build the JSON, store a key and parse errors by hand. The listed module has typed fields, Sandbox as a switch and the returned payment_url as an output.
How to set it up
- 1Search “paperplane” when adding a module to your scenario and choose Send a Letter.
- 2Fill the typed fields — letter text or PDF URL, recipient, return address, receipt email — mapping scenario variables as needed.
- 3Run once with Sandbox on: the whole pipeline executes free and instantly.
- 4Turn Sandbox off for real mail; pay from a prepaid credit balance or handle the returned payment_url.
- 5Optional: add the Watch Letter Status module to branch on printed / mailed / delivered.
Under the hood: the request the module sends
{
"mail_class": "first_class",
"sandbox": true,
"text": "Dear Ms. Alvarez, ...",
"to": { "name": "Maria Alvarez", "line1": "1 Main St",
"city": "Richmond", "state": "VA", "zip": "23220" },
"from": { "name": "Alex Rivera", "line1": "12 Grove Ave",
"city": "Richmond", "state": "VA", "zip": "23221" },
"email": "alex@example.com"
}Same call as curl (for testing)
curl -X POST https://sendpaperplane.com/v1/orders \
-H 'Content-Type: application/json' \
-d '{
"mail_class": "first_class",
"sandbox": true,
"text": "Dear Ms. Alvarez, ...",
"to": { "name": "Maria Alvarez", "line1": "1 Main St",
"city": "Richmond", "state": "VA", "zip": "23220" },
"from": { "name": "Alex Rivera", "line1": "12 Grove Ave",
"city": "Richmond", "state": "VA", "zip": "23221" },
"email": "alex@example.com"
}'Under the hood
The Make app is typed modules over our public REST API. The generic HTTP module against POST /v1/orders remains fully supported for anything the app doesn’t cover.
Supported action fields
Every integration maps into the same fixed set of fields, the ones the REST API and MCP tools take directly.
| Field | What it does |
|---|---|
| mail_class | first_class, certified, certified_return_receipt, or priority |
| text or pdf_url | the letter body as plain text, or a fetchable PDF to print as-is |
| to | recipient name + street/city/state/zip, verified against USPS data |
| from | return address, printed on the envelope and used for undeliverable mail |
| where the receipt and status updates go — no account required |
Or skip the automation tool: ask Claude or ChatGPT
Every integration here sits on the same MCP endpoint agents use directly. Instead of wiring a trigger to an action, ask Claude or ChatGPT to draft and mail the letter. Same three tools (quote_letter, send_letter, get_letter_status), same price, same free sandbox.
Related integrations
Send your first letter from Make.
Sandbox runs the whole pipeline for free and mails nothing. Live sends start at $1.99, one all-in price.
curl -X POST https://sendpaperplane.com/v1/orders \
-H 'Content-Type: application/json' \
-d '{
"mail_class": "first_class",
"sandbox": true,
"text": "Dear Ms. Alvarez, ...",
"to": { "name": "Maria Alvarez", "line1": "1 Main St",
"city": "Richmond", "state": "VA", "zip": "23220" },
"from": { "name": "Alex Rivera", "line1": "12 Grove Ave",
"city": "Richmond", "state": "VA", "zip": "23221" },
"email": "alex@example.com"
}'Common questions
How do I test without spending money?
Enable Sandbox on the module — rendering, screening, and simulated fulfillment run instantly and free, and nothing is printed or mailed.
Can a scenario send Certified Mail?
Yes — set the mail class field to Certified (or Certified + Return Receipt for electronic proof of delivery). The response carries the exact all-in total.
Do I need an API key?
No — each order carries its own payment via credit balance or Stripe link, and sandbox needs nothing.