# Postmark — Pipedream Connect

> Postmark is a fast and reliable email delivery service that enables you to send transactional and marketing emails and get them to the inbox on time, every time.

- API slug: `postmark` (use in MCP headers and tool keys)
- Auth: API key (Pipedream-managed)
- Categories: Marketing
- Website: https://postmarkapp.com/
- This page (HTML): https://pipedream.com/apps/postmark
- Tools: 27 actions · 4 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: postmark`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "postmark",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Create Domain:
const result = await mcp.callTool({
  name: "postmark-create-domain",
  arguments: {
    name: "Name",
    returnPathDomain: "Return Path Domain",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a Postmark endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://api.postmarkapp.com/server

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkucG9zdG1hcmthcHAuY29tL3NlcnZlcg?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "postmark-create-domain",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    postmark: { authProvisionId: "apn_xxxxxxx" },
    name: "Name",
    returnPathDomain: "Return Path Domain",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (27)

### `postmark-create-domain` — Create Domain (Write)

Create a new domain. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/create-domain.md

### `postmark-create-signature` — Create Sender Signature (Write)

Create a new sender signature. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/create-signature.md

### `postmark-delete-domain` — Delete Domain (Write)

Delete a specific domain. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/delete-domain.md

### `postmark-delete-signature` — Delete Sender Signature (Write)

Delete a specific sender signature. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/delete-signature.md

### `postmark-get-bounce-counts` — Get Bounce Counts (Read-only)

Gets total counts of emails you've sent out that have been returned as bounced. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/get-bounce-counts.md

### `postmark-get-browser-usage` — Get Browser Usage (Read-only)

Gets an overview of the browsers used to open links in your emails. This is only recorded when Link Tracking is enabled for that email. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/get-browser-usage.md

### `postmark-get-click-counts` — Get Click Counts (Read-only)

Gets total counts of unique links that were clicked. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/get-click-counts.md

### `postmark-get-domain` — Get Domain (Read-only)

Gets all the details for a specific domain. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/get-domain.md

### `postmark-get-email-open-counts` — Get Email Open Counts (Read-only)

Gets total counts of recipients who opened your emails. This is only recorded when open tracking is enabled for that email. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/get-email-open-counts.md

### `postmark-get-email-platform-usage` — Get Email Platform Usage (Write)

Gets an overview of the platforms used to open your emails. This is only recorded when open tracking is enabled for that email. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/get-email-platform-usage.md

### `postmark-get-outbound-overview` — Get Outbound Overview (Read-only)

Gets a brief overview of statistics for all of your outbound email. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/get-outbound-overview.md

### `postmark-get-sent-counts` — Get Sent Counts (Read-only)

Gets a total count of emails you've sent out. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/get-sent-counts.md

### `postmark-get-spam-complaints` — Get Spam Complaints (Read-only)

Gets a total count of recipients who have marked your email as spam. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/get-spam-complaints.md

### `postmark-get-tracked-email-counts` — Get Tracked Email Counts (Read-only)

Gets a total count of emails you've sent with open tracking or link tracking enabled. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/get-tracked-email-counts.md

### `postmark-list-domain-id-options` — List Domain Id Options (Read-only)

Retrieves available options for the Domain Id field.

Full schema: https://pipedream.com/apps/postmark/actions/list-domain-id-options.md

### `postmark-list-domains` — List Domains (Read-only)

Gets a list of domains containing an overview of the domain and authentication status. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/list-domains.md

### `postmark-list-sender-signatures` — List Sender Signatures (Read-only)

Gets a list of sender signatures containing brief details associated with your account. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/list-sender-signatures.md

### `postmark-list-server-id-options` — List Server Id Options (Read-only)

Retrieves available options for the Server Id field.

Full schema: https://pipedream.com/apps/postmark/actions/list-server-id-options.md

### `postmark-list-signature-id-options` — List Signature Id Options (Read-only)

Retrieves available options for the Signature Id field.

Full schema: https://pipedream.com/apps/postmark/actions/list-signature-id-options.md

### `postmark-resend-confirmation` — Resend Confirmation (Write)

Resend a confirmation email for a specific sender signature. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/resend-confirmation.md

### `postmark-rotate-dkim-keys` — Rotate DKIM Keys (Write)

Creates a new DKIM key to replace your current key. Until the new DNS entries are confirmed, the pending values will be in DKIMPendingHost and DKIMPendingTextValue fields. After the new DKIM value is verified in DNS, the pending values will migrate to DKIMTextValue and DKIMPendingTextValue and…

Full schema: https://pipedream.com/apps/postmark/actions/rotate-dkim-keys.md

### `postmark-send-batch-with-templates` — Send Batch With Templates (Write)

Send a batch of emails using a template See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/send-batch-with-templates.md

### `postmark-send-email-with-template` — Send Email With Template (Write)

Send a single email with Postmark using a template See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/send-email-with-template.md

### `postmark-send-single-email` — Send Single Email (Write)

Send a single email with Postmark See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/send-single-email.md

### `postmark-update-signature` — Update Sender Signature (Write)

Create a new sender signature. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/update-signature.md

### `postmark-verify-dkim` — Verify DKIM (Read-only)

Verify DKIM keys for the specified domain. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/verify-dkim.md

### `postmark-verify-return-path` — Verify Return-Path DNS (Read-only)

Verify Return-Path DNS record for the specified domain. See the documentation

Full schema: https://pipedream.com/apps/postmark/actions/verify-return-path.md

## Triggers (4)

### `postmark-new-domain` — New Domain (Polling)

Emit new event when a new domain is created.

Full schema: https://pipedream.com/apps/postmark/triggers/new-domain.md

### `postmark-new-email-opened` — New Email Opened (Instant)

Emit new event when an email is opened by a recipient (See docs here)

Full schema: https://pipedream.com/apps/postmark/triggers/new-email-opened.md

### `postmark-new-inbound-email-received` — New Inbound Email Received (Instant)

Emit new event when an email is received by the Postmark server. This source updates the server's inbound URL. You cannot create multiple inbound sources for the same server. See the documentation

Full schema: https://pipedream.com/apps/postmark/triggers/new-inbound-email-received.md

### `postmark-new-sender-signature` — New Sender Signature (Polling)

Emit new event when a new sender signature is created.

Full schema: https://pipedream.com/apps/postmark/triggers/new-sender-signature.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
