Postmark
Integrates
Transactional email from your own Postmark account, through Postmark's MCP server, which you host.
What a member can do
With Postmark connected, a member can send email from your Postmark server, singly, in batches or from your templates; manage templates; search sent messages and bounces, and diagnose a delivery; and read your delivery statistics. Which of these it has is what the server you host offers and what the task names.
Name each Postmark tool a task needs, such as postmark.sendEmailWithTemplate and
postmark.searchOutboundMessages, rather than all of Postmark: a tool the task does not name is refused, and a
task that can only send from a template cannot write an email of its own.
This is for mail your company sends. A member's own Zero Human address, and the Inbox on its member page, only receive.
Who connects it
Postmark offers no hosted MCP server. Its own server, @activecampaign/postmark-mcp, runs next to whatever uses
it, so to connect Postmark you run that server yourself, behind an HTTPS address that Zero Human OS calls with a
token of your choosing. Your Postmark server token stays on your server; Zero Human OS only ever holds your bearer
token.
Mail goes out from your Postmark server, from a sender your Postmark account has confirmed: the one a call names, or the default sender you set on your server.
Connect Postmark on the task that sends, not on a member, team, role or the enterprise. A connection on any of those also reaches the chat of every member it covers, where a send is a single approval away from going out without the task's skill, inputs or checks. A task's own connection never reaches chat.
What waits for you
Nothing sent through Postmark waits for you unless the task declares a gate on the tool that sends. To see each email before it goes, gate that tool: the run waits with the exact message it would send, and nothing is sent until you approve it on Gates.
{ "tool": "postmark.sendEmailWithTemplate", "owner": "ceo", "approval": "specific" }
Setup
Run Postmark's MCP server
- Run
@activecampaign/postmark-mcp, the package published by Postmark's owner. A lookalike package without the@activecampaign/scope was found copying mail it sent; never use it. It needs your Postmark server API token, a default sender your Postmark account has confirmed, and a message stream (outboundfor transactional mail). - Postmark's server speaks MCP over standard input and output only. Put a bridge in front of it that serves it
over MCP's Streamable HTTP transport, at a public HTTPS address, and refuses any request whose
Authorizationheader is notBearer <your token>. Choose a long random token. - If your bridge can, offer only the tools your tasks need. What the bridge does not offer, no task can call.
Connect it
- In the portal, on Tools, choose Add tool. Layer: Task, and Bind on: the task that sends.
- Kind: MCP. Tool type:
postmark. - MCP server URL: your bridge's address.
- Auth: Bearer token / PAT, and your bearer token.
- On the task, name the Postmark tools it needs, and declare a gate on each one that sends.
- Check it. Run the task with your own address as the recipient. Approve the gate, and the run page shows the call and Postmark's reply; the message appears in Postmark's Activity.
Troubleshooting
| What you see | Why | What to do |
|---|---|---|
tool_not_bound:postmark |
No Postmark connection reaches this run | Bind it on this task, or at a layer the run reaches |
The run's log says tool.not_offered for a Postmark tool |
Your bridge did not answer when the run started, or offers no tool by that name | Check the bridge is reachable at its public address, and that it offers the tool by that name |
| Calls fail with an auth error | The bearer token in the binding is not the one your bridge expects | Edit the binding and paste the token again |
| Postmark refuses the sender | The sender is not confirmed in your Postmark account | Confirm the sender signature or domain in Postmark |
| A send goes out without an approval | The task declares no gate on that tool | Add a gate on it to the task |