Reference · Tools

Postmark Trigger

Starts workflow when Postmark email events occur (bounces, opens, clicks, deliveries, spam complaints, subscription changes)

Webhook trigger Communication v1

The Postmark Trigger fires on the email events you subscribe to — bounce, click, delivery, open, spam complaint or subscription change. A typical build is suppressing an address in your own database the moment Postmark reports a hard bounce or a spam complaint.

Node type
Webhook trigger
Parameters
3
Outputs
Output
Credentials
Postmark

Postmark Trigger

Triggers on Postmark email events such as bounces, opens, clicks, and deliveries

Overview

Receives webhook notifications from Postmark when transactional email events occur. Supports bounce, click, delivery, open, spam complaint, and subscription change events. For open events, can be configured to fire only on the first open. For bounce and spam complaint events, can optionally include the original message content in the payload. Postmark sends a POST request with a JSON body containing event-specific fields such as recipient email, message ID, bounce type, geo data, user agent info, and timestamps. Useful for monitoring email deliverability, tracking engagement, handling bounces, and managing suppression lists.

Category: Communication
Tool Name: postmark_trigger
Version: 1

Appearance: Icon: lucide-Mail | Color: #ffde00

Node Type

Trigger — webhook (receives incoming HTTP callbacks)

Input / Output

DirectionPort(s)
InputNone (trigger node)
OutputOutput

Credentials

This tool requires Postmark credentials. See the Credentials Guide for setup instructions.

Parameters

ParameterTypeRequiredDefaultDescription
EventsmultiOptionsYes[]Webhook events that will be enabled for this endpoint.
Options: bounce, click (a link in the email is clicked), delivery, open, spamComplaint, subscriptionChange
First OpenbooleanNofalseOnly fires on first open for event “Open”. Subsequent re-opens of the same email will not trigger. (shown when Events is open)
Include ContentbooleanNofalseWhether to include message content for events “Bounce” and “Spam Complaint”. When enabled, the original email body is included in the webhook payload. (shown when Events is bounce, spamComplaint)

Output Data

Each Postmark notification produces one output item:

  • _trigger — always postmark_webhook
  • _timestamp — ISO 8601 timestamp of when the request arrived
  • _webhookEvent — the value of Postmark’s RecordType field, or unknown when the payload does not carry one

The Postmark payload is merged in at the top level, so the event’s own fields — RecordType, MessageID, the recipient address, bounce type and description, geo and user-agent details, and the event timestamps — sit directly on the item. Reference them downstream by expression, e.g. {{ $json.Email }}. When Include Content is enabled, bounce and spam-complaint payloads also carry the original message body.

Usage Examples

  • Start a workflow when an email bounces in Postmark
  • Trigger a notification when a recipient opens a transactional email
  • Track link clicks in transactional emails and log them
  • Monitor spam complaints and update a suppression list
  • Detect email delivery confirmations for order notifications
  • React to subscription changes from Postmark recipients

Example Configuration

Basic open tracking:

{
  "name": "Postmark Email Opens",
  "type": "postmark_trigger",
  "parameters": {
    "events": ["open"]
  }
}

Open tracking that ignores re-opens:

{
  "name": "Postmark First Opens Only",
  "type": "postmark_trigger",
  "parameters": {
    "events": ["open"],
    "firstOpen": true
  }
}

Bounce monitoring with the original message body:

{
  "name": "Postmark Bounce Monitor",
  "type": "postmark_trigger",
  "parameters": {
    "events": ["bounce"],
    "includeContent": true
  }
}

Deliverability monitoring across bounces and spam complaints:

{
  "name": "Email Deliverability Monitor",
  "type": "postmark_trigger",
  "parameters": {
    "events": ["bounce", "spamComplaint"],
    "includeContent": true
  }
}

Engagement tracking on opens and clicks:

{
  "name": "Email Engagement Tracker",
  "type": "postmark_trigger",
  "parameters": {
    "events": ["open", "click"],
    "firstOpen": true
  }
}

Every event type on one endpoint:

{
  "name": "Complete Email Monitoring",
  "type": "postmark_trigger",
  "parameters": {
    "events": [
      "bounce",
      "click",
      "delivery",
      "open",
      "spamComplaint",
      "subscriptionChange"
    ]
  }
}

Trigger Behavior

  • Activation: When the workflow is activated, a webhook endpoint is registered with the service.
  • Deactivation: The webhook is automatically unregistered when the workflow is deactivated.
  • Payload: The incoming webhook payload is parsed and output as workflow items.
  • Verification: Supports signature verification where applicable.

Tips

Entry point that fires when Postmark sends a webhook for subscribed email events. Select which events to listen for: bounce, click, delivery, open, spam complaint, or subscription change. For open events, enable “First Open” to only trigger on the first open (not re-opens). For bounce and spam complaint events, enable “Include Content” to receive the original message body in the payload.

Frequently asked questions

How do I avoid firing on every re-open?

Enable First Open for open events, so only the first open triggers the workflow rather than every subsequent view of the same message.

Can I see the original message on a bounce?

Yes — enable Include Content for bounce and spam complaint events to receive the original message body in the payload.

Which events matter most for list hygiene?

Bounce and spam complaint. Both usually mean the address should be suppressed rather than retried, and handling them automatically protects your sending reputation.

Which credential does it need?

A Postmark credential for the server whose events you are subscribing to.

Build with the Postmark Trigger node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Postmark credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.