Create or manage a notification
To get started, go to the notifications overview page. Select the plus (+) button to create a new notification. To edit an existing notification, select its wrench button.
Both buttons take you to the the Configure email notification page. This page contains two tabs: Settings and Message.
Settings tab
The Settings tab contains the following fields. Many of these fields support double curly brace syntax.
- Enable
Whether or not the notification is enabled. Disabled notifications are not sent out. - Use Raw HTML Template
Turn on to edit the email's raw HTML in the Message tab, instead of using the WYSIWYG editor. Internet Explorer users must use this option. - Name
The name of the notification. Should describe its purpose. - Event
The event within the target system that triggers the notification, such as Account Create. For more information, see the Event Types section below. - System
The target system that the notification is tied to. Some general notifications, such as Evaluation Summary, are not tied to a specific target system. Not displayed until you select an Event. Not displayed at all if the selected event is system-independent. - From
The email address from which notification emails will be sent. Can be a static username coupled with a domain selected from the dropdown menu, or a variable using double curly brace syntax. If you use a variable, ensure that the domain is one of the verified domains listed in the dropdown menu. The value will not be checked until emails are sent, at which time sending from unverified domains will fail. See Configure a custom 'from' address for emails to verify new domains. - To
The address to which the notification emails will be sent. Can be a variable such as{{Person.Contact.Personal.Email}}
, or a value pulled using the Account data from other systems or Manager account data options. See Variables. - Subject
The subject of the email. Can combine both static text and variables, such asA new account has been created for {{Person.DisplayName}}
, or a value pulled using the Account data from other systems or Manager account data options. See Variables. - Account data from other systems
If you are using data from another target system, that system's tile is displayed here. You can access this data in the email body under the Message tab, using the syntax{{person.accounts.variablename}}
. This syntax is case-insensitive. - Manager account data
This option is a special case of the Account data from other systems option. It lets you pull account data for the current Person's manager from a different target system. This is useful if you want to reference properties of the Person's manager (e.g., name or email address) which weren't available in the user's source system and thus couldn't be mapped onto the Person schema itself, but are available in another target system. When you use this option, HelloID automatically detects who the user's manager is.
When you select a target system and add it with the Add button, you are prompted to give it a key:
Subsequently, in the email body on the Message tab or in the To: or Subject fields, access variable(s) from the manager's account data using the following syntax:{{reference.manager.<key>.<variablename>||reference.manager.<key>.<fallbackvariablename>||"Fallback string"}}
. This syntax is case-insensitive. See Double curly brace syntax for more information about this syntax.
For example:{{reference.manager.MicrosoftAzureAd.givenname||"No givenname found"}}
This pulls the manager'sgivenname
variable from their user account in the Azure AD target system that you have given the keyMicrosoftAzureAd
.
You can include as many fallback options as necessary, separated by||
. These can be additional variables or strings. HelloID will evaluate the options from left to right, to find the first one that resolves. This is useful in case the user's manager isn't found, or there is some other exception.
Note that you can only access manager variables which you have stored in the Person object.
Message tab
The Message tab lets you customize the template for the notification email body.
Add a new element
Select the blocks icon in the top-right corner:
A menu appears on the right-hand side of the screen:
Select and drag one of the elements in this menu to add it to your email template:
Delete an element
Select an element, and then select its trashcan button:
Edit an element's design
Single-click an element and then select the style manager button to edit its design and layout properties.
A menu appears on the right-hand side of the screen with settings such as Dimension, Typography, and Decorations:
Select one of the menu's headings to expand it and change its options:
The following buttons also appear when an element is selected:
- Up arrow
Selects the parent element in the hierarchy. - Four-sided arrow
Select and drag to move the element. - Paper stack
Copy the element. - Trashcan
Delete the element.
Edit an element's content
To edit an element's content (e.g., the text in a text block), double-click it:
Use the text controls to format text with Bold, Italic, Underline, or Strikethough styling.
Create a link
- Select the desired text.
- Select the chain button in the text controls.
- Select the gear button. The text becomes a link.
- Select the link.
- Enter values in the Title, Href, and Target fields, to make the link functional.
Adjust the layout hierarchy
Select the menu button to open the layer manager:
Expand elements in the hierarchy by selecting their header arrows. Reorder elements by selecting and dragging an element's four-sided arrow button. Or, toggle an element's visibility by selecting its eye button.
Change company logo
Change the logo in the upper-left-hand corner of the notification in the Appearance settings. Notifications use the Company Icon logo.
Additional editor documentation
For documentation on advanced features in the editor, refer to https://grapesjs.com/.
Variables
The following variables are available in notifications:
- The current Person (
Person
) object - The current Person's target system account (
Account
) object - Any variables shared via the Account data from other systems or Manager account data options, as described above.
These objects and their properties can be accessed in the email body, as well as the To and Subject fields. To do so, use double curly brace syntax. For example: {{Person.PrimaryManager.DisplayName}}
.
For common examples in a target Active Directory system, see Notification variable examples for on-premises Active Directory target systems.
Person
The properties available in the Person
object are those which have been mapped to the Person schema from your source system(s). This takes place on the Person tab(s) of your source system(s). Only variables which appear in the preview area (i.e., have been mapped) are available for use in notifications.
For example, to insert the Person's first and last name (assuming default mappings), you would use {{Person.Name.GivenName}}
and {{Person.Name.FamilyName}}
, respectively. These variables are case-sensitive and always capitalized.
Custom attributes (mapped via the source system's Map Additional Field feature) are available under {{Person.Custom.}}
. These variables are also case-sensitive, but follow the capitalization shown in the mapping preview.
Account
The properties available in the Account
object are those which have been mapped to the target system account schema from the Person schema. This takes place on the target system's Account tab. Only variables which appear in the preview area (i.e., have been mapped) are available for use in notifications.
(Note that the Account tab for target AD and Azure AD systems have a mapping configuration screen, whereas mapping for target PowerShell systems is accomplished in code, inside the lifecycle PowerShell scripts.)
For example, to insert a user's username in a target AD system, you would use {{Account.SamAccountName}}
. These variables are case-sensitive and always capitalized.
Custom attributes (mapped via the target system's Map Additional Field feature) are available under {{Account.AdditionalFields.}}
. These variables are also case-sensitive, but follow the capitalization shown in the mapping preview.
NOTE: The Account
object is only available in Account Create events.
Event types
Notification event types correspond to the stages of the user account lifecycle.
Account Create
The Account Create event is useful to keep managerial and IT staff apprised of changes within their departments and systems. Because accounts are created in a disabled state, this email isn't necessarily useful for end users who won't yet be able to log in.
Account Enable
The Account Enable event is useful for end users, because at this point their account is active and they can log in.
Account Update
The Account Update event, like the Account Create event, is useful to keep managerial and IT staff apprised of changes within their departments and systems. The {{differences}}
variable is replaced by a summary of changes being written to the target account's mapped attributes (e.g., mapped attributes in an on-premises AD target system, or properties of the Account
PSCustomObject passed to the $result variable in target PowerShell systems). It does not include changes to the Person object, except indirectly, when the changed Person attributes are mapped to target account attributes. In other words, even though mere changes in the Person object do trigger the Account Update lifecycle event, notifications for the event are only sent when those changes actually result in changes being written into the target account.
Account Disable
The Account Disable event is useful to keep managerial and IT staff apprised of changes within their department and systems.
Account Delete
The Account Delete event is useful to keep managerial and IT staff apprised of changes within their departments and systems.
Note: For Active Directory target systems, the only notification variables available in Account Delete notifications are {{Person.}}
, {{Account.}}
, and any custom variables you've added via the Account
property of $result
in the post-action scripts. For PowerShell target systems, the only notification variables available are {{Person.}}
, {{Account.}}
, and any custom variables you've added via the Account
property of $result
in the account scripts. Other variables are not available, since the account is being deleted.
Evaluation Summary
The Evaluation Summary event is not tied to a particular target system. Rather, it's triggered whenever HelloID runs a business rule evaluation (e.g., after a scheduled import). The {{SummaryHtml}}
variable is replaced by a tabulated summary of entitlements that will be granted or revoked during business rule enforcement.
Blocked Actions Summary
The Blocked Actions Summary event is not tied to a particular target system. Rather, it's triggered whenever a business rule enforcement meets a threshold in any target system. (Notifications for this event are only sent when at least one threshold in one target system has been configured and met.) The {{SummaryHtml}}
variable is replaced by a list of entitlement grants/revokes that were blocked during enforcement. This is the same information shown on the Blocked Actions tab of Business Rules > Entitlements.
Pre-onboarding
Triggered when Person lifecycle (pre-onboarding/pre-offboarding notifications) has been set up, and a relevant schedule runs. An onboarding email is sent for any person who is X days out from onboarding, where X is your configured pre-onboarding value.
The {{contract.}}
variable in the message body of a pre-onboarding or pre-offboarding notification event is the contract which triggered onboarding or offboarding, respectively. The onboarding contract is the contract with the earliest StartDate, and the offboarding contract is the contract with the latest EndDate. This is often (but not necessarily) the person's primary contract.
Pre-offboarding
Triggered when Person lifecycle (pre-onboarding/pre-offboarding notifications) has been set up, and a relevant schedule runs. An offboarding email is sent for any person who is X days out from offboarding, where X is your configured pre-offboarding value.