postmark-automation – Writing & Content skill for AI agents
Automate Postmark email delivery tasks via Rube MCP (Composio): send templated emails, manage templates, monitor delivery stats and bounces. Always search tools first for current schemas.
Install the postmark-automation skill with one command
Pick the tool you use, copy the command and paste it in your terminal. The skill lands in that tool's skills folder and is ready in your next session.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/postmark-automation-0a0f7.tgz | tar xz -C ~/.claude/skills
Call it in Claude Code: /postmark-automation – then describe the task you want done.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/postmark-automation-0a0f7.tgz | tar xz -C ~/.codex/skills
Call it in Codex: $postmark-automation – then describe the task you want done.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/postmark-automation-0a0f7.tgz | tar xz -C ~/.hermes/skills
Call it in Hermes Agent: /postmark-automation – then describe the task you want done.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/postmark-automation-0a0f7.tgz | tar xz -C ~/.deepcode/skills
Call it in DeepSeek: /postmark-automation – then describe the task you want done.
SKILL.md content
Postmark Automation via Rube MCP
Automate Postmark transactional email operations through Composio's Postmark toolkit via Rube MCP.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Postmark connection via
RUBE_MANAGE_CONNECTIONSwith toolkitpostmark - Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. The MCP endpoint still requires the provider connection and authorization flow returned by the installed Rube service; adding a URL alone does not grant account access.
1. Verify Rube MCP is available by confirming RUBE_SEARCH_TOOLS responds
2. Call RUBE_MANAGE_CONNECTIONS with toolkit postmark
3. If connection is not ACTIVE, follow the returned auth link to complete Postmark authentication
4. Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Send Templated Batch Emails
When to use: User wants to send templated emails to multiple recipients in one call
Tool sequence:
1. POSTMARK_LIST_TEMPLATES - Find available templates and their IDs [Prerequisite]
2. POSTMARK_VALIDATE_TEMPLATE - Validate template with model data before sending [Optional]
3. POSTMARK_SEND_BATCH_WITH_TEMPLATES - Send batch emails using a template [Required]
Key parameters:
TemplateIdorTemplateAlias: Identifier for the template to useMessages: Array of message objects withFrom,To,TemplateModelTemplateModel: Key-value pairs matching template variables
Pitfalls:
- Maximum 500 messages per batch call
- Either
TemplateIdorTemplateAliasis required, not both TemplateModelkeys must match template variable names exactly (case-sensitive)- Sender address must be a verified Sender Signature or from a verified domain
2. Manage Email Templates
When to use: User wants to create, edit, or inspect email templates
Tool sequence:
1. POSTMARK_LIST_TEMPLATES - List all templates with IDs and names [Required]
2. POSTMARK_GET_TEMPLATE - Get full template details including HTML/text body [Optional]
3. POSTMARK_EDIT_TEMPLATE - Update template content or settings [Optional]
4. POSTMARK_VALIDATE_TEMPLATE - Test template rendering with sample data [Optional]
Key parameters:
TemplateId: Numeric template ID for GET/EDIT operationsName: Template display nameSubject: Email subject line (supports template variables)HtmlBody: HTML content of the templateTextBody: Plain text fallback contentTemplateType: 'Standard' or 'Layout'
Pitfalls:
- Template IDs are numeric integers, not strings
- Editing a template replaces the entire content; include all fields you want to keep
- Layout templates wrap Standard templates; changing a layout affects all linked templates
- Validate before sending to catch missing variables early
3. Monitor Delivery Statistics
When to use: User wants to check email delivery health, open/click rates, or outbound overview
Tool sequence:
1. POSTMARK_GET_DELIVERY_STATS - Get bounce counts by type [Required]
2. POSTMARK_GET_OUTBOUND_OVERVIEW - Get sent/opened/clicked/bounced summary [Required]
3. POSTMARK_GET_TRACKED_EMAIL_COUNTS - Get tracked email volume over time [Optional]
Key parameters:
fromdate: Start date for filtering stats (YYYY-MM-DD)todate: End date for filtering stats (YYYY-MM-DD)tag: Filter stats by message tagmessagestreamid: Filter by message stream (e.g., 'outbound', 'broadcast')
Pitfalls:
- Date parameters use YYYY-MM-DD format without time component
- Stats are aggregated; individual message tracking requires separate API calls
messagestreamiddefaults to all streams if not specified
4. Manage Bounces and Complaints
When to use: User wants to review bounced emails or spam complaints
Tool sequence:
1. POSTMARK_GET_BOUNCES - List bounced messages with details [Required]
2. POSTMARK_GET_SPAM_COMPLAINTS - List spam complaint records [Optional]
3. POSTMARK_GET_DELIVERY_STATS - Get bounce summary counts [Optional]
Key parameters:
count: Number of records to return per pageoffset: Pagination offset for resultstype: Bounce type filter (e.g., 'HardBounce', 'SoftBounce', 'SpamNotification')fromdate/todate: Date range filtersemailFilter: Filter by recipient email address
Pitfalls:
- Bounce types include: HardBounce, SoftBounce, SpamNotification, SpamComplaint, Transient, and others
- Hard bounces indicate permanent delivery failures; these addresses should be removed
- Spam complaints affect sender reputation; monitor regularly
- Pagination uses
countandoffset, not page tokens
5. Configure Server Settings
When to use: User wants to view or modify Postmark server configuration
Tool sequence:
1. POSTMARK_GET_SERVER - Retrieve current server settings [Required]
2. POSTMARK_EDIT_SERVER - Update server configuration [Optional]
Key parameters:
Name: Server display nameSmtpApiActivated: Enable/disable SMTP API accessBounceHookUrl: Webhook URL for bounce notificationsInboundHookUrl: Webhook URL for inbound email processingTrackOpens: Enable/disable open trackingTrackLinks: Link tracking mode ('None', 'HtmlAndText', 'HtmlOnly', 'TextOnly')
Pitfalls:
- Server edits affect all messages sent through that server
- Webhook URLs must be publicly accessible HTTPS endpoints
- Changing
SmtpApiActivatedaffects SMTP relay access immediately - Track settings apply to future messages only, not retroactively
Common Patterns
Template Variable Resolution
1. Call POSTMARK_GET_TEMPLATE with TemplateId
2. Inspect HtmlBody/TextBody for {{variable}} placeholders
3. Build TemplateModel dict with matching keys
4. Call POSTMARK_VALIDATE_TEMPLATE to verify renderingPagination
- Set
countfor results per page (varies by endpoint) - Use
offsetto skip previously fetched results - Increment offset by count each page until results returned < count
- Total records may be returned in response metadata
Known Pitfalls
Authentication:
- Postmark uses server-level API tokens, not account-level
- Each server has its own token; ensure correct server context
- Sender addresses must be verified Sender Signatures or from verified domains
Rate Limits:
- Batch send limited to 500 messages per call
- API rate limits vary by endpoint; implement backoff on 429 responses
Response Parsing:
- Response data may be nested under
dataordata.data - Parse defensively with fallback patterns
- Template IDs are always numeric integers
Quick Reference
| Task | Tool Slug | Key Params |
|------|-----------|------------|
| Send batch templated emails | POSTMARK_SEND_BATCH_WITH_TEMPLATES | Messages, TemplateId/TemplateAlias |
| List templates | POSTMARK_LIST_TEMPLATES | Count, Offset, TemplateType |
| Get template details | POSTMARK_GET_TEMPLATE | TemplateId |
| Edit template | POSTMARK_EDIT_TEMPLATE | TemplateId, Name, Subject, HtmlBody |
| Validate template | POSTMARK_VALIDATE_TEMPLATE | TemplateId, TemplateModel |
| Delivery stats | POSTMARK_GET_DELIVERY_STATS | (none or date filters) |
| Outbound overview | POSTMARK_GET_OUTBOUND_OVERVIEW | fromdate, todate, tag |
| Get bounces | POSTMARK_GET_BOUNCES | count, offset, type, emailFilter |
| Get spam complaints | POSTMARK_GET_SPAM_COMPLAINTS | count, offset, fromdate, todate |
| Tracked email counts | POSTMARK_GET_TRACKED_EMAIL_COUNTS | fromdate, todate, tag |
| Get server config | POSTMARK_GET_SERVER | (none) |
| Edit server config | POSTMARK_EDIT_SERVER | Name, TrackOpens, TrackLinks |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Confirm server/message stream, recipients and exact content before sending, including every item in a batch. Inspect each message result; HTTP success does not mean every recipient was accepted or delivered. Preserve retry identities and reconcile unknown outcomes. Template/server tracking changes affect other sends and need explicit scope; redact tokens and private recipient data.
Related skills
- postmortem-writing – Comprehensive guide to writing effective, blameless postmortems that drive…
- pr-writer – Create pull requests following Sentry's engineering practices.
- premium-3d-website – Guidelines for building premium 3D websites, focusing on custom WebGL shaders…
- privilege-escalation-methods – Provide comprehensive techniques for escalating privileges from a low-privileged user to…
- read-all-adrs – Read every ADR in a project before summarizing architectural context or decisions.
- readme – You are an expert technical writer creating comprehensive project documentation. Write…
- renhua – Write Chinese social posts and product copy in a real person's voice, removing AI tells…
- report-writing – Bug bounty report writing for H1/Bugcrowd/Intigriti/Immunefi