Email Templates

>What are Email Templates?

>Actions for Email Templates

>Editing Email Templates

>Adding Dynamic Content to Email Templates

New to Sentinel EMS?
See How to Use Sentinel EMS?

What are Email Templates?

An email template is a file that provides a predefined format and default content for the emails that are used to notify Sentinel EMS users. Email templates also use placeholders that dynamically fetch value using REST API calls. The REST API calls retrieve JSON data objects whose parameters are then used as placeholders in the email templates. Some placeholders are created using static data references. The following table displays the email templates available in Sentinel EMS along with their REST API calls:

Template Display Name Description

API Calls for Templates

(JSON data objects and API calls to retrieve the data objects)

Entitlementcertificate.emst New Entitlement - Notify Contact

Email template that includes details of an entitlement certificate. Used for notifying a contact that an entitlement was generated.

NOTE   For leased-based and connected licenses, to modify the license certificate title, it is recommended that you edit the title of the template by using the following code:

<td style="font-size: 24px;"><#if (config.isLicenseCertificate)??> <#if (config.isLicenseCertificate)!false> License Certificate </#if> <#else> Entitlement Certificate </#if></td>

>data.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId)

Entitlementexpiringemail.emst Entitlements - Expiring Soon Email template for notifying a user about entitlements that are about to expire. Specifies the number of days remaining.

>data.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId)

> data.contact: Get Contact Response (/ems/api/v5/contacts/contactId)

Entitlementexpiredemail.emst Entitlements - Expired Email template for notifying a user about entitlements that have recently expired. Lists the relevant entitlements.

>data.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId)

> data.contact: Get Contact Response (/ems/api/v5/contacts/contactId)

Entitlementnotactivatedemail.emst Entitlements - Never Activated Email template for notifying a user about entitlements that have never been activated.

>data.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId)

> data.contact: Get Contact Response (/ems/api/v5/contacts/contactId)

Licensecertificate.emst License Certificate Email template that includes details of a license certificate. Used for notifying a contact that a license was generated.

>data.activation: Get Activation Response (/ems/api/v5/activations/activationId)

The following are the static references used:

>data.activation.licenseKeyData

>data.activation.suite

> data.activation.product

Devicelicensecertificate.emst License Certificate for Device Email template that includes details of a license certificate for use on a specific device. Used for notifying a contact that a license was generated.

>data.activation: Get Activation Response (/ems/api/v5/activations/activationId)

The following are the static references used:

>data.activation.licenseKeyData

>data.activation.suite

> data.activation.product

Fitlicensecertificate.emst Sentinel Fit License Certificate Email template that includes details of a license certificate. Used for notifying a contact that a license was generated using Sentinel Fit enforcement.

>data.activation: Get Activation Response (/ems/api/v5/activations/activationId)

The following are the static references used:

>data.activation.licenseKeyData

>data.activation.suite

> data.activation.product

LicenseCertificateReprint.emst Reprint License Certificate Email template that includes details of license certificates for reprinting multiple activations. Used for notifying all contacts specified for reprint.

>data.activations: Search Activations Response (/ems/api/v5/activations)

Forgotpasswordcertificate.emst Forgot Certificate Password Email template that contains information required to log in if password is forgotten. The notification is sent to the user whose email is specified as part of the credentials.

>Static fields (data.name, data.password)

Batchentitlementcertificateemail.emst Batch Entitlement Certificate Email template that includes details of the entitlement certificate for a batch entitlement. Used for notifying a channel partner that a batch entitlement certificate was generated.

>data.entitlements: Search Entitlements Response(/ems/api/v5/entitlements)

Batchdetailssuccess.emst Batch Creation Success Email template for notifying a user that a batch job was successfully created.

>data.entitlements: Search Entitlements Response(/ems/api/v5/entitlements)

Batchdetailsfailure.emst Batch Creation Failure Email template for notifying a user that a batch job could not be created.

>data.entitlements: Search Entitlements Response(/ems/api/v5/entitlements)

Revocationrequest.emst Revocation Request Email template for notifying contacts about revocation requests.

>data.activation: Get Activation Response (/ems/api/v5/activations/activationId)

>data.embed.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId)

Revocationproofreceived.emst Revocation Proof Received Email template used by a software vendor to confirm the receipt of proof of revocation.

>data.activation: Get Activation Response (/ems/api/v5/activations/activationId)

>data.embed.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId)

Revocationrequestrejected.emst Revocation Request Rejected Email template for notifying contacts about the rejected revocation requests.

>data.activation: Get Activation Response (/ems/api/v5/activations/activationId)

>data.embed.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId)

Revocationrecreditisvconfirmation.emst Revocation Recredited - Confirmation for Vendor Email template for notifying a software vendor that the entitlement quantity was recredited after a successful revocation.

>data.activation: Get Activation Response (/ems/api/v5/activations/activationId)

>data.embed.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId)

Markrevocationmanually.emst Manual Revocation Confirmation Email template for notifying a contact about a successful manual revocation.

>data.activation: Get Activation Response (/ems/api/v5/activations/activationId)

>data.embed.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId)

Productupgradeemail.emst Product Upgrade Email template for notifying users about a product upgrade. Sent after a product upgrade.

>data.entitlement: Get Entitlement Response (/ems/api/v5/entitlements/entitlementId)

>data.contact: Get Contact Response (/ems/api/v5/contacts/contactId)

Fileloademail.emst File Upload Email template for notifying a user that a file was uploaded for an entity, along with information about the data imported.

The following are the static references used:

>data.userName

>data.uploadDate

>data.fileType

>data.fileStatus

> data.fileName

> data.totalRecords

> data.recordsProcessed

Contactcertificate.emst Contact Creation Confirmation Email template for notifying a user that a contact was created successfully.

>data.contact: Get Contact Response (/ems/api/v5/contacts/contactId)

Resetpasswordemail.emst Password Reset Email template for notifying user to reset the password.

>data.password (static reference)

Cloudnotificationemail.emst Cloud-based Entitlement Notification Email template that includes details of a license certificate. Used for notifying a contact that a cloud-based entitlement was created. Not in use

Actions for Email Templates

The following table lists the actions available for email templates:

Action Description
New button New

Creates a new email template.

To create an email template.

1.Click the New action to open the Add Email Template page.

2.Select the Template Language from the list of languages specified.

3.In the Configure Email Template Language Attributes section, use the available tools to modify the template. See Editing Email Templates for details of these tools.

4.Click Save.

 

 

Edit button Edit

Updates existing email template. See Editing Email Templates to understand how to edit an email template. See also Adding Dynamic Content to Email Templates to understand how to add dynamic content to email templates.

Download button Download

Downloads the email template.

Editing Email Templates

The Edit action opens an email template in the email template editor. You can use the tools available in the editor to modify and format the email template as required. The following table describes the email template editor tools:

Tools Description
Undo
Erases the last change done to revert the email template to its previous state.
Redo
Restores the actions that have been previously undone using the Undo action.
Style
Various formatting styles defined by your theme.

Bold
Bolds the selected text.
Italic
Italicizes the selected text.
Underline
Underlines the selected text.
Text Color
Specifies or changes the font color. Click the arrow next to this tool and select a font color.
Background Color
Specifies or changes the background color. Click the arrow next to this tool and select a background color.
Align Left
Aligns the text to the left side of the page or the containing element.
Align Center
Aligns the text to the center of the page or the containing element.
Align Right
Aligns the text to the right side of the page or the containing element.
Justify
Alignment can only be applied to text and will align both sides of the text.
Bulleted List
Creates bullet points or bullet lists. Click the arrow next to this tool and specify the type of bullet.
Numbered List
Creates numbered points or numbered lists. Click the arrow next to this tool and select the numbering style.
Decrease Indent
Decreases the indentation space of the text or cursor from the margin on the left side of the page.
Increase Indent
Increases the indentation space of the text or cursor from the margin on the left side of the page.
Insert / Edit Link

Inserts or modifies a hyperlink.

To insert a hyperlink:

1.Click Insert / Edit Link to open the Insert / Edit Link dialog box.

2.Enter the URL, Text to Display, and Title.

3.Select Current Window or New Window to specify the window to open the target.

4.Click Save.

Insert / Edit Image

Inserts or modifies an image

To insert an image:

1.Click Insert / Edit Image to open the Insert / Edit Image dialog box.

2.Enter the Source, Image Description, Width, and Height of the image.

3.Click Save.

Table

Inserts a table. Also contains the tools that help to work with cells, rows, and columns in a table. The options in the table menu can also be accessed by right-clicking a selected table. Details of the tools to work with a table are given below:

Tools Description
Table
Inserts a table based on the cell selection from the table grid.
  Table Properties

Displays and allows you to update the following table properties:

General

>Width: The table width.

>Height: The table height.

>Cell Spacing: The distance between two cells.

>Cell Padding: The space between the text and the border of the cell.

>Border Width: The width of the table border.

>Show Caption: Specifies whether to display the table caption.

>Alignment: The alignment of the table as Left, Center, Right, or None.

Advanced

>Border Style: The border style as Solid, Dotted, Dashed, Double, Groove, Ridge, Inset, Outset, None, or Hidden.

>Border Color: The border color of the table.

>Background Color: The background color of the table.

Delete Table
Deletes the selected table.

Cell > Cell Properties

Displays and allows you to update the following cell properties:

General

>Width: The cell width.

>Height:The cell height.

>Cell Type: The type of cell as Cell or Header Cell.

>Scope: The scope of elements to which the properties will be applied. The scope can be specified as Row, Column, Row Group, Column Group, or None.

>Horizontal Alignment: The horizontal alignment of the text within the cell as Left, Center, Right, or None.

>Vertical Alignment: The vertical alignment of the text within the cell as Left, Center, Right, or None.

 

Advanced

>Border Style: The border style of the cell as Solid, Dotted, Dashed, Double, Groove, Ridge, Inset, Outset, None, or Hidden.

>Border Color: The border color of the cell.

>Background Color: The background color of the cell.

Cell > Merge
Merges the selected cells to one cell.
Cell > Split
Splits a single cell into two cells.
Row > Insert Row (Above)
Inserts new rows above the selected rows. The number of rows inserted is the same as the number of rows selected.
Row > Insert Row (Below)
Inserts new rows below the selected rows. The number of rows inserted is the same as the number of rows selected.
Row > Delete Row
Deletes the selected rows.
Row > Row Properties

Displays and allows you to update the following row properties:

General

>Row Type: The type of row as Header, Body, or Footer.

>Alignment: The alignment of the text within the row as Left, Center, Right, or None.

>Height: The height of the row.

 

Advanced

>Border Style: The border style of the row as Solid, Dotted, Dashed, Double, Groove, Ridge, Inset, Outset, None, or Hidden.

>Border Color: The border color of the row.

>Background Color: The background color of the row.

  Row > Cut
Cuts the selected row and places it in the clipboard.
  Row > Copy
Copies the selected row and places it in the clipboard.
  Row > Paste (Above)
Pastes the content of the clipboard above the selected row.
  Row > Paste (Below)
Pastes the content of the clipboard below the selected row.
Column > Insert Column (Left)
Inserts new columns to the left of the selected columns. The number of columns inserted is the same as the number of columns selected.
Column > Insert Column (Right)
Inserts new columns to the right of the selected columns. The number of columns inserted is the same as the number of columns selected.
Column > Delete Column
Deletes the selected column.
Source Code
Displays the HTML source code for the email template in the Source Code window. You can use this window to modify or format the email template using HTML elements.
Upload Template
Uploads an existing email template.
Save Template
Saves the changes made to the uploaded email template.

Adding Dynamic Content to Email Templates

The Sentinel EMS email templates are a combination of both static and dynamic data. The dynamic data is the information that changes and can be customized as required. You can use the JSON response of the Sentinel EMS REST APIs and basic knowledge of FreeMarker syntax to build dynamic content in the email templates. Examples of dynamic data are place holders, which are similar to variables that are part of your email template. You can also use conditional statements and list constructs to build your dynamic text.

Adding a Placeholder

Placeholders are variables that are part of your email templates. A placeholder is enclosed in curly brackets and preceded by the $ symbol. For example:

${name}


Within the curly brackets, you can enclose the placeholder name in parentheses followed by an ! symbol. This ensures that a null pointer exception is not thrown if the value for the placeholder variable is not found.

${(name)!}


The JSON response of the Sentinel EMS REST APIs is stored in the data object. With the knowledge of Sentinel EMS Rest API JSON response structures, the data object can be referenced to create place holders in the email template. For example:

${(data.entitlement.eid)!} 

In the example above the placeholder will display the value of the entitlement ID in an entitlement.

All Sentinel EMS configuration related information is available in the config object. The config object can be referenced to create place holders in the email template. For example:

${(config.supportEmailId)!} 

In the example above the placeholder will display the technical support email from the Administration Console. For more information on the config object, see Config Object Attributes.

You can also evaluate the value of a custom attribute by name. For example:

${(attributeValue("ATTRIBUTE_NAME", data.entitlement.customAttributes.customAttribute))!}

In the example above the placeholder will display the custom attribute name of entitlement using the JSON response stored in data object.

An example of inserting product custom attribute is given below:

${(customAttributeValue("cust_name", productKey.item.itemProduct.product.customAttributes.customAttribute))!}

You can also use the following logic to check for custom attributes that do not exist:

<#if (productKey.item.itemProduct.product.customAttributes.customAttribute)?has_content 
&& (productKey.item.itemProduct.product.customAttributes.customAttribute)??> ${(customAttributeValue("NewCust", 
productKey.item.itemProduct.product.customAttributes.customAttribute))!} </#if>

In the example above the placeholder "NewCust" is the custom attribute name of a product which is verified. You can verify the name of any custom attribute entity such as, entitlement , product, or product key.

Adding Conditional Constructs

The if else conditional constructs can be used to specify conditions for Sentinel EMS. Following is the syntax, that is used to specify the if conditions:

<#if condition>
...
<#else>
...
</#if>

You can also use the elseif construct with the if condition. The syntax for using elseif within the if condition is:

<#if condition>
...
<#elseif>
...
<#elseif>
...
</#if>

The elseif and the else constructs are optional.

In the following example of conditions in Sentinel EMS email templates, the if condition is used to display the text "No Expiration Date" if the entitlement end date is set as "Never Expires". The else construct displays the entitlement expiration date if the condition specified is false.

<#if (data.entitlement.expiry.neverExpires)!false>
  No Expiration Date 
<#else>
 ${(data.entitlement.expiry.endDate)!}
  </#if> 

Working with Lists

You can also list a sequence in email templates. The following syntax is used for listing a sequence:

<#list Sequence as Item>
    Part repeated for each Item
</#list>

The terms used in the syntax above are explained below:

>Sequence: Sequence or collection of the items that you want to iterate through

>Item: Name of the loop variable (not an expression)

In the following example data.entitlement.productKeys.productKey is the sequence, where the list condition is used to display all product names and versions in an entitlement.

<#list (data.entitlement.productKeys.productKey)! as productKey>
${(productKey.item.itemProduct.product.nameVersion.name)!}
${(productKey.item.itemProduct.product.nameVersion.version)!}
</#list>

Config Object Attributes

The attributes of the config object used in email templates are explained below:

Template Name

ConfigMap

Usage

MarkRevocationManually.emst

config.rid

Unique identifier for revocation.

RevocationRequest.emst

config.supportContactNo

Telephone number of technical support, retrieved from the Administration Console.

RevocationRequestRejected.emst

 

 

config.supportEmailId

Email of the technical support, retrieved from the Administration Console.

config.supportTeamName

Name of the technical support team, retrieved from the Administration Console.

config.revocationStatus

Revocation status of pending or complete messages.

config.revocationDate

Date of revocation.

RevocationRecreditISVConfirmation.emst

config.contactEmailId

Email of the activatee. An activatee is the contact, who performs the activation.

RevocationProofReceived.emst

 

config.rid

Unique identifier for revocation.

config.supportContactNo

Telephone number of technical support, retrieved from the Administration Console.

config.supportEmailId

Email of the technical support, retrieved from the Administration Console.

config.supportTeamName

Name of the technical support team, retrieved from the Administration Console.

config.revocationStatus

Revocation status of pending or complete messages.

config.revocationDate

Date of revocation.

EntitlementCertificate.emst

 

config.isVersionLess

Whether the entitlement is for a versionless product.

config.isConnected

Whether the entitlement includes products based on the Connected License Model.

config.isLease

Whether the entitlement includes products based on the Flexible License Model.

config.deploymentStatus

The deployment status of the entitlement:

>Deployed: Entitlement has been activated.

>Deployment Pending: Activation of the entitlement is pending.

config.contactName

Name of the contact, channel partner, or customer (in the order of preference specified here).

config.emailURL

The URL of the customer portal specified in the Administration Console.

config.supportContactNo

Telephone number of technical support, retrieved from the Administration Console.

config.supportEmailId

Email of the technical support, retrieved from the Administration Console.

config.supportTeamName

Name of the technical support team, retrieved from the Administration Console.

config.downloadShow

The value of a property in the Administration Console that specifies whether downloads are visible or hidden in the Sentinel EMS portal.

config.isMail

Identifier for an email which determines whether a salutation would be added or not.

FileLoadEmail.emst

 

config.supportContactNo

Telephone number of technical support, retrieved from the Administration Console.

config.supportEmailId

Email of the technical support, retrieved from the Administration Console.

config.supportTeamName

Name of the technical support team, retrieved from the Administration Console.

FitLicenseCertificate.emst

config.contactEmail

Email of the contact.

DeviceLicenseCertificate.emst

config.contactName

Name of the contact or customer.

LicenseCertificate.emst

 

config.supportContactNo

Telephone number of technical support, retrieved from the Administration Console.

config.supportEmailId

Email of the technical support, retrieved from the Administration Console.

config.supportTeamName

Name of the technical support team, retrieved from the Administration Console.

config.downloadShow

The value of a property in the Administration Console that specifies whether downloads are visible or hidden in the Sentinel EMS portal.

config.deviceName

Device name, which is a friendly representation of the locking information of a device.

ContactCertificate.emst

 

config.customerName

Customer name for a contact.

config.emailURL

The URL of the customer portal specified in the Administration Console.

config.supportContactNo

Telephone number of technical support, retrieved from the Administration Console.

config.supportEmailId

Email of the technical support, retrieved from the Administration Console.

config.supportTeamName

Name of the technical support team, retrieved from the Administration Console.

BatchDetailsSuccess.emst

 

config.batchId

Identifier of the batch job.

config.entitlementCount

Total number of entitlements in the batch.

BatchEntitlementCertificateEmail.emst

config.supportContactNo

Telephone number of technical support, retrieved from the Administration Console.

config.supportEmailId

Email of the technical support, retrieved from the Administration Console.

config.supportTeamName

Name of the technical support team, retrieved from the Administration Console.

config.batchId

Identifier of the batch job.

config.entitlementCount

Total number of entitlements in the batch.