Mailzzy MCP templates update
mcp_crm_templates_updateUpdate an existing email template (partial PATCH: send only the fields to change) for the authenticated tenant. Use when the user wants to edit a template's name, content, or category. Templates do not store a subject line; set the subject when drafting a campaign with mcp_crm_campaign_drafts_create. Requires the template's current version token (from mcp_crm_templates_get/list): if it is stale the update returns conflict — re-fetch the template for the current version and retry ONCE. Changed content is validated as Velocity syntax BEFORE saving; a malformed template is rejected with template_syntax_error and nothing is persisted. The template owner is set server-side and cannot be changed. IMAGES: when you change the content, source every from mcp_crm_assets_image_import or mcp_crm_assets_image_upload and never invent an image URL. External image URLs left in the content are re-hosted on the account's CDN automatically. Tenant is bound to the session and cannot be changed via tool arguments.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"templateId": "<templateId>",
"version": "<version>"
},
"name": "mcp_crm_templates_update"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New template name | |
| tokens | No | New comma-separated merge tokens | |
| content | No | New email body as HTML/Velocity (validated before save). Source every <img src> from mcp_crm_assets_image_import or mcp_crm_assets_image_upload; external image URLs are re-hosted on the account CDN on save | |
| version | Yes | Current concurrency token from get/list (etag); stale => conflict | |
| category | No | New template category/folder | |
| templateId | Yes | Numeric id of the template to update | |
| jsonContent | No | New Unlayer JSON design payload |