Skip to Content
Product guidesTransactional templates

Author transactional templates

Transactional templates separate application code from message copy and delivery configuration. Your backend calls a stable template key; Engage resolves a published version, validates variables, localizes content, and enqueues push.

Engage transactional template inventory with stable keys, lifecycle, apps, locales, sends, delivery, and last-used data
Transactional inventory is organized around stable server-facing keys and independently versioned content.

Define the contract

Choose a key such as order_shipped. Once published, the key is immutable because server code depends on it. Add a name and description for operators, then select target apps.

Define every variable before using it in content:

TypeExample
Stringcustomer name, order reference
Numbertotal, quantity
Booleanfeature or state switch
Dateexpected arrival
URLreceipt or tracking destination

Each variable has a stable ID/name, required flag, description, and optional default. Publish fails when content or tests violate the variable contract.

Engage transactional template editor with setup, app targets, variable contract, localized content, and delivery policy steps
The authoring flow treats variables as a caller contract before localized content can reference them.

Localize content

Set a default locale and optional fallback. Each variant can define title, body, deep link, and custom data. A send may request a locale; the response reports the locale actually resolved and any diagnostics.

Delivery policy

  • TTL bounds provider delivery relevance.
  • Priority is normal or high.
  • Per-minute rate limit protects downstream/provider capacity.
  • Deduplication window complements request idempotency.

Test and activate

Use a test group from the console to render variables and send to real devices. Verify missing/default variables, every locale, both platforms, provider configuration, deep link, and custom data.

Activating publishes the current draft version. Subsequent edits create a new draft without mutating the active version until the next activation. Versions record actor, timestamp, state, definition, and note; an older version can be restored into a draft.

Engage transactional template detail with locale content, variables, test sending, API quickstart, delivery policy, and version history
Operators can render and send a test from the same immutable record used to inspect API usage and prior versions.

Server integration

Create a scoped access key and call the public endpoint with an idempotencyKey. See Transactional push API.

Lifecycle

Templates are draft, active, inactive, or archived. Inactive/archived templates reject public sends. Published templates report sent, delivered, failed, and last-used statistics.