Marketplace postmark-automation
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.
git clone https://github.com/aiskillstore/marketplace
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/sickn33/postmark-automation" ~/.claude/skills/aiskillstore-marketplace-postmark-automation && rm -rf "$T"
skills/sickn33/postmark-automation/SKILL.mdPostmark 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
with toolkitRUBE_MANAGE_CONNECTIONSpostmark - Always call
first to get current tool schemasRUBE_SEARCH_TOOLS
Setup
Get Rube MCP: Add
https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
respondsRUBE_SEARCH_TOOLS - Call
with toolkitRUBE_MANAGE_CONNECTIONSpostmark - If connection is not ACTIVE, follow the returned auth link to complete Postmark authentication
- 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:
- Find available templates and their IDs [Prerequisite]POSTMARK_LIST_TEMPLATES
- Validate template with model data before sending [Optional]POSTMARK_VALIDATE_TEMPLATE
- Send batch emails using a template [Required]POSTMARK_SEND_BATCH_WITH_TEMPLATES
Key parameters:
orTemplateId
: Identifier for the template to useTemplateAlias
: Array of message objects withMessages
,From
,ToTemplateModel
: Key-value pairs matching template variablesTemplateModel
Pitfalls:
- Maximum 500 messages per batch call
- Either
orTemplateId
is required, not bothTemplateAlias
keys must match template variable names exactly (case-sensitive)TemplateModel- 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:
- List all templates with IDs and names [Required]POSTMARK_LIST_TEMPLATES
- Get full template details including HTML/text body [Optional]POSTMARK_GET_TEMPLATE
- Update template content or settings [Optional]POSTMARK_EDIT_TEMPLATE
- Test template rendering with sample data [Optional]POSTMARK_VALIDATE_TEMPLATE
Key parameters:
: Numeric template ID for GET/EDIT operationsTemplateId
: Template display nameName
: Email subject line (supports template variables)Subject
: HTML content of the templateHtmlBody
: Plain text fallback contentTextBody
: 'Standard' or 'Layout'TemplateType
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:
- Get bounce counts by type [Required]POSTMARK_GET_DELIVERY_STATS
- Get sent/opened/clicked/bounced summary [Required]POSTMARK_GET_OUTBOUND_OVERVIEW
- Get tracked email volume over time [Optional]POSTMARK_GET_TRACKED_EMAIL_COUNTS
Key parameters:
: Start date for filtering stats (YYYY-MM-DD)fromdate
: End date for filtering stats (YYYY-MM-DD)todate
: Filter stats by message tagtag
: Filter by message stream (e.g., 'outbound', 'broadcast')messagestreamid
Pitfalls:
- Date parameters use YYYY-MM-DD format without time component
- Stats are aggregated; individual message tracking requires separate API calls
defaults to all streams if not specifiedmessagestreamid
4. Manage Bounces and Complaints
When to use: User wants to review bounced emails or spam complaints
Tool sequence:
- List bounced messages with details [Required]POSTMARK_GET_BOUNCES
- List spam complaint records [Optional]POSTMARK_GET_SPAM_COMPLAINTS
- Get bounce summary counts [Optional]POSTMARK_GET_DELIVERY_STATS
Key parameters:
: Number of records to return per pagecount
: Pagination offset for resultsoffset
: Bounce type filter (e.g., 'HardBounce', 'SoftBounce', 'SpamNotification')type
/fromdate
: Date range filterstodate
: Filter by recipient email addressemailFilter
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
andcount
, not page tokensoffset
5. Configure Server Settings
When to use: User wants to view or modify Postmark server configuration
Tool sequence:
- Retrieve current server settings [Required]POSTMARK_GET_SERVER
- Update server configuration [Optional]POSTMARK_EDIT_SERVER
Key parameters:
: Server display nameName
: Enable/disable SMTP API accessSmtpApiActivated
: Webhook URL for bounce notificationsBounceHookUrl
: Webhook URL for inbound email processingInboundHookUrl
: Enable/disable open trackingTrackOpens
: Link tracking mode ('None', 'HtmlAndText', 'HtmlOnly', 'TextOnly')TrackLinks
Pitfalls:
- Server edits affect all messages sent through that server
- Webhook URLs must be publicly accessible HTTPS endpoints
- Changing
affects SMTP relay access immediatelySmtpApiActivated - 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 rendering
Pagination
- Set
for results per page (varies by endpoint)count - Use
to skip previously fetched resultsoffset - 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
ordatadata.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 |