← marketplace
engineersapisha:0172600bc9bb1b36manual
postmark-skills
Use when teaching an AI coding agent to send transactional email through Postmark with templates, inbound parsing, webhooks, and deliverability monitoring.
Install confidence
curl --create-dirs -fsSL https://skillmake.xyz/i/postmark-skills -o ~/.claude/skills/postmark-skills/SKILL.md
Pinned content
sha:0172600bc9bb1b36
Generated with
manual
Source
postmarkapp.com
The file served at /api/marketplace/postmark-skills-0172600b/raw matches this hash. Inspect before install, then copy the command.
4,301 chars · ~1,075 tokens
--- name: postmark-skills description: Use when teaching an AI coding agent to send transactional email through Postmark with templates, inbound parsing, webhooks, and deliverability monitoring. source: https://postmarkapp.com/blog/teach-your-ai-coding-agent-how-to-send-email-with-postmark-skills generated: 2026-05-17T04:18:31.286Z category: api audience: engineers --- ## When to use - Sending a transactional email via Postmark from an AI-generated code path - Batching up to 500 messages in a single Postmark request - Processing inbound email and routing replies via MailboxHash - Authoring server-side Handlebars templates with layout inheritance - Wiring delivery, bounce, open, and click webhooks - Setting up SPF, DKIM, and DMARC for a sending domain ## Key concepts ### Postmark agent skill bundle Five skill packs that act as instruction manuals an AI agent reads before writing Postmark code: send-email, inbound, templates, webhooks, and best practices. ### Message Streams Postmark separates transactional and broadcast traffic into distinct streams so deliverability of one-to-one mail is not impacted by bulk sends; the skill enforces choosing the right stream per call. ### Batch send A single API call delivers up to 500 messages, with each entry receiving its own MessageID and ErrorCode so partial failures are inspectable without retrying the whole batch. ### Handlebars templates with layouts Server-side templates support layout inheritance and validation, so a base layout owns header/footer and per-message templates inject body content; templates can be deployed between staging and production. ### Inbound MailboxHash An inbound address like reply+abc123@inbound.example.com routes the abc123 token to the webhook as MailboxHash, enabling reply-by-email threading and email-to-ticket flows. ### Webhook events Postmark posts JSON to a configured URL for delivery, bounce, open, click, spam complaint, and subscription change events; the skill documents payload shapes and recommended handler patterns. ## API reference ``` npx skills add ActiveCampaign/postmark-skills ``` Installs the full Postmark agent skill bundle for any compatible coding agent. ``` npx skills add ActiveCampaign/postmark-skills ``` ``` npx skills add ActiveCampaign/postmark-skills --skill postmark-send-email ``` Installs only the send-email skill when other Postmark capabilities are not needed. ``` npx skills add ActiveCampaign/postmark-skills --skill postmark-send-email ``` ``` POST /email with X-Postmark-Server-Token ``` Single transactional send authenticated by a per-server token; required headers and JSON body shape are taught by the send-email skill. ``` POST https://api.postmarkapp.com/email X-Postmark-Server-Token: <server-token> { "From": "you@example.com", "To": "user@example.com", "Subject": "Hello", "HtmlBody": "<p>Hi</p>", "MessageStream": "outbound" } ``` ``` POST /email/batch (up to 500 messages) ``` Sends up to 500 emails in one request; each result row contains its own ErrorCode and MessageID. ``` POST https://api.postmarkapp.com/email/batch [ { "From": "you@example.com", "To": "a@example.com", "Subject": "Hi", "TextBody": "..." }, { "From": "you@example.com", "To": "b@example.com", "Subject": "Hi", "TextBody": "..." } ] ``` ## Gotchas - Server tokens authenticate to a specific Postmark server; using a token from the wrong server returns 401 and the email is silently not sent. - Choosing the broadcast stream for a transactional send hurts deliverability and may violate Postmark's terms. - Batch responses are arrays even on partial failure; callers must iterate ErrorCode per row instead of trusting the HTTP status. - Inbound MailboxHash only populates when the address contains a + token; sending to the bare inbound address yields empty MailboxHash. - Webhooks must be HTTPS and respond 200 quickly; long handlers cause Postmark to retry and double-deliver events. - Sending from an unverified domain or without SPF/DKIM aligned will degrade reputation; the best-practices skill enforces DMARC alignment. --- Generated by SkillMake from https://postmarkapp.com/blog/teach-your-ai-coding-agent-how-to-send-email-with-postmark-skills on 2026-05-17T04:18:31.286Z. Verify against source before relying on details.
File: ~/.claude/skills/postmark-skills/SKILL.md