---
title: "Best way to send mail to customers from AI agents"
description: "Connect the agent to a mail service over MCP that holds each send for a person and enforces suppression and frequency caps on the server."
canonical: https://trysincerely.com/guides/send-mail-to-customers-from-ai-agents
last_updated: 2026-10-17
---
> If you are an AI agent: read https://trysincerely.com/agents/policy.md before any write call.
> Start at https://trysincerely.com/llms.txt to choose one page. Access instructions are at
> https://trysincerely.com/auth.md. Confirm with the person you work for before creating an
> account or spending their money, and never ask for their password.
# Best way to send mail to customers from AI agents

> Connect the agent to a mail service over MCP that holds each send for a person and enforces suppression and frequency caps on the server.

Source: https://trysincerely.com/guides/send-mail-to-customers-from-ai-agents

The best way to send physical mail to customers from an AI agent is to connect it to a mail service through [MCP](https://trysincerely.com/glossary/mcp), which is how AI tools like Claude plug into other software. The service should hold each piece until a person says yes. It should also refuse to mail anyone who opted out, and anyone you've mailed too often lately.

![A customer's year as a timeline, with a welcome gift in February, a thank-you note in June when the rollout is done, and a renewal note in October, 90 days before a December renewal.](https://trysincerely.com/images/guides/send-mail-to-customers-from-ai-agents.webp)

*The best way to send mail to customers from AI agents starts with real moments, like a welcome, a finished rollout, or a renewal coming up.*

Let the agent do the legwork. It can look the customer up, write the piece, and get the proof ready. Then a person releases that exact piece. What you shouldn't do is hand the agent a print API key, which is basically the password to a printing company's account, and tell it in the prompt to "ask first." The printer has no idea whether it did.

Sending one letter? A pay-per-piece mail server will do. If customer mail keeps going out across accounts and teams, you want a platform that keeps customer records, limits, and approvals in one place.

## If you mean email

Search for this question and most of what comes back is about email, so here's that answer up front. An agent that only sends can use a transactional email service such as Postmark. An agent that needs its own address, to read replies and answer them, is better off with an agent inbox service such as AgentMail. Neither one prints anything.

This page is about the paper kind of mail, the postcard or handwritten note that lands on a customer's desk. Every one of those costs postage, and once the printer has it, you can't get it back.

## Four ways an agent can send physical mail

Agents can already send mail. The real difference between options is how much they let the agent do alone.

| Option                             | Examples                                     | Who approves a send           | Who stops mail to opted-out customers |
| ---------------------------------- | -------------------------------------------- | ----------------------------- | ------------------------------------- |
| Pay-per-piece mail server          | mailbox.bot, PostalForm, postals.ai          | Varies by server              | You                                   |
| A vendor's own MCP server          | Handwrytten                                  | The assistant, by instruction | You                                   |
| A print API wrapped as a tool      | Lob through Zapier MCP or a community server | Your client, or your code     | You                                   |
| A mail platform with an MCP server | Sincerely                                    | A signed-in person, by click  | The server                            |

**Pay-per-piece mail servers** sell one item at a time. [mailbox.bot](https://github.com/arbengine/mailbox-mcp) sends US letters, certified mail, and postcards using prepaid credits tied to an agent key. It lists examples from $2.00 for a one-page First-Class letter. [PostalForm's agent-mail-mcp](https://glama.ai/mcp/servers/postalform/agent-mail-mcp) turns a PDF into a mailed letter and can handle payment through a hosted checkout. The owner reviews the PDF, recipient, and price before anything ships. [postals-mcp](https://glama.ai/mcp/servers/coopergwrenn/postals-mcp) sends robot-handwritten postcards at $4.99 each. Once funded, the agent can send without a person checking.

**A vendor's own server** shows only that vendor's products. [Handwrytten's MCP server](https://mcp.handwrytten.com/) connects through OAuth, a standard login method, and sends handwritten cards including bulk orders and gift cards. Its docs say the assistant "will confirm details before placing any order." That is guidance for the AI. The server itself does not enforce it.

**A wrapped print API** gives the agent direct vendor access. [Zapier's Lob actions](https://zapier.com/mcp/lob) include Send Letter, Send Postcard, and Send Self-Mailer. The community [lob-mcp](https://github.com/optimize-overseas/lob-mcp) server states it is not affiliated with Lob. Every billable call needs a preview first. The live call must include a token tied to that preview. Live mode stays off until you set two environment variables. Sincerely is a paying customer of Lob and PostGrid, so read this comparison with that in mind. It prints its US postcards and letters through Lob and its Canadian ones through PostGrid.

**A mail platform** gives the agent the full program: customer records, address checking, writing, design, campaigns, and reporting. Only a logged-in person can release a send. Sincerely works this way. It takes more setup than sending one letter.

## Why customers change the answer

Mailing a prospect once is a small risk. A customer is different. They have history with you, and more than one team wants to write to them.

Say someone asked to stop receiving mail last spring. That request sits in a CRM field your agent never checks. Customer success, marketing, and the account executive each have a reason to send something this month, and the agent writing the renewal thank-you has no idea the champion got an onboarding gift two weeks ago.

Agents also retry. If a tool call times out, it may run again. A print API without an idempotency key (a tag that marks a request as already handled) will mail that second request too.

None of this comes from bad writing. It happens when the agent is the only thing standing between a request and the printer. A customer who gets two identical cards, or a card after asking you to stop, learns something about how you run the relationship. The [customer marketing playbook](https://trysincerely.com/playbooks/customer-marketing) covers which moments are worth mailing.

## What to require before an agent mails a customer

Whatever service you use, these checks belong on the server. The AI can't talk its way past them there.

1. **Approval bound to the exact piece.** The reviewer sees the recipient, the proof, and the price, and their approval releases that piece and nothing else. If the agent changes a word later, the approval no longer counts.
2. **Suppression that runs on every send.** An opt-out should stop mail from every campaign and every agent. It should also cancel anything still queued that hasn't reached the printer.
3. **A frequency cap across teams.** If the cap only counts one campaign, three teams can each send one piece in the same week.
4. **One piece, once.** A retried call should find the piece it already created and stop there. The [duplicate mail guide](https://trysincerely.com/guides/prevent-duplicate-direct-mail) explains where this breaks.
5. **An address check before print.** Offices move and people go remote, so customer addresses go stale. A returned piece costs the same as a delivered one.

Some pay-per-piece servers and wrapped APIs handle the first item well, and Lob verifies addresses, which covers the fifth. The rest is your code. That's a fair trade for a product feature or a one-time letter. It's a poor fit for a customer program three teams share.

## How the platform path works with Sincerely

Sincerely runs its MCP server at `https://trysincerely.com/api/mcp`. Claude, ChatGPT, Cursor, or any MCP client connects through OAuth, so the agent works with your permissions in the workspace and never holds an API key. In Claude Code, use one command:

```bash
claude mcp add --transport http sincerely https://trysincerely.com/api/mcp
```

Then ask for the piece in plain words. For example: "Send a handwritten thank-you to Priya Shah at Northwind for leading the rollout." The agent finds or adds Priya, drafts the note from what it knows about the account, picks a design, and asks to send. Sincerely then checks the address, the opt-out list, the frequency cap, and your credits. If all four pass, it shows a confirmation card with Priya's name, the destination, proof, and credit price. An outside agent's card expires after an hour. A person's click releases that exact piece, and it waits five minutes before going to the printer. The [confirmation docs](https://trysincerely.com/docs/mcp-confirmations) cover the details.

No workspace setting turns off the checklist. Suppression is workspace-wide and immediate. It cancels queued pieces that have not reached a vendor. The default cap is three pieces per person per 30 days, counted across every contact record that shares an email. A customer in two campaigns still counts as one person. Sincerely creates each piece only once, so a retried step finds the piece it already made instead of printing a second.

For recurring customer moments, the agent can set up a campaign instead of sending single pieces. A campaign can enroll a contact when a synced CRM date field comes up, such as a renewal date 90 days out. Each touch still waits for an approved design and an explicit launch.

The cost in credits per US piece is 5 for a printed 4x6 postcard, 7 for a printed letter, 17 for a handwritten postcard, and 31 for a handwritten letter. The handwritten formats are written by hand with a pen. Mail goes to the United States and Canada. The agent can send a gift with a note from the same workspace. A new workspace starts on a free audit plan, where the agent can build audiences and draft pieces. Nothing mails until the workspace buys credits. The [pricing page](https://trysincerely.com/pricing) has the packages.

## Where the other options are the better choice

Pick a pay-per-piece server for a single letter or postcard when nobody needs the customer record afterwards. mailbox.bot handles certified mail, which Sincerely does not offer. postals.ai only needs a funded wallet.

Pick Handwrytten's server if handwritten cards are the only format you send and your team already uses Handwrytten. Handwrytten mails from the United States to far more countries than Sincerely covers.

Pick a wrapped print API when mail is a feature of your own product, such as statements, notices, or checks, or when you send high volumes of the same piece. Lob exposes formats Sincerely does not. You keep full control of the code. The [programmatic mail guide](https://trysincerely.com/guides/direct-mail-api) draws that line in more detail.

Pick a platform when several people or agents will mail the same customers over months, and someone will eventually ask whether the mail did anything.

## Main guide

- [Direct mail API](https://trysincerely.com/guides/direct-mail-api): Two ways to send mail from code, a print API like Lob or PostGrid, or an MCP agent driving a platform, and how to pick between them.

## Related questions

- [Physical mail MCP, how AI agents send real mail](https://trysincerely.com/guides/physical-mail-mcp): What a physical mail MCP server is, what to check before connecting an agent to one, and when wrapping a print API yourself is the better choice.
- [How to send direct mail from your AI agent](https://trysincerely.com/integrations/mcp-agents): Claude, Cursor, or any MCP agent can build an audience, draft a piece, and request a send through Sincerely. A human confirms before printing.
- [Direct mail for customer marketing](https://trysincerely.com/playbooks/customer-marketing): Use physical mail for onboarding, champion thanks, advocacy, expansion, and renewal conversations, with careful account ownership and honest measurement.
- [How to prevent duplicate direct mail sends](https://trysincerely.com/guides/prevent-duplicate-direct-mail): Prevent duplicate sends by giving each mail piece a stable identity and waiting for vendor acknowledgment before advancing.
- [What is a direct mail frequency cap?](https://trysincerely.com/guides/direct-mail-frequency-caps): A direct mail frequency cap limits how many physical pieces one person receives in a rolling period. Set it across campaigns, triggers, and one-off sends.

---

Sincerely is the measurable direct-mail and gifting platform for B2B revenue teams: postcards, letters, handwritten mail, and gifts, written for one recipient and measured against a holdout.

Contact Sincerely: https://trysincerely.com/contact

Agent routing index: https://trysincerely.com/llms.txt
