Skip to main content

How to add variables to custom notification emails

Help Desk notifications support standard Magento email template variables, such as {{var logo_alt}}, and function calls, like {{var store.getFrontendName()}}. It also provides a set of its own variables:

  • {{var customer}} - allows access to customer properties
  • {{var ticket}} - allows access to ticket properties, including custom fields (see below)
  • {{var department}} - allows access to department properties

The most useful properties are:

  • {{var customer.getName()}} - name of the current customer

  • {{var customer.getEmail()}} - email of the current customer

  • {{var department.getName()}} - name of the department to which the current ticket was assigned

  • {{var department.getSenderEmail()}} - sender email, used as the "From" field in notifications

  • {{var ticket.getCode()}} - code of the current ticket, e.g., YVB-459-53185

  • {{var ticket.getName()}} - subject of the current ticket

  • {{var ticket.getCustomerEmail()}} - email of the current customer

  • {{var ticket.getCustomerName()}} - full name of the current customer

  • {{var ticket.getLastReplyName()}} - full name of the customer or staff member who last replied to the current ticket

  • {{var ticket.getFrontendLastReplyName()}} - name of the author of the last reply as it is displayed on the frontend (depending on the option Store -> Configuration -> Help Desk -> General settings -> Sign staff replies)

  • {{var ticket.getChannel()}} - name of the channel that created the ticket, e.g., 'email', 'backend', or 'feedback_tab'

  • {{var ticket.getExternalUrl()}} - frontend URL of the current ticket

  • {{var ticket.getBackendUrl()}} - backend URL of the current ticket (this variable works correctly if the Stores -> Configuration -> Advanced -> Admin -> Security -> Add secret key to URLs option is disabled)

  • {{var ticket.getLastMessagePlainText()}} - contents of the last message posted

  • {{var ticket.getUserName()}} - full name of the current ticket owner

  • {{var ticket.getOrder()}} - returns the order object to which the current ticket is bound, providing access to all order properties (see the example below; note that these properties can be used within the {{depend}} tag)

Example

Assume that you have to get the order number, to which the current ticket is bound. This requires the following code:

{{depend ticket.getOrder()}}
{{var ticket.getOrder().getIncrementId()}}
{{/depend}}

Additionally, custom fields can be used as email variables. Each custom field has a code. Assume we have created a field with the code custom_email. The corresponding email variable would be:

  • {{var ticket.getCustomEmail()}} - Email of the current customer.