Postmark
Send transactional email through Postmark and work the rest of the server API: bounces and delivery stats, sent/inbound message search, opens and clicks, templates, per-stream suppressions and webhooks.
OCNORA ships 27 typed Postmark operations and 1 trigger. Each node has a schema-driven form, input and output tables beside its settings, and is pre-flighted by Workflow Health before your first real run. Endpoints not covered by a typed node are called at https://api.postmarkapp.com through the HTTP node with the same credential.
Before you connect Postmark
- Authentication
- API key
- Credential
- the server API token, or {"server_token": "…"}
- Connection test
- Available: the stored credential can be checked against the provider when you add it. This is not a record that a test was run or passed.
- Prerequisites
- A server token, not an account token — webhooks are server-scoped. Publishing also needs MANTLE_APP_PUBLIC_BASE_URL set to an https URL Postmark can reach and answer 200 on: Postmark verifies the endpoint before it will save the webhook.
Prerequisites are taken from the connection notes in this provider’s node contracts; each node’s reference page says which apply to it.
What you can do with Postmark
Operations, grouped by what they do to your data, plus 1 trigger that start a run.
Create and send 6
Read and search 15
Delete and cancel 3
Other operations 1
A sample Postmark workflow
- 1Eventtrigger.postmark_eventStart a run when Postmark reports a bounce, delivery, open, click or spam complaint.
- 2Get Bouncepostmark.get_bounceRead one bounce record by its Postmark bounce id.
- 3Activate Bounced Addresspostmark.activate_bounceReinstate an address Postmark deactivated after a bounce, so the server will send to it again.
An outline built from this provider’s node contracts, not a recorded run. Each step’s output fields are available to the next in the field picker.
Every node below has a reference page: what it does, the connection it needs, its config fields with types, constraints and examples, and the shapes it emits.
Operations 27
- Activate Bounced AddressReinstate an address Postmark deactivated after a bounce, so the server will send to it again.postmark.activate_bounce
- Suppress AddressesAdd up to 50 addresses to a message stream's do-not-send list, and report which of them Postmark accepted.postmark.create_suppressions
- Create TemplateCreate a template on the server, with an HTML body, a text body or both.postmark.create_template
- Create WebhookPoint one of the server's message streams at an external URL for the events you choose — a Mantle trigger.webhook URL, or any other system that can accept a POST.postmark.create_webhook
- Remove SuppressionsRemove up to 50 addresses from a message stream's do-not-send list, and report which of them Postmark actually lifted.postmark.delete_suppressions
- Delete TemplateDelete a template from the server by its numeric id or its alias.postmark.delete_template
- Delete WebhookRemove one webhook from the server by its Postmark webhook id.postmark.delete_webhook
- Get BounceRead one bounce record by its Postmark bounce id.postmark.get_bounce
- Get Bounce DumpRead the raw SMTP response behind a bounce, which is where the receiving server's real reason usually is.postmark.get_bounce_dump
- Get Delivery StatsRead how many addresses the server currently has deactivated and how the bounces break down by type.postmark.get_delivery_stats
- Get Sent MessageRead one sent message in full, including its body and the event trail Postmark recorded for it.postmark.get_outbound_message
- Get ServerRead the Postmark server this connection's token belongs to, including its tracking settings and inbound address.postmark.get_server
- Get TemplateRead one template's stored subject, HTML body and text body.postmark.get_template
- List BouncesList the bounces recorded for the server, filtered by type, tag, date range or recipient.postmark.list_bounces
- List Link ClicksList recorded link clicks across the server, or every click on one message when a message id is given.postmark.list_message_clicks
- List OpensList recorded email opens across the server, or every open of one message when a message id is given.postmark.list_message_opens
- List SuppressionsRead the do-not-send list for a message stream, optionally filtered by reason, origin, address or date.postmark.list_suppressions
- List TemplatesList the templates and layouts stored on this Postmark server.postmark.list_templates
- List WebhooksList the webhooks configured on one of the server's message streams.postmark.list_webhooks
- Search Inbound MessagesSearch the messages Postmark received for this server's inbound address, by sender, recipient, subject, mailbox hash or date range.postmark.search_inbound_messages
- Search Sent MessagesSearch the messages this server has sent, by recipient, sender, tag, subject, status or date range.postmark.search_outbound_messages
- Send Email BatchSend up to 500 messages in one call. Each message is accepted or refused on its own, so the result reports both counts rather than one verdict.postmark.send_batch
- Send Template BatchSend up to 500 templated messages in one call, each with its own template and model, and report which of them Postmark accepted.postmark.send_batch_with_templates
- Send EmailSend one transactional message through Postmark, with an HTML body, a text body or both.postmark.send_email
- Send Template EmailRender a stored Postmark template with a model and send it to one recipient.postmark.send_with_template
- Update TemplateChange a template's name, subject or bodies. Only the fields given are sent, so the rest keep their stored values.postmark.update_template
- Validate TemplateRender template content against a test model without storing it, and report the placeholders Postmark could not resolve.postmark.validate_template
Postmark questions
- How does OCNORA authenticate with Postmark?
- With a stored API key credential, shaped the server API token, or {"server_token": "…"}. A connection test can check it when you add it.
- What can I automate with Postmark?
- 27 typed operations and 1 trigger, each with a reference page listing its config fields and the shapes it emits.
- What if the Postmark operation I need is not listed?
- Call https://api.postmarkapp.com from the HTTP node with the same credential, or describe the step to the AI builder, which asks our team for a typed node when one is missing.
- Are there templates that use Postmark?
- Not yet. Start from a blank workflow, or describe the workflow to Build with AI.
- How are Postmark calls controlled?
- Every call and every run step is audited, runs count against the execution budget, and Workflow Health pre-flights the workflow when you save it.
See your first Postmark workflow run.
Book a technical demo. We add the connection, pick a template or describe the workflow to Build with AI, and Workflow Health checks it before it runs.