Skip to main content

Send mail from a Slack message

Turn a Slack message or slash command into a mailed letter: pair Slack’s own Zapier, Make, or n8n trigger with paperplane’s Send Letter action so a #send-mail channel post becomes a real, USPS-verified letter from $1.99.

Via Zapier, Make, or n8n — no direct app yet

Instead of a #print-this channel

A channel where someone is asked to print and mail a thing depends on that someone. The trigger reads the message, the action mails it, and the status comes back into the thread.

How to set it up

  1. 1In Zapier, Make, or n8n, use Slack’s "New Message Posted to Channel" trigger (or a custom slash command) on a channel dedicated to mail requests.
  2. 2Add the paperplane Send Letter action, mapping the message text into the letter body and parsing the recipient address from the message or a fixed lookup.
  3. 3Test with Sandbox on first — the whole pipeline runs free and instantly, and nothing mails.
  4. 4Go live; the automation can post the order status or a confirmation link back into the same Slack thread.

What the action sends from a Slack message

{
  "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 wraps Slack’s standard message trigger, already well-supported in Zapier, Make, and n8n, with the same Send Letter action as everything else here — no paperplane-specific Slack app exists yet, so the pattern to parse an address out of free-form message text has to live in the automation step (a regex, a lookup table, or a structured slash-command syntax).

Supported action fields

Every integration maps into the same fixed set of fields, the ones the REST API and MCP tools take directly.

FieldWhat it does
mail_classfirst_class, certified, certified_return_receipt, or priority
text or pdf_urlthe letter body as plain text, or a fetchable PDF to print as-is
torecipient name + street/city/state/zip, verified against USPS data
fromreturn address, printed on the envelope and used for undeliverable mail
emailwhere the receipt and status updates go — no account required

Popular Slack 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 three tools (quote_letter, send_letter, get_letter_status), same price, same free sandbox.

Send mail from ClaudeSend mail from ChatGPT

Related integrations

Send your first letter from Slack.

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"
  }'

All integrations · API docs

Common questions

Does the message need a strict format?

It helps — a slash command with fixed fields (recipient, address, letter text) parses far more reliably than free-form chat text. A short template posted as a pinned message works well for a team channel.

Can teammates approve the letter before it mails?

Yes — run the automation with Sandbox on first and have it post the quote back to the thread; a reaction or a second message can gate turning Sandbox off.

Is there a paperplane Slack app?

Not yet — this uses Slack’s own well-supported Zapier/Make/n8n triggers, the same as HubSpot and Airtable on this directory.