postmark-automation
npx machina-cli add skill davepoon/buildwithclaude/postmark-automation --openclawPostmark Automation via Rube MCP
Automate Postmark transactional email operations through Composio's Postmark toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/postmark
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. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - Call
RUBE_MANAGE_CONNECTIONSwith toolkitpostmark - 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:
POSTMARK_LIST_TEMPLATES- Find available templates and their IDs [Prerequisite]POSTMARK_VALIDATE_TEMPLATE- Validate template with model data before sending [Optional]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:
POSTMARK_LIST_TEMPLATES- List all templates with IDs and names [Required]POSTMARK_GET_TEMPLATE- Get full template details including HTML/text body [Optional]POSTMARK_EDIT_TEMPLATE- Update template content or settings [Optional]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:
POSTMARK_GET_DELIVERY_STATS- Get bounce counts by type [Required]POSTMARK_GET_OUTBOUND_OVERVIEW- Get sent/opened/clicked/bounced summary [Required]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:
POSTMARK_GET_BOUNCES- List bounced messages with details [Required]POSTMARK_GET_SPAM_COMPLAINTS- List spam complaint records [Optional]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:
POSTMARK_GET_SERVER- Retrieve current server settings [Required]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 rendering
Pagination
- 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 |
Powered by Composio
Source
git clone https://github.com/davepoon/buildwithclaude/blob/main/plugins/all-skills/skills/postmark-automation/SKILL.mdView on GitHub Overview
This skill automates Postmark transactional email tasks using Composio's Postmark toolkit through Rube MCP. It covers sending templated batch emails, managing templates, and monitoring delivery stats and bounces, with a prerequisite to search for current schemas first.
How This Skill Works
Connect to Rube MCP and verify tool schemas with RUBE_SEARCH_TOOLS, then manage the Postmark connection via RUBE_MANAGE_CONNECTIONS. Use the Postmark tool sequences to list templates, validate templates, and send batch emails with a template, supplying TemplateId or TemplateAlias and a TemplateModel that must exactly match template variables. You can also monitor delivery health with endpoints for delivery stats, outbound overview, and tracked counts.
When to Use It
- Send templated emails to many recipients in a single call
- Create, edit, or inspect Postmark templates and layouts
- Monitor delivery health, opens, clicks, and bounces
- Validate templates with sample data before sending
- Fetch and prepare templates and IDs for campaigns
Quick Start
- Step 1: Ensure Rube MCP is available by calling RUBE_SEARCH_TOOLS and confirm it responds
- Step 2: Connect to Postmark via RUBE_MANAGE_CONNECTIONS with the postmark toolkit and authorize
- Step 3: Use the core workflow: list templates, validate if needed, then send batch with POSTMARK_SEND_BATCH_WITH_TEMPLATES
Best Practices
- Always call RUBE_SEARCH_TOOLS first to retrieve current tool schemas
- Ensure sender address is a verified Sender Signature or domain
- Use either TemplateId or TemplateAlias, not both; TemplateModel keys must match variables exactly (case-sensitive)
- Limit batch sends to 500 messages per call and test with POSTMARK_VALIDATE_TEMPLATE
- Edit templates cautiously; editing replaces content and understand Layout vs Standard relationships
Example Use Cases
- Send onboarding welcome emails to a new user batch using a single templated template
- Dispatch password reset notifications with personalized TemplateModel data
- Automatically generate and send order confirmations in bulk with templates
- Notify users about policy updates via templated layouts across segments
- Audit and update templates; propagate changes to linked templates in Layouts
Frequently Asked Questions
Related Skills
email-sequence
coreyhaines31/marketingskills
When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email program. Also use when the user mentions "email sequence," "drip campaign," "nurture sequence," "onboarding emails," "welcome sequence," "re-engagement emails," "email automation," "lifecycle emails," "trigger-based emails," "email funnel," "email workflow," "what emails should I send," "welcome series," or "email cadence." Use this for any multi-email automated flow. For cold outreach emails, see cold-email. For in-app onboarding, see onboarding-cro.
cold-email
coreyhaines31/marketingskills
Write B2B cold emails and follow-up sequences that get replies. Use when the user wants to write cold outreach emails, prospecting emails, cold email campaigns, sales development emails, or SDR emails. Also use when the user mentions "cold outreach," "prospecting email," "outbound email," "email to leads," "reach out to prospects," "sales email," "follow-up email sequence," "nobody's replying to my emails," or "how do I write a cold email." Covers subject lines, opening lines, body copy, CTAs, personalization, and multi-touch follow-up sequences. For warm/lifecycle email sequences, see email-sequence. For sales collateral beyond emails, see sales-enablement.
activecampaign-automation
davepoon/buildwithclaude
Automate ActiveCampaign tasks via Rube MCP (Composio): manage contacts, tags, list subscriptions, automation enrollment, and tasks. Always search tools first for current schemas.
brevo-automation
davepoon/buildwithclaude
Automate Brevo (Sendinblue) tasks via Rube MCP (Composio): manage email campaigns, create/edit templates, track senders, and monitor campaign performance. Always search tools first for current schemas.
convertkit-automation
davepoon/buildwithclaude
Automate ConvertKit (Kit) tasks via Rube MCP (Composio): manage subscribers, tags, broadcasts, and broadcast stats. Always search tools first for current schemas.
gmail-automation
davepoon/buildwithclaude
Automate Gmail tasks via Rube MCP (Composio): send/reply, search, labels, drafts, attachments. Always search tools first for current schemas.