Skip to main content

Email template variables

Purpose​

This table lists the variables the platform fills in automatically for each email template type — the data each variable carries, such as a link to the affected object or the user who triggered an action, and which templates it applies to. Use it when customizing a template to know what's available to display.

What a template can read​

Starting in 20.4, a customized template can read only the variables in this table and the members listed for them, such as object.name. themeColors.secondary, igrafxuser.firstName, and igrafxuser.lastName are readable starting in 20.4.2.

Anything else stops the template from rendering:

  • The editor refuses to save the template and shows "This template contains a formatting error. Please correct before trying to save."
  • A template saved before 20.4 stops that email from sending. The platform sends an error email to the Send Error Email to address instead, when one is set in Manage email.

Available variables​

The Available templates column uses three groups:

  • All templates: every email template, including the Invitation Email.
  • All standard notifications: the emails listed in the browserUrl row.
  • Cycle schedule emails: Cycle Started (Manual) Email, Cycle Started (Automatic) Email, Cycle Started Warning Email, Cycle Started Error Email, Upcoming Cycle (Manual) Email, and Upcoming Cycle (Automatic) Email.

Some variables aren't always set, and the table says when. Check one with ?? before you print it, for example [#if lastRun??], or give it a fallback with !, for example ${object.getTranslation(useLocale)!object.name}. Dates need a format before you print them, for example ${lastRun?datetime?string(igrafxuser.dateFormat)}.

Variable

Available templates (readable names)

Explainer

baseUrl

All templates

Base Process Design URL for building links

browserUrl

All standard notifications:

Approved Version Change Email
Approval Cycle Started Email
Approval Cycle Finalized Email
Approval Cycle Rejected Email
Approval Cycle Canceled Email
Endorsement Cycle Started Email
Endorsement Cycle Finalized Email
Endorsement Cycle Canceled Email
Review Cycle Started Email
Review Cycle Finalized Email
Review Cycle Canceled Email
Checkin Email
Commented Email
Comment Resolved Email
Comment Reopened Email
Comment Deleted Email
Acknowledgement Cycle Started Email
Acknowledgement Cycle Paused Email
Acknowledgement Cycle Resumed Email
Acknowledgement Cycle Canceled Email
Attention Needed Email
Multiple Cycle Reminders Email

Deep link to the relevant page for the event associated with the email. It always resolves to the affected object itself — you can't append a path such as /Login to it.

object.id
object.name
object.getTranslation(useLocale)
object.typeEnum
object.parentObject

All standard notifications
Cycle schedule emails

The repository object associated with the event.

  • getTranslation(useLocale): its name in the recipient's language. Not set when the object has no translation.
  • typeEnum: the object type's internal name, such as Document (IGX Document), Diagram (IGX Diagram), Component, WebDiagram (Diagram), or Folder. To show content only when there's a Flowcharter Client link, check clientLink?? instead.
  • parentObject: the folder it's in, with the same members.

repository.shortname
repository.name

All standard notifications
Cycle schedule emails

Repository shortname or name in which the relevant object is present

themeColors.primary
themeColors.secondary
themeColors.accent

All templates

Brand/tenant colors to style the email.

  • secondary: a lighter color for backgrounds. For a custom theme, a light tint of primary.
  • accent: for a custom theme, the same as primary.

isRequiredWatcher

All standard notifications

Whether the watcher is marked “required.”

useLocale
useLocale.language

All standard notifications
Cycle schedule emails

Best content/UI locale chosen per recipient. language is its language code, such as de.

universityUrl

All templates

Link to iGrafx University

annotation

Commented Email
Comment Resolved Email
Comment Reopened Email
Comment Deleted Email

Annotation/comment text.

pausedCycleComment

Acknowledgement Cycle Paused Email

Comment entered when the acknowledgement cycle was paused.

resumedCycleComment

Acknowledgement Cycle Resumed Email

Reason/details when an acknowledgement resumes.

triggeringUser

Review Cycle Started Email
Approval Cycle Started Email
Endorsement Cycle Started Email
Acknowledgement Cycle Started Email
Attention Needed Email
Acknowledgement Cycle Resumed Email
Approval Cycle Canceled Email
Review Cycle Canceled Email
Endorsement Cycle Canceled Email
Acknowledgement Cycle Canceled Email
Commented Email; Comment Resolved Email
Comment Reopened Email
Comment Deleted Email
Checkin Email
Acknowledgement Cycle Paused Email
Approval Cycle Rejected Email

Display name of the user who initiated the event.

startCycleComment

Review Cycle Started Email
Approval Cycle Started Email
Endorsement Cycle Started Email
Acknowledgement Cycle Started Email
Attention Needed Email
Acknowledgement Cycle Resumed Email

Kickoff note/comment when a cycle starts/resumes or attention is requested.

cancelCycleComment

Approval Cycle Canceled Email
Review Cycle Canceled Email
Endorsement Cycle Canceled Email
Acknowledgement Cycle Canceled Email

Reason given when the cycle was canceled.

version

Approved Version Change Email
Approval Cycle Finalized Email

Specific version number relevant to the approval-change notice/cycle completion.

numberOfUpdates

Attention Needed Email

Count of cycles the user was added to

clientLink

All standard notifications (only when the object is an IGX Document, IGX Diagram, or Component)

Direct Flowcharter Client link to open the document or object.

dueDate

Acknowledgement Cycle Started Email

Recipient-localized due date string (or “to be determined”).

isOverDue

Acknowledgement Cycle Started Email

true if current time is after dueDate.

igrafxuser.loginName
igrafxuser.displayName
igrafxuser.firstName
igrafxuser.lastName
igrafxuser.dateFormat
igrafxuser.timeZoneCurrent.ID

Cycle schedule emails

The user who scheduled the cycle. These emails always go to that user.

  • dateFormat: their date format pattern.
  • timeZoneCurrent.ID: their time zone ID, such as Europe/Berlin.

schedule.scheduleType
schedule.manualStart
schedule.markObjectUnapproved
schedule.getNextCycleRunDate(lastRun)

Cycle schedule emails

The cycle's schedule settings, described in Schedule a cycle.

  • scheduleType: the cycle type, one of the enums.CycleType values.
  • manualStart: true for Send notice to scheduler to manually start cycle.
  • markObjectUnapproved: true for Set the Approved version to None.
  • getNextCycleRunDate(lastRun): the date the next cycle starts. Pass lastRun exactly as shown.

lastRun

Cycle schedule emails

Date the previous cycle of this type on the object completed. Not set before the first one completes.

flowClientLink

Cycle Started (Manual) Email
Cycle Started (Automatic) Email
Upcoming Cycle (Manual) Email
Upcoming Cycle (Automatic) Email

Only when the object isn't a web diagram.

The cycle schedule emails' equivalent of clientLink.

errorProp

Cycle Started Error Email

Localization key of the reason the cycle couldn't start. Show the text with ${string[errorProp]}.

siteTitle
siteUrl
username

Invitation Email

The site title, the site URL, and the login name of the user who receives the email.

isNewUser
plainPassword

Invitation Email, only when it's sent from Send invitation email or Send password reset email to user (see Manage users and groups).

  • isNewUser: true for an invitation and false for a password reset.
  • plainPassword: the temporary password. Not set in cloud deployments that manage sign-in through the iGrafx user service, or for users in an Api Managed user directory.

string.<key>

All templates

Any localization property, in the recipient's language. See Reference your own wording.

enums.CycleType

All templates

Cycle type values: Approval, Reviewer, Signoff (endorsement), and Acknowledgement. For example, schedule.scheduleType == enums.CycleType.Signoff is true for an endorsement cycle.

[@ice.mailbreadcrumbs object repository useLocale /]

All standard notifications
Cycle schedule emails

Macro that prints the repository name and the object's folder path, with the object name in the recipient's language. Needs [#import "/igx-shared.ftl" as ice/] at the top of the template.