# Postmark inbound for an AI agent: webhook or mailbox?

Postmark can receive email for an AI agent, but it doesn't keep a mailbox for
it. Inbound processing parses each message into JSON and POSTs it to a URL
you run. Your code stores it, threads it and gives the agent tools to read
and reply. That's a good fit if you're adding email to an application you
already host. If you want an agent to have an inbox it can search, wait on
and answer from right away, Botmail is that inbox, and the agent sets it up
itself.

## How Postmark inbound works

1. Create a server in Postmark. Each server has one inbound stream, and each
   stream accepts one domain.
2. Mail to `yourhash@inbound.postmarkapp.com` is parsed by that server. To use
   your own address, set up inbound domain forwarding with an MX record, or
   forward from an existing mailbox.
3. Set `InboundHookUrl` to an endpoint you run. Postmark POSTs the parsed
   message there as JSON. Protect it with HTTP Basic auth in the URL.
4. Reply through Postmark's Email API from a sender signature or domain you've
   verified.

Inbound processing is listed on the Pro ($16.50 a month, 10,000 emails) and
Platform plans, not on Basic. Message content is kept for 45 days by
default, adjustable from 7 to 365 days on Pro and up.

Postmark's official MCP server
([`@activecampaign/postmark-mcp`](https://github.com/ActiveCampaign/postmark-mcp))
runs locally with a server token. Its tools cover sending, templates, message
search, bounces, suppressions and stats: it helps an agent operate Postmark,
not live in an inbox.

Sources: Postmark's [pricing](https://postmarkapp.com/pricing) and
[inbound server guide](https://postmarkapp.com/developer/user-guide/inbound/configure-an-inbound-server),
checked in October 2026.

## What you'd build on top

For a coding agent or assistant to use a Postmark address, you need:

- a public HTTPS endpoint that accepts the webhook and answers fast
- a database for messages and attachments, kept past 45 days if it matters
- threading by `Message-ID` and `In-Reply-To`
- tools the agent calls: list, read, search, reply, wait for new mail
- authentication for those tools, and limits on who the agent may email

With Botmail those already exist. Over REST, the same "tell me when mail
arrives" step is one call:

```sh
curl -s https://botmail.pro/v1/webhooks \
  -H "Authorization: Bearer $BOTMAIL_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/hooks/mail"}'
```

And if the agent has no public URL at all, it can long-poll
`GET /v1/events?after=<seq>&wait=30` or call `wait_for_mail` over MCP instead.

## Side by side

| | Botmail | Postmark inbound |
| --- | --- | --- |
| What arrives | Mail stored in a mailbox, with threads, labels and search | A JSON POST to your URL |
| Public endpoint needed | No; webhooks are optional | Yes |
| Address | `name@botmail.pro` | `hash@inbound.postmarkapp.com` or your domain via MX |
| Setup | The agent claims an address; you approve one email | A server, an inbound hook URL and a sender signature |
| Price for inbound | Free plan included | Pro from $16.50/month |
| Message storage | Until you delete it | 45 days by default, 7 to 365 on Pro and up |
| MCP | Hosted mailbox tools with OAuth | Local server for operating Postmark |
| Deliverability tools | Spam and phishing checks on first contact | Postmark's sending reputation, bounce and stats tooling |

## When Postmark is the better choice

- your app already sends through Postmark and you want replies to reach your
  backend
- mail must come from your own domain
- you process each inbound message once (a ticket, an order, a form) and
  don't need a lasting inbox
- you want Postmark's transactional deliverability and analytics

## When Botmail is the better choice

- the agent needs to look back through its mail and continue threads
- you don't want to host a webhook endpoint or a message database
- the agent runs on a laptop or in a sandbox with no public URL
- you want to start free, without a domain

Botmail isn't affiliated with Postmark.

## Try Botmail

Paste this into your agent:

```text
Read https://botmail.pro/skill.md and claim a mailbox for yourself. Send the invite to my email, then wait for me to approve it.
```

Building your own agent? See
[send and receive email from Python](https://botmail.pro/guides/send-email-from-ai-agent-python)
or [TypeScript](https://botmail.pro/guides/send-email-from-ai-agent-typescript).

## Questions

### Can Postmark receive email for an AI agent?

Yes. Postmark inbound parses each message and POSTs it as JSON to a URL you run. Your code stores it and gives the agent tools to read and reply; Postmark doesn't keep a mailbox for the agent.

### Which Postmark plans include inbound email?

Postmark lists inbound email processing on its Pro plan, from $16.50 a month for 10,000 emails, and on Platform. It isn't listed on Basic.

### Does Postmark have an MCP server?

Yes. The official @activecampaign/postmark-mcp server runs locally with a server token and covers sending, templates, message search, bounces and stats. Botmail's hosted MCP server gives an agent mailbox tools.

---

Source: https://botmail.pro/compare/postmark
Agent instructions: https://botmail.pro/skill.md
All guides: https://botmail.pro/llms.txt
