InTouch Hub · Blue Isle Software

Postmark

Send and track transactional email with templates and bounce tracking via the Postmark API.

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

bouncesemailmarketing-emailsignaturestatussummarytrackertransactional

Postmark

Send and track transactional email through the Postmark API. Send raw or template-based emails, list bounces, and pull delivery and outbound statistics.

Operations

Operation Method / Endpoint Purpose
send-email POST /email Send a single transactional email (HTML and/or text).
send-email-template POST /email/withTemplate Send an email rendered from a Postmark template.
list-bounces GET /bounces List bounced messages, optionally filtered by type/recipient.
get-delivery-stats GET /deliverystats Summary of bounce counts and inactive addresses.
get-outbound-stats GET /stats/outbound Aggregate outbound send statistics.

apiKey setup

  1. Sign in to the Postmark dashboard.
  2. Open your Server, then go to the API Tokens tab.
  3. Copy the Server API Token and pass it as the apiKey input. The tool sends it as the X-Postmark-Server-Token header.
  4. For testing without sending real mail, use the special token value POSTMARK_API_TEST.

Note: the from address must be a verified Sender Signature (or be on a verified domain) in your Postmark account, or the send will be rejected.

Inputs

Output

Every call prints a single JSON envelope:

{ "result": "<response body as JSON string>", "status": "<http status code>" }

On failure it prints { "error": "...", "status": "0", "result": "" } and exits non-zero, marking the step as failed.

Examples

Send a transactional email

operation:  send-email
apiKey:     <your-server-token>
from:       [email protected]
to:         [email protected]
subject:    Your receipt
textBody:   Thanks for your purchase!
tag:        receipt

A successful send returns { "MessageID": "...", "SubmittedAt": "...", "ErrorCode": 0, "Message": "OK", "To": "[email protected]" }.

Send via a template

operation:      send-email-template
apiKey:         <your-server-token>
from:           [email protected]
to:             [email protected]
templateAlias:  welcome
templateModel:  {"name":"Sam","product_url":"https://app.example.com"}

List recent hard bounces

operation:  list-bounces
apiKey:     <your-server-token>
type:       HardBounce
count:      50

Check delivery stats

operation:  get-delivery-stats
apiKey:     <your-server-token>

Publishes

The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.

Input Properties

Every property this tool accepts, from its own tool.iml.

Property Type Required Default Description
apiKey string yes Postmark Server API Token (sent as the 'X-Postmark-Server-Token' header). Find it in the Postmark dashboard under your Server -> API Tokens. Use 'POSTMARK_API_TEST' for sandbox testing.
operation string yes One of: send-email, send-email-template, list-bounces, get-delivery-stats, get-outbound-stats
from string no send-email / send-email-template: sender address (must be a registered Sender Signature in Postmark).
to string no send-email / send-email-template: recipient email address (comma-separated for multiple).
subject string no send-email: email subject line.
htmlBody string no send-email: HTML body. At least one of htmlBody or textBody is required.
textBody string no send-email: plain-text body. At least one of htmlBody or textBody is required.
cc string no send-email: optional comma-separated Cc addresses.
bcc string no send-email: optional comma-separated Bcc addresses.
replyTo string no send-email: optional Reply-To address.
tag string no send-email: optional tag for categorizing the message. get-outbound-stats: optional tag to filter stats by.
messageStream string no send-email / send-email-template: optional message stream ID (e.g. 'outbound', 'broadcast').
templateId string no send-email-template: numeric Postmark template ID. Provide this or templateAlias.
templateAlias string no send-email-template: template alias. Provide this or templateId.
templateModel string no send-email-template: JSON object of template variables, e.g. {"name":"Sam","product_url":"https://..."}.
type string no list-bounces: optional bounce type filter (e.g. HardBounce, SoftBounce, SpamComplaint).
recipient string no list-bounces: optional recipient email to filter bounces by.
count string no list-bounces: max number of bounces to return (default 100).
offset string no list-bounces: pagination offset (default 0).
fromDate string no get-outbound-stats: optional start date filter, YYYY-MM-DD.
toDate string no get-outbound-stats: optional end date filter, YYYY-MM-DD.