mailerpress/create-template creates a new MailerPress email template.
It requires a name, at least one entry in categories, and a content block-editor JSON body.
At a glance
| Ability | mailerpress/create-template |
| Toolset | MailerPress — toolset/mailerpress |
| Group | MailerPress › Templates |
| Requires | AcrossAI Pro, plus MailerPress active on the site |
| Capability | manage_options |
| Safety | Writes data |
| Repeatable | Not idempotent — each call changes the row set, so re-running is not a no-op |
| Ships in | AcrossAI Pro 0.9.16 and later |
How it works
Unknown category names are auto-created as new template categories. That is convenient and it means a typo produces a category rather than an error — and nothing merges them afterwards.
On a site where several people create templates, the category list drifts into near-duplicates: “Newsletters”, “newsletter”, “News letters”.
Reading mailerpress/list-templates first and reusing an existing category string exactly is the only prevention.
usage_type defaults to newsletter and describes what kind of email the template is for, which affects where MailerPress offers it.
The content is the block-editor JSON. A template created with JSON and no compiled HTML will produce campaigns in the same state, so mailerpress/save-template-content is usually the immediate follow-up.
Not idempotent.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
name | string | Yes | The template name. |
categories | array | Yes | At least one. Unknown names are auto-created. |
content | object | Yes | The block-editor JSON body. |
usage_type | string | No — defaults to newsletter | What kind of email the template is for. |
What comes back
| Name | Type | What it is |
|---|---|---|
template | object | The created template. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation. |
Example
Ask your assistant:
Create a newsletter template.
It resolves to one call:
{
"ability": "mailerpress/create-template",
"parameters": {
"name": "Monthly newsletter",
"categories": ["Newsletters"],
"content": {}
}
}Worth knowing
- A typo in a category name creates a category, and nothing merges them later.
- Reuse the exact existing string.
- JSON without compiled HTML propagates to every campaign built from it.
- Not idempotent.
Related abilities
- MailerPress Save Template Content — compile the HTML
- MailerPress List Templates — find an existing category string
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category