Mail a letter from any webhook
No native app for your tool yet? paperplane’s REST API has no API-key gate — POST an order directly from a generic webhook (Webhooks by Zapier, Make’s HTTP module, or your own code) and it prints and mails from $0.99.
From $0.99 · postage included · no account needed
{
"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",paperplane · Webhook (generic)
Mail this deliverable to the client, certified.
Here’s the draft. I’ll get a quote before anything is sent.
Nothing prints until you approve. Order ord_8k2d.
Instead of waiting for a native app
There is no separate webhook mode to wait for: the native apps are wrappers over the same POST /v1/orders. If your tool can send JSON over HTTPS, the integration exists today.
Set up Webhook (generic) in three steps.
The universal fallback — works with anything that can POST JSON
- Step 01
Point the source
Point whatever fires the event — a form, a CRM, an internal system — at a webhook step or a direct server-to-server call.
- Step 02
POST the payload
POST it straight to POST /v1/orders, or map it into fields first if the source data needs reshaping.
- Step 03
Sandbox, then go live
Set “sandbox”: true while testing, then flip it off and pay from a prepaid balance or handle the returned payment_url.
Copy the config.
Direct POST from anywhere
{
"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
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
This is the same public REST API every native app and automation platform on this directory calls underneath — there’s no separate "webhook mode." If a system can send an HTTP POST with JSON, it can mail a letter, with the same USPS address verification and free sandbox as every other path.
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_err (Certified with electronic 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 |
Popular Webhook (generic) workflows
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 mailing tools (quote_letter, send_letter, get_letter_status), same price, same free sandbox.
Send your first letter from Webhook (generic).
Sandbox runs the whole pipeline for free and mails nothing. Live sends start at $0.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
Do I need an API key to POST to /v1/orders?
No — the endpoint is open. Each order carries its own payment (a prepaid credit code for hands-off automation, or a paperplane payment link (payment_url) a human approves). Sandbox orders need nothing.
What if my tool doesn’t have a native Zapier/Make/n8n trigger either?
A raw webhook or a scheduled script polling your own system both work the same way — anything that can construct the JSON body and make an HTTPS POST is a complete integration.
Is this less reliable than a native app?
No — native apps on this directory are thin wrappers over this exact same API. A direct POST just skips the wrapper.
Send your first piece of mail from Webhook (generic).
A letter, in your words or drafted from your direction. You approve the exact total, and USPS delivers.
✓ You approve the exact total✓ No account neededFrom $0.99