Skip to main content
Template variables let you personalize playbook notifications, nudges, scorecard emails, and report messages without writing separate copy for every recipient. The platform resolves each {{ token }} against directory data, the run context, and the triggering event before the message is delivered.

Syntax

All template variables use Mustache-style double braces:
  • Whitespace inside the braces is optional. {{recipient.firstName}}, {{ recipient.firstName }}, and {{ recipient.firstName }} all resolve identically.
  • Tokens are case-sensitive and use dot-notation for nested fields (recipient.firstName, not recipient.first_name).
  • Tokens use the canonical names below, but most accept short aliases for backward compatibility (see Aliases).
Unresolved tokens are rendered literally. If you type {{ recipient.firsName }} (typo) or reference a variable the template doesn’t support, the recipient will see the raw {{ recipient.firsName }} text in their inbox. Always preview a message before sending and validate any tokens you add.

Universal recipient variables

These tokens are available in every template (welcome emails, training notifications, nudges, scorecards, reports, and playbook-step messages).

Playbook step variables

When you author a playbook Send Nudge, Send Notification, or Webhook step, the recipient’s full directory record is available under the user namespace. These tokens work in subject lines, email bodies, Slack/Teams messages, and webhook body templates.
Custom attributes are configured per organization. The key after user.custom. must exactly match the attribute key shown in Settings → People → Custom Attributes.

Risk and signal variables (playbook steps only)

If your playbook step references a risk or signal token, the platform automatically enriches the recipient’s context with their current HRI data before sending. No extra configuration required.

Run context (advanced)

For webhook step body templates and branch expressions, the playbook run itself is addressable:

Per-template extras

Some platform-managed templates expose additional tokens specific to their purpose. Expand the template you’re editing to see its extra variables.
In addition to the universal recipient variables:
In addition to the universal recipient variables:
In addition to the universal recipient variables:
In addition to the universal recipient variables:
In addition to the universal recipient variables:
In addition to the universal recipient variables:
In addition to the universal recipient variables:
Uses the universal recipient variables only, including system.engageUrl and system.engageScorecardUrl for Engage deep links.
In addition to the universal recipient variables:
The certificate/badge delivery email sent when an achievement is issued. This template supports a focused variable set (not the full universal list):
Prefer achievement.badgeImageHtml and achievement.claimCtaHtml over hand-built <img>/<a> blocks: they render as empty strings when the badge or claim link is unavailable, so your template degrades cleanly instead of shipping a broken image or dead link.

Aliases

To stay backward compatible with older content, several tokens accept short or legacy aliases. The platform automatically canonicalizes them at render time, so all variants below resolve to the same value.
Prefer the canonical dot-notation form (recipient.firstName) in new content. Aliases exist for older templates and may be retired in a future release.

Examples

Training assignment notification

Point-in-time nudge after a risky behavior

Scorecard email to a people-manager

Webhook step body using custom attributes

Where to use these

Creating Nudges

Author nudge templates in Content Studio.

Editing Playbooks

Configure notification, nudge, and webhook steps inside a playbook.

Creating Playbooks

Build a new playbook from scratch.

Glossary

Definitions for HRI, signals, cohorts, and other terms used above.