[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-efb741a5-d9bd-4e46-a904-3fd45afe1642":3,"$fECX3evCkOzPfmwgJvWjunxme4VTEbfdY5aTavgij4W8":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"efb741a5-d9bd-4e46-a904-3fd45afe1642","postmark-automation","通过Rube MCP（Composio）自动化Postmark电子邮件投递任务：发送模板邮件、管理模板、监控投递统计和退信。始终首先搜索当前架构的工具。","cat_prod_automation","mod_productivity","sickn33,productivity","---\nname: postmark-automation\ndescription: \"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.\"\nrisk: critical\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# Postmark Automation via Rube MCP\n\nAutomate Postmark transactional email operations through Composio's Postmark toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Postmark connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `postmark`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `postmark`\n3. If connection is not ACTIVE, follow the returned auth link to complete Postmark authentication\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Send Templated Batch Emails\n\n**When to use**: User wants to send templated emails to multiple recipients in one call\n\n**Tool sequence**:\n1. `POSTMARK_LIST_TEMPLATES` - Find available templates and their IDs [Prerequisite]\n2. `POSTMARK_VALIDATE_TEMPLATE` - Validate template with model data before sending [Optional]\n3. `POSTMARK_SEND_BATCH_WITH_TEMPLATES` - Send batch emails using a template [Required]\n\n**Key parameters**:\n- `TemplateId` or `TemplateAlias`: Identifier for the template to use\n- `Messages`: Array of message objects with `From`, `To`, `TemplateModel`\n- `TemplateModel`: Key-value pairs matching template variables\n\n**Pitfalls**:\n- Maximum 500 messages per batch call\n- Either `TemplateId` or `TemplateAlias` is required, not both\n- `TemplateModel` keys must match template variable names exactly (case-sensitive)\n- Sender address must be a verified Sender Signature or from a verified domain\n\n### 2. Manage Email Templates\n\n**When to use**: User wants to create, edit, or inspect email templates\n\n**Tool sequence**:\n1. `POSTMARK_LIST_TEMPLATES` - List all templates with IDs and names [Required]\n2. `POSTMARK_GET_TEMPLATE` - Get full template details including HTML\u002Ftext body [Optional]\n3. `POSTMARK_EDIT_TEMPLATE` - Update template content or settings [Optional]\n4. `POSTMARK_VALIDATE_TEMPLATE` - Test template rendering with sample data [Optional]\n\n**Key parameters**:\n- `TemplateId`: Numeric template ID for GET\u002FEDIT operations\n- `Name`: Template display name\n- `Subject`: Email subject line (supports template variables)\n- `HtmlBody`: HTML content of the template\n- `TextBody`: Plain text fallback content\n- `TemplateType`: 'Standard' or 'Layout'\n\n**Pitfalls**:\n- Template IDs are numeric integers, not strings\n- Editing a template replaces the entire content; include all fields you want to keep\n- Layout templates wrap Standard templates; changing a layout affects all linked templates\n- Validate before sending to catch missing variables early\n\n### 3. Monitor Delivery Statistics\n\n**When to use**: User wants to check email delivery health, open\u002Fclick rates, or outbound overview\n\n**Tool sequence**:\n1. `POSTMARK_GET_DELIVERY_STATS` - Get bounce counts by type [Required]\n2. `POSTMARK_GET_OUTBOUND_OVERVIEW` - Get sent\u002Fopened\u002Fclicked\u002Fbounced summary [Required]\n3. `POSTMARK_GET_TRACKED_EMAIL_COUNTS` - Get tracked email volume over time [Optional]\n\n**Key parameters**:\n- `fromdate`: Start date for filtering stats (YYYY-MM-DD)\n- `todate`: End date for filtering stats (YYYY-MM-DD)\n- `tag`: Filter stats by message tag\n- `messagestreamid`: Filter by message stream (e.g., 'outbound', 'broadcast')\n\n**Pitfalls**:\n- Date parameters use YYYY-MM-DD format without time component\n- Stats are aggregated; individual message tracking requires separate API calls\n- `messagestreamid` defaults to all streams if not specified\n\n### 4. Manage Bounces and Complaints\n\n**When to use**: User wants to review bounced emails or spam complaints\n\n**Tool sequence**:\n1. `POSTMARK_GET_BOUNCES` - List bounced messages with details [Required]\n2. `POSTMARK_GET_SPAM_COMPLAINTS` - List spam complaint records [Optional]\n3. `POSTMARK_GET_DELIVERY_STATS` - Get bounce summary counts [Optional]\n\n**Key parameters**:\n- `count`: Number of records to return per page\n- `offset`: Pagination offset for results\n- `type`: Bounce type filter (e.g., 'HardBounce', 'SoftBounce', 'SpamNotification')\n- `fromdate`\u002F`todate`: Date range filters\n- `emailFilter`: Filter by recipient email address\n\n**Pitfalls**:\n- Bounce types include: HardBounce, SoftBounce, SpamNotification, SpamComplaint, Transient, and others\n- Hard bounces indicate permanent delivery failures; these addresses should be removed\n- Spam complaints affect sender reputation; monitor regularly\n- Pagination uses `count` and `offset`, not page tokens\n\n### 5. Configure Server Settings\n\n**When to use**: User wants to view or modify Postmark server configuration\n\n**Tool sequence**:\n1. `POSTMARK_GET_SERVER` - Retrieve current server settings [Required]\n2. `POSTMARK_EDIT_SERVER` - Update server configuration [Optional]\n\n**Key parameters**:\n- `Name`: Server display name\n- `SmtpApiActivated`: Enable\u002Fdisable SMTP API access\n- `BounceHookUrl`: Webhook URL for bounce notifications\n- `InboundHookUrl`: Webhook URL for inbound email processing\n- `TrackOpens`: Enable\u002Fdisable open tracking\n- `TrackLinks`: Link tracking mode ('None', 'HtmlAndText', 'HtmlOnly', 'TextOnly')\n\n**Pitfalls**:\n- Server edits affect all messages sent through that server\n- Webhook URLs must be publicly accessible HTTPS endpoints\n- Changing `SmtpApiActivated` affects SMTP relay access immediately\n- Track settings apply to future messages only, not retroactively\n\n## Common Patterns\n\n### Template Variable Resolution\n\n```\n1. Call POSTMARK_GET_TEMPLATE with TemplateId\n2. Inspect HtmlBody\u002FTextBody for {{variable}} placeholders\n3. Build TemplateModel dict with matching keys\n4. Call POSTMARK_VALIDATE_TEMPLATE to verify rendering\n```\n\n### Pagination\n\n- Set `count` for results per page (varies by endpoint)\n- Use `offset` to skip previously fetched results\n- Increment offset by count each page until results returned \u003C count\n- Total records may be returned in response metadata\n\n## Known Pitfalls\n\n**Authentication**:\n- Postmark uses server-level API tokens, not account-level\n- Each server has its own token; ensure correct server context\n- Sender addresses must be verified Sender Signatures or from verified domains\n\n**Rate Limits**:\n- Batch send limited to 500 messages per call\n- API rate limits vary by endpoint; implement backoff on 429 responses\n\n**Response Parsing**:\n- Response data may be nested under `data` or `data.data`\n- Parse defensively with fallback patterns\n- Template IDs are always numeric integers\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| Send batch templated emails | POSTMARK_SEND_BATCH_WITH_TEMPLATES | Messages, TemplateId\u002FTemplateAlias |\n| List templates | POSTMARK_LIST_TEMPLATES | Count, Offset, TemplateType |\n| Get template details | POSTMARK_GET_TEMPLATE | TemplateId |\n| Edit template | POSTMARK_EDIT_TEMPLATE | TemplateId, Name, Subject, HtmlBody |\n| Validate template | POSTMARK_VALIDATE_TEMPLATE | TemplateId, TemplateModel |\n| Delivery stats | POSTMARK_GET_DELIVERY_STATS | (none or date filters) |\n| Outbound overview | POSTMARK_GET_OUTBOUND_OVERVIEW | fromdate, todate, tag |\n| Get bounces | POSTMARK_GET_BOUNCES | count, offset, type, emailFilter |\n| Get spam complaints | POSTMARK_GET_SPAM_COMPLAINTS | count, offset, fromdate, todate |\n| Tracked email counts | POSTMARK_GET_TRACKED_EMAIL_COUNTS | fromdate, todate, tag |\n| Get server config | POSTMARK_GET_SERVER | (none) |\n| Edit server config | POSTMARK_EDIT_SERVER | Name, TrackOpens, TrackLinks |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,124,1404,"2026-05-16 13:34:32",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"效率工具","productivity","mdi-lightning-bolt-outline","文档处理、数据分析、自动化工作流",4,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"自动化","automation","mdi-robot-outline","工作流自动化、批处理",3,101,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"5d29ccf7-73fc-4b90-bb0e-aa32f6453d56","1.0.0","postmark-automation.zip",3393,"uploads\u002Fskills\u002Fefb741a5-d9bd-4e46-a904-3fd45afe1642\u002Fpostmark-automation.zip","769099f0fe0e45d2687f7fb60bc5a27f83aa8633efb10edbd34037a14b786424","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":8345}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]