activecampaign/postmark-skills/postmark-templates
Claude Code and agent skill by activecampaign/postmark-skills
- community
Checking that the SKILL.md file is still in the repository.
Use when creating, managing, or sending with Postmark server-side email templates — Handlebars syntax, layout inheritance, template validation, and cross-server pushing.
Install
npx vskill@latest install activecampaign/postmark-skills/postmark-templatesSKILL.md
Email Templates with Postmark
Overview
Postmark templates are server-side email templates using Handlebars syntax. Templates are rendered on Postmark's servers — no client-side rendering library needed.
| Feature | Description | |
|---|---|---|
| Syntax | Handlebars (Mustache-compatible) | |
| Rendering | Server-side — no React, no client library | |
| Types | Standard templates and Layout templates | |
| Inheritance | Standard templates can inherit from a Layout | |
| Validation | API endpoint to test-render templates before sending | |
| Cross-server | Push templates between servers (staging → production) | |
| Limit | 100 templates per server (contact support for more) |
Quick Start
- Create a template via API or the Postmark dashboard
- Define variables using Handlebars syntax:
{{variable_name}} - Send with template using
POST /email/withTemplateorPOST /email/batchWithTemplates - Pass data via
TemplateModel— Postmark renders and sends
Template Syntax (Handlebars)
See references/handlebars-syntax.md for the full syntax reference including conditionals, iteration with index, nested objects, and common mistakes.
Template Types
| Type | TemplateType | Sendable | Purpose | |
|---|---|---|---|---|
| Standard | "Standard" | Yes | Defines subject, HTML, and text body | |
| Layout | "Layout" | No | Reusable wrapper injected via {{{@content}}} |
Standard templates can reference a Layout via LayoutTemplate: "layout-alias". The Standard template's body replaces {{{@content}}} in the Layout at send time.
See references/layout-templates.md for layout creation, assignment, and examples.
API Endpoints
Template CRUD
| Endpoint | Method | Description | |
|---|---|---|---|
/templates | POST | Create a new template | |
/templates | GET | List all templates (?count=100&offset=0&templateType=Standard) | |
/templates/{idOrAlias} | GET | Get a single template | |
/templates/{idOrAlias} | PUT | Update a template | |
/templates/{idOrAlias} | DELETE | Delete a template | |
/templates/validate | POST | Validate template rendering | |
/templates/push | PUT | Push templates to another server |
Sending with Templates
| Endpoint | Method | Description | |
|---|---|---|---|
/email/withTemplate | POST | Send single email with template | |
/email/batchWithTemplates | POST | Send batch with templates (up to 500) |
Send with Template
Always use TemplateAlias over TemplateId — aliases survive re-creation and work across environments:
Validate a Template
Test-render without sending — useful in CI/CD before deploying template changes:
See references/template-api.md for full CRUD operations (create, list, update, delete), batch sending, validate, and push between servers.
Common Mistakes
| Mistake | Fix | |
|---|---|---|
Using {{html}} for HTML content | Use triple braces {{{html}}} for unescaped HTML | |
Forgetting {{{@content}}} in Layout | Layout templates must include {{{@content}}} placeholder | |
| Deleting a Layout with dependents | Remove layout association from Standard templates first | |
| Using Template ID across environments | Use TemplateAlias — it survives re-creation and works across servers | |
| Not validating before deploy | Use /templates/validate to test-render before sending | |
| Sending a Layout directly | Layouts are wrappers — you can only send Standard templates | |
| Missing TemplateModel fields | Handlebars renders missing variables as empty strings — validate your data | |
| Exceeding 100 templates | Contact Postmark support to increase the per-server limit |
Notes
- Templates use Handlebars (Mustache-compatible) syntax — no React or client-side rendering needed
- Template aliases are strings; template IDs are integers — prefer aliases for portability
TemplateTypeis eitherStandard(sendable) orLayout(wrapper)- Layout inheritance: Standard template body replaces
{{{@content}}}in the Layout - Push templates between servers using the Account Token (not Server Token)
- Maximum 100 templates per server by default
- Template validation (
/templates/validate) lets you test-render without sending - Both
TemplateIdandTemplateAliaswork for sending — use one, not both
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingpostmark-templates/SKILL.md
Popularity
- Repository stars
- 31
- 7-day trend score
- 17
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 18 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/activecampaign/postmark-skills/postmark-templates)