Skip to main content
A template stores the subject and body of a message separately from the data that fills it in, so your application code sends template_id and a data object instead of building HTML or SMS copy on every request.

Creating a template

Variables use {{ variable }} syntax. Any variable referenced in the template must be present in template_data when you send a message, or the field renders empty.

Sending with a template

subject and html/text from the template are merged with anything you pass directly on the message — fields on the message always win, so you can override a template’s subject for a single send without creating a new template.

Versioning

Every time you update a template’s body, Pulsewave increments its version. Messages keep a reference to the version that was current when they were sent, so editing a template never changes the content of messages that already went out — only future sends pick up the new version.

Channel constraints

A template’s channel is fixed at creation and must match the channel of any message that uses it. An email template can’t be used to send an sms message.