Templates
A template is reusable email content: a subject, an HTML and/or plain-text body, and {{ placeholder }} variables filled in at send time.
Draft and published
status is draft or published, and it is enforced rather than decorative: a draft cannot be used to send.
POST /v1/sendwith a drafttemplate_idreturns422(notifyzr.template.error.not_published) before the message row is written and before any quota is spent.- An automation action referencing a draft records the step as
skipped, since there is no caller to hand a422to.
A newly created template defaults to draft. An update that omits status keeps the stored one — the editor saves constantly and must never unpublish your live content by accident.
A draft may be empty; publishing requires at least one body.
Placeholders
String fields support {{ dot.path }} interpolation against the send's variables:
{
"message": {
"subject": "Welcome, {{ contact.name }}",
"template_id": "…"
},
"variables": { "contact": { "name": "Ada" } }
}In an automation, the paths resolve against the triggering event — for example {{ data.values.email }} for a form submission.
Folders
Templates can be organised into folders via /v1/template-folders and moved with POST /v1/templates/{id}/move. Folders are organisational only; they do not affect resolution.