hvac-marketing-skills/tools/integrations/postmark.md
Corey Haines 3a85964305 feat: add 23 new CLI tools and integration guides
New tools across 13 categories:
- Email/Newsletter: beehiiv, klaviyo, postmark, brevo, activecampaign
- Data Enrichment: clearbit, apollo
- CRO/Testing: hotjar, optimizely
- Analytics: plausible
- Scheduling: calendly, savvycal
- Forms: typeform
- Messaging: intercom
- Social: buffer
- Video: wistia
- Payments: paddle
- Affiliate: partnerstack
- Reviews: trustpilot, g2
- Push: onesignal
- Webinar: demio, livestorm

Each tool includes a zero-dependency CLI and integration guide.
Registry and CLI README updated with all new entries.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 11:28:41 -08:00

5.4 KiB

Postmark

Transactional email delivery service with fast delivery, templates, bounce management, and detailed analytics.

Capabilities

Integration Available Notes
API REST API for email sending, templates, bounces, stats
MCP - Not available
CLI postmark.js
SDK Node.js, Ruby, Python, PHP, Java, .NET, Go

Authentication

  • Type: Server Token (or Account Token for account-level ops)
  • Header: X-Postmark-Server-Token: {server_token} (server-level)
  • Header: X-Postmark-Account-Token: {account_token} (account-level)
  • Get key: API Tokens tab at https://account.postmarkapp.com/servers
  • Note: Server tokens are per-server; account tokens apply across all servers

Common Agent Operations

Send single email

POST https://api.postmarkapp.com/email

{
  "From": "sender@example.com",
  "To": "recipient@example.com",
  "Subject": "Welcome!",
  "HtmlBody": "<html><body><p>Hello!</p></body></html>",
  "TextBody": "Hello!",
  "MessageStream": "outbound",
  "TrackOpens": true,
  "TrackLinks": "HtmlAndText"
}

Send with template

POST https://api.postmarkapp.com/email/withTemplate

{
  "From": "sender@example.com",
  "To": "recipient@example.com",
  "TemplateId": 12345,
  "TemplateModel": {
    "name": "Jane",
    "action_url": "https://example.com/verify"
  },
  "MessageStream": "outbound"
}

Send batch emails

POST https://api.postmarkapp.com/email/batch

[
  {
    "From": "sender@example.com",
    "To": "user1@example.com",
    "Subject": "Notification",
    "TextBody": "Hello user 1"
  },
  {
    "From": "sender@example.com",
    "To": "user2@example.com",
    "Subject": "Notification",
    "TextBody": "Hello user 2"
  }
]

List templates

GET https://api.postmarkapp.com/templates?Count=100&Offset=0

Get template

GET https://api.postmarkapp.com/templates/{templateIdOrAlias}

Create template

POST https://api.postmarkapp.com/templates

{
  "Name": "Welcome Email",
  "Alias": "welcome",
  "Subject": "Welcome {{name}}!",
  "HtmlBody": "<html><body><p>Hello {{name}}</p></body></html>",
  "TextBody": "Hello {{name}}"
}

Get delivery stats

GET https://api.postmarkapp.com/deliverystats

List bounces

GET https://api.postmarkapp.com/bounces?count=50&offset=0&type=HardBounce

Activate bounce (reactivate recipient)

PUT https://api.postmarkapp.com/bounces/{bounceId}/activate

Search outbound messages

GET https://api.postmarkapp.com/messages/outbound?count=50&offset=0&recipient=user@example.com

Get outbound stats overview

GET https://api.postmarkapp.com/stats/outbound?fromdate=2025-01-01&todate=2025-01-31

Get open stats

GET https://api.postmarkapp.com/stats/outbound/opens?fromdate=2025-01-01&todate=2025-01-31

Get click stats

GET https://api.postmarkapp.com/stats/outbound/clicks?fromdate=2025-01-01&todate=2025-01-31

Get server info

GET https://api.postmarkapp.com/server

List suppressions

GET https://api.postmarkapp.com/message-streams/outbound/suppressions/dump

Create suppression

POST https://api.postmarkapp.com/message-streams/outbound/suppressions

{
  "Suppressions": [
    { "EmailAddress": "user@example.com" }
  ]
}

API Pattern

Postmark uses simple REST endpoints with PascalCase field names in request/response bodies. Authentication is via custom headers rather than Authorization. Pagination uses Count and Offset parameters. Email sending is synchronous with immediate delivery confirmation.

Key Metrics

Delivery Metrics

  • Sent - Total emails sent
  • Bounced - Bounce count by type (hard, soft, transient)
  • SpamComplaints - Spam complaint count
  • Opens - Open count and unique opens
  • Clicks - Click count and unique clicks

Bounce Types

  • HardBounce - Permanent delivery failure
  • SoftBounce - Temporary delivery failure
  • Transient - Temporary issue (retry)
  • SpamNotification - Marked as spam

Message Fields

  • MessageID - Unique message identifier
  • SubmittedAt - Submission timestamp
  • Status - Delivery status
  • Recipients - Recipient list

Parameters

Email Parameters

  • From - Sender address (must be verified)
  • To - Recipient (comma-separated for multiple)
  • Subject - Email subject
  • HtmlBody / TextBody - Email content
  • MessageStream - outbound (transactional) or broadcast
  • TrackOpens - Enable open tracking (boolean)
  • TrackLinks - None, HtmlAndText, HtmlOnly, TextOnly
  • Tag - Custom tag for categorization

Stats Parameters

  • fromdate - Start date (YYYY-MM-DD)
  • todate - End date (YYYY-MM-DD)
  • tag - Filter by tag

When to Use

  • Transactional emails (password resets, order confirmations, notifications)
  • Template-based email sending with dynamic variables
  • Monitoring email deliverability and bounce rates
  • Tracking email engagement (opens, clicks)
  • Managing email suppressions and bounces
  • High-reliability email delivery with fast performance

Rate Limits

  • 500 messages per batch request
  • 10 MB max per single message (including attachments)
  • 50 MB max per batch request
  • API rate limits vary by plan

Relevant Skills

  • email-sequence
  • transactional-email
  • email-deliverability
  • onboarding-email