Postmark Automation via Rube MCP
Selective Reading Rule
Start with:
references/senior-master-standard.md
references/usage-routing.md
references/quality-checklist.md
Then load only the inherited docs, scripts, assets, or examples that match the user's actual task.
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_CONNECTIONS with toolkit postmark
- Always call
RUBE_SEARCH_TOOLS first 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_TOOLS responds
- Call
RUBE_MANAGE_CONNECTIONS with toolkit postmark
- 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:
TemplateId or TemplateAlias: Identifier for the template to use
Messages: Array of message objects with From, To, TemplateModel
TemplateModel: Key-value pairs matching template variables
Pitfalls:
- Maximum 500 messages per batch call
- Either
TemplateId or TemplateAlias is required, not both
TemplateModel keys 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 operations
Name: Template display name
Subject: Email subject line (supports template variables)
HtmlBody: HTML content of the template
TextBody: Plain text fallback content
TemplateType: '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 tag
messagestreamid: 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
messagestreamid defaults 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 page
offset: Pagination offset for results
type: Bounce type filter (e.g., 'HardBounce', 'SoftBounce', 'SpamNotification')
fromdate/todate: Date range filters
emailFilter: 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
count and offset, 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 name
SmtpApiActivated: Enable/disable SMTP API access
BounceHookUrl: Webhook URL for bounce notifications
InboundHookUrl: Webhook URL for inbound email processing
TrackOpens: Enable/disable open tracking
TrackLinks: 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
SmtpApiActivated affects 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
count for results per page (varies by endpoint)
- Use
offset to 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
data or data.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.
1---2name: postmark-automation3description: ALWAYS use this when the request matches Postmark Automation: Automate Postmark email delivery tasks via Rube MCP (Composio): send templated emails, manage templates, monitor delivery stats and bounces.4---56# Postmark Automation via Rube MCP78## Selective Reading Rule910Start with:1112- `references/senior-master-standard.md`13- `references/usage-routing.md`14- `references/quality-checklist.md`1516Then load only the inherited docs, scripts, assets, or examples that match the user's actual task.1718Automate Postmark transactional email operations through Composio's Postmark toolkit via Rube MCP.1920## Prerequisites2122- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)23- Active Postmark connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `postmark`24- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas2526## Setup2728**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.2930311. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds322. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `postmark`333. If connection is not ACTIVE, follow the returned auth link to complete Postmark authentication344. Confirm connection status shows ACTIVE before running any workflows3536## Core Workflows3738### 1. Send Templated Batch Emails3940**When to use**: User wants to send templated emails to multiple recipients in one call4142**Tool sequence**:431. `POSTMARK_LIST_TEMPLATES` - Find available templates and their IDs [Prerequisite]442. `POSTMARK_VALIDATE_TEMPLATE` - Validate template with model data before sending [Optional]453. `POSTMARK_SEND_BATCH_WITH_TEMPLATES` - Send batch emails using a template [Required]4647**Key parameters**:48- `TemplateId` or `TemplateAlias`: Identifier for the template to use49- `Messages`: Array of message objects with `From`, `To`, `TemplateModel`50- `TemplateModel`: Key-value pairs matching template variables5152**Pitfalls**:53- Maximum 500 messages per batch call54- Either `TemplateId` or `TemplateAlias` is required, not both55- `TemplateModel` keys must match template variable names exactly (case-sensitive)56- Sender address must be a verified Sender Signature or from a verified domain5758### 2. Manage Email Templates5960**When to use**: User wants to create, edit, or inspect email templates6162**Tool sequence**:631. `POSTMARK_LIST_TEMPLATES` - List all templates with IDs and names [Required]642. `POSTMARK_GET_TEMPLATE` - Get full template details including HTML/text body [Optional]653. `POSTMARK_EDIT_TEMPLATE` - Update template content or settings [Optional]664. `POSTMARK_VALIDATE_TEMPLATE` - Test template rendering with sample data [Optional]6768**Key parameters**:69- `TemplateId`: Numeric template ID for GET/EDIT operations70- `Name`: Template display name71- `Subject`: Email subject line (supports template variables)72- `HtmlBody`: HTML content of the template73- `TextBody`: Plain text fallback content74- `TemplateType`: 'Standard' or 'Layout'7576**Pitfalls**:77- Template IDs are numeric integers, not strings78- Editing a template replaces the entire content; include all fields you want to keep79- Layout templates wrap Standard templates; changing a layout affects all linked templates80- Validate before sending to catch missing variables early8182### 3. Monitor Delivery Statistics8384**When to use**: User wants to check email delivery health, open/click rates, or outbound overview8586**Tool sequence**:871. `POSTMARK_GET_DELIVERY_STATS` - Get bounce counts by type [Required]882. `POSTMARK_GET_OUTBOUND_OVERVIEW` - Get sent/opened/clicked/bounced summary [Required]893. `POSTMARK_GET_TRACKED_EMAIL_COUNTS` - Get tracked email volume over time [Optional]9091**Key parameters**:92- `fromdate`: Start date for filtering stats (YYYY-MM-DD)93- `todate`: End date for filtering stats (YYYY-MM-DD)94- `tag`: Filter stats by message tag95- `messagestreamid`: Filter by message stream (e.g., 'outbound', 'broadcast')9697**Pitfalls**:98- Date parameters use YYYY-MM-DD format without time component99- Stats are aggregated; individual message tracking requires separate API calls100- `messagestreamid` defaults to all streams if not specified101102### 4. Manage Bounces and Complaints103104**When to use**: User wants to review bounced emails or spam complaints105106**Tool sequence**:1071. `POSTMARK_GET_BOUNCES` - List bounced messages with details [Required]1082. `POSTMARK_GET_SPAM_COMPLAINTS` - List spam complaint records [Optional]1093. `POSTMARK_GET_DELIVERY_STATS` - Get bounce summary counts [Optional]110111**Key parameters**:112- `count`: Number of records to return per page113- `offset`: Pagination offset for results114- `type`: Bounce type filter (e.g., 'HardBounce', 'SoftBounce', 'SpamNotification')115- `fromdate`/`todate`: Date range filters116- `emailFilter`: Filter by recipient email address117118**Pitfalls**:119- Bounce types include: HardBounce, SoftBounce, SpamNotification, SpamComplaint, Transient, and others120- Hard bounces indicate permanent delivery failures; these addresses should be removed121- Spam complaints affect sender reputation; monitor regularly122- Pagination uses `count` and `offset`, not page tokens123124### 5. Configure Server Settings125126**When to use**: User wants to view or modify Postmark server configuration127128**Tool sequence**:1291. `POSTMARK_GET_SERVER` - Retrieve current server settings [Required]1302. `POSTMARK_EDIT_SERVER` - Update server configuration [Optional]131132**Key parameters**:133- `Name`: Server display name134- `SmtpApiActivated`: Enable/disable SMTP API access135- `BounceHookUrl`: Webhook URL for bounce notifications136- `InboundHookUrl`: Webhook URL for inbound email processing137- `TrackOpens`: Enable/disable open tracking138- `TrackLinks`: Link tracking mode ('None', 'HtmlAndText', 'HtmlOnly', 'TextOnly')139140**Pitfalls**:141- Server edits affect all messages sent through that server142- Webhook URLs must be publicly accessible HTTPS endpoints143- Changing `SmtpApiActivated` affects SMTP relay access immediately144- Track settings apply to future messages only, not retroactively145146## Common Patterns147148### Template Variable Resolution149150```1511. Call POSTMARK_GET_TEMPLATE with TemplateId1522. Inspect HtmlBody/TextBody for {{variable}} placeholders1533. Build TemplateModel dict with matching keys1544. Call POSTMARK_VALIDATE_TEMPLATE to verify rendering155```156157### Pagination158159- Set `count` for results per page (varies by endpoint)160- Use `offset` to skip previously fetched results161- Increment offset by count each page until results returned < count162- Total records may be returned in response metadata163164## Known Pitfalls165166**Authentication**:167- Postmark uses server-level API tokens, not account-level168- Each server has its own token; ensure correct server context169- Sender addresses must be verified Sender Signatures or from verified domains170171**Rate Limits**:172- Batch send limited to 500 messages per call173- API rate limits vary by endpoint; implement backoff on 429 responses174175**Response Parsing**:176- Response data may be nested under `data` or `data.data`177- Parse defensively with fallback patterns178- Template IDs are always numeric integers179180## Quick Reference181182| Task | Tool Slug | Key Params |183|------|-----------|------------|184| Send batch templated emails | POSTMARK_SEND_BATCH_WITH_TEMPLATES | Messages, TemplateId/TemplateAlias |185| List templates | POSTMARK_LIST_TEMPLATES | Count, Offset, TemplateType |186| Get template details | POSTMARK_GET_TEMPLATE | TemplateId |187| Edit template | POSTMARK_EDIT_TEMPLATE | TemplateId, Name, Subject, HtmlBody |188| Validate template | POSTMARK_VALIDATE_TEMPLATE | TemplateId, TemplateModel |189| Delivery stats | POSTMARK_GET_DELIVERY_STATS | (none or date filters) |190| Outbound overview | POSTMARK_GET_OUTBOUND_OVERVIEW | fromdate, todate, tag |191| Get bounces | POSTMARK_GET_BOUNCES | count, offset, type, emailFilter |192| Get spam complaints | POSTMARK_GET_SPAM_COMPLAINTS | count, offset, fromdate, todate |193| Tracked email counts | POSTMARK_GET_TRACKED_EMAIL_COUNTS | fromdate, todate, tag |194| Get server config | POSTMARK_GET_SERVER | (none) |195| Edit server config | POSTMARK_EDIT_SERVER | Name, TrackOpens, TrackLinks |196197## When to Use198This skill is applicable to execute the workflow or actions described in the overview.199200## Limitations201- Use this skill only when the task clearly matches the scope described above.202- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.203- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.