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

See Gates and tool scopes.

Setup

Run Postmark's MCP server

  1. 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 (outbound for transactional mail).
  2. 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 Authorization header is not Bearer <your token>. Choose a long random token.
  3. If your bridge can, offer only the tools your tasks need. What the bridge does not offer, no task can call.

Connect it

  1. In the portal, on Tools, choose Add tool. Layer: Task, and Bind on: the task that sends.
  2. Kind: MCP. Tool type: postmark.
  3. MCP server URL: your bridge's address.
  4. Auth: Bearer token / PAT, and your bearer token.
  5. On the task, name the Postmark tools it needs, and declare a gate on each one that sends.
  6. 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