{"id":"6eff7da1-adeb-4597-884b-ca4831569c04","shortId":"yW38CA","kind":"skill","title":"postmark-automation","tagline":"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.","description":"# 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://rube.app/mcp` 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/text 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/EDIT 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/click 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/opened/clicked/bounced 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`/`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/disable SMTP API access\n- `BounceHookUrl`: Webhook URL for bounce notifications\n- `InboundHookUrl`: Webhook URL for inbound email processing\n- `TrackOpens`: Enable/disable 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/TextBody 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 < 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/TemplateAlias |\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.","tags":["postmark","automation","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-postmark-automation","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/postmark-automation","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34616 github stars · SKILL.md body (8,046 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-23T00:51:24.636Z","embedding":null,"createdAt":"2026-04-18T21:42:36.346Z","updatedAt":"2026-04-23T00:51:24.636Z","lastSeenAt":"2026-04-23T00:51:24.636Z","tsv":"'/mcp':86 '1':106,153,175,296,439,557,676,768 '2':118,186,278,308,450,567,685,775 '3':126,198,320,418,459,577,781 '4':141,330,538,788 '429':885 '5':658 '500':241,872 'access':703,744,752 'account':843 'account-level':842 'action':1036 'activ':58,131,146 'add':83,100 'address':266,620,639,856 'affect':406,645,732,749 'aggreg':522 'alway':23,68,906 'api':96,528,702,839,876 'appli':756 'applic':1030 'array':223 'ask':1074 'auth':135 'authent':140,833 'autom':3,4,31,35 'avail':57,111,180 'backoff':883 'batch':156,201,205,244,868,917,922 'bodi':318 'bounc':22,445,540,550,560,562,583,603,622,633,708,978,981 'bouncehookurl':704 'boundari':1082 'broadcast':507 'build':782 'call':69,119,172,245,529,769,789,875 'case':263 'case-sensit':262 'catch':414 'chang':403,747 'check':428 'clarif':1076 'clear':1049 'client':93 'common':763 'complaint':542,554,571,574,644,988,992 'complet':138 'compon':519 'composio':12,41 'config':1010,1017 'configur':94,659,673,691 'confirm':113,142 'connect':53,60,64,122,128,143 'content':326,363,371,390 'context':854 'core':151 'correct':852 'count':446,464,585,589,652,798,816,822,932,982,993,999,1004 'creat':288 'criteria':1085 'current':28,76,681 'data':194,339,890,895 'data.data':897 'date':476,486,509,612,966 'dd':483,493,515 'default':531 'defens':899 'deliveri':7,19,420,430,442,580,636,958,962 'describ':1037,1053 'detail':315,565,937 'dict':784 'display':352,697 'domain':277,865 'e.g':505,606 'earli':417 'edit':289,322,384,687,731,942,945,1015,1019 'either':246 'email':6,15,38,157,166,206,280,292,355,429,463,467,551,619,715,919,998,1003 'emailfilt':615,985 'enable/disable':700,718 'end':485 'endpoint':102,746,805,881 'ensur':851 'entir':389 'environ':1065 'environment-specif':1064 'exact':261 'execut':1032 'expert':1070 'failur':637 'fallback':370,901 'fetch':811 'field':393 'filter':478,488,495,501,605,614,616,967 'find':179 'first':26,73 'follow':132 'format':516 'fromdat':474,610,974,995,1005 'full':313 'futur':758 'get':75,80,310,312,441,444,452,455,461,465,559,569,579,582,678,771,935,939,961,971,977,980,986,990,1001,1008,1012 'get/edit':348 'hard':632 'hardbounc':607,625 'health':431 'html':362 'html/text':317 'htmlandtext':726 'htmlbodi':361,950 'htmlbody/textbody':777 'htmlon':727 'https':745 'id':184,304,346,378,904 'identifi':216 'immedi':753 'implement':882 'inbound':714 'inboundhookurl':710 'includ':316,391,624 'increment':813 'indic':634 'individu':523 'input':1079 'inspect':291,776 'integ':381,908 'keep':397 'key':97,211,233,255,341,472,587,693,787,914 'key-valu':232 'known':831 'layout':375,398,405 'level':838,844 'limit':867,870,878,1041 'line':357 'link':136,408,722 'list':177,298,300,561,572,927,930 'manag':16,63,121,279,539 'match':236,257,786,1050 'maximum':240 'may':825,891 'mcp':11,34,47,50,82,89,109 'messag':222,225,242,498,503,524,563,734,759,873,925 'messagestreamid':500,530 'metadata':830 'miss':415,1087 'mm':482,492,514 'mode':724 'model':193 'modifi':670 'monitor':18,419,648 'multipl':168 'must':51,256,267,741,857 'name':260,306,350,353,695,698,948,1021 'need':98 'nest':893 'none':725,964,1014 'notif':709 'number':590 'numer':344,380,907 'object':226 'offset':597,599,654,807,814,933,983,994 'one':171 'open':719 'open/click':432 'oper':39,349 'option':197,319,329,340,471,576,586,692 'other':631 'outbound':435,453,506,968,972 'output':1059 'overview':436,454,969,973,1040 'page':596,656,802,818 'pagin':598,650,796 'pair':235 'param':915 'paramet':212,342,473,510,588,694 'pars':888,898 'pattern':764,902 'per':243,595,801,874 'perman':635 'permiss':1080 'pitfal':239,376,508,621,729,832 'placehold':780 'plain':368 'postmark':2,5,30,36,43,59,67,125,139,176,187,199,297,309,321,331,440,451,460,558,568,578,671,677,686,770,790,834,920,929,938,944,953,960,970,979,989,1000,1011,1018 'postmark-autom':1 'prerequisit':48,185 'previous':810 'process':716 'public':743 'quick':909 'rang':613 'rate':433,866,877 'recipi':169,618 'record':575,592,824 'refer':910 'regular':649 'relay':751 'remov':642 'render':336,795 'replac':387 'reput':647 'requir':210,251,307,449,458,526,566,684,1078 'resolut':767 'respond':117 'respons':829,886,887,889 'result':601,800,812,820 'retriev':680 'retroact':762 'return':134,594,821,827 'review':549,1071 'rube':10,33,46,49,54,62,70,81,108,114,120 'rube.app':85 'rube.app/mcp':84 'run':148 'safeti':1081 'sampl':338 'schema':29,78 'scope':1052 'search':24,55,71,115 'send':13,154,164,196,200,204,412,869,916,921 'sender':265,271,646,855,860 'sensit':264 'sent':735 'sent/opened/clicked/bounced':456 'separ':527 'sequenc':174,295,438,556,675 'server':90,660,672,679,682,688,690,696,730,738,837,846,853,1009,1013,1016,1020 'server-level':836 'set':328,661,683,755,797 'setup':79 'show':145 'signatur':272,861 'skill':1028,1044 'skill-postmark-automation' 'skip':809 'slug':913 'smtp':701,750 'smtpapiactiv':699,748 'softbounc':608,626 'source-sickn33' 'spam':553,570,573,643,987,991 'spamcomplaint':628 'spamnotif':609,627 'specif':1066 'specifi':537 'standard':373,401 'start':475 'stat':20,443,479,489,496,520,581,959,963 'statist':421 'status':144 'stop':1072 'stream':504,534 'string':383 'subject':354,356,949 'substitut':1062 'success':1084 'summari':457,584 'support':358 'tag':494,499,976,1007 'task':8,911,1048 'templat':14,17,155,165,178,181,189,191,203,209,219,237,258,281,293,299,302,311,314,323,325,333,335,345,351,359,366,377,386,399,402,409,765,772,792,903,918,924,928,931,936,940,943,946,952,955 'templatealia':215,249 'templateid':213,247,343,774,941,947,956 'templateid/templatealias':926 'templatemodel':230,231,254,783,957 'templatetyp':372,934 'test':334,1068 'text':369 'textbodi':367 'texton':728 'time':470,518 'todat':484,611,975,996,1006 'token':657,840,850 'tool':25,56,72,77,116,173,294,437,555,674,912 'toolkit':44,66,124 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'total':823 'track':462,466,525,720,723,754,997,1002 'tracklink':721,1023 'trackopen':717,1022 'transact':37 'transient':629 'treat':1057 'type':448,602,604,623,984 'updat':324,689 'url':706,712,740 'use':160,207,221,284,424,511,545,651,664,806,835,1026,1042 'user':161,285,425,546,665 'valid':188,190,332,410,791,951,954,1067 'valu':234 'vari':803,879 'variabl':238,259,360,416,766,779 'verifi':107,270,276,794,859,864 'via':9,32,45,61 'view':668 'volum':468 'want':162,286,395,426,547,666 'webhook':705,711,739 'without':517 'work':105 'workflow':150,152,1034 'wrap':400 'yyyi':481,491,513 'yyyy-mm-dd':480,490,512","prices":[{"id":"97e18877-970b-411d-bb55-1e7050cf085e","listingId":"6eff7da1-adeb-4597-884b-ca4831569c04","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:42:36.346Z"}],"sources":[{"listingId":"6eff7da1-adeb-4597-884b-ca4831569c04","source":"github","sourceId":"sickn33/antigravity-awesome-skills/postmark-automation","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/postmark-automation","isPrimary":false,"firstSeenAt":"2026-04-18T21:42:36.346Z","lastSeenAt":"2026-04-23T00:51:24.636Z"}],"details":{"listingId":"6eff7da1-adeb-4597-884b-ca4831569c04","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"postmark-automation","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34616,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-22T06:40:00Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"56f12555420d4b9b35b67fd6d356dbee360d8264","skill_md_path":"skills/postmark-automation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/postmark-automation"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"postmark-automation","description":"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."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/postmark-automation"},"updatedAt":"2026-04-23T00:51:24.636Z"}}