Custom Notification Form
    • 16 Nov 2023
    • PDF

    Custom Notification Form

    • PDF

    Article Summary

    CustomizeNotificationfilesEditNotification.png

    SMS notifications only require a Subject, not a Body.

    The Notification form allows you to edit the text of a notification's subject and body or reset the notification text to the default text.

    From the Notification list, choose the notification you would like to edit. Make sure to save your changes.

    Editing Your Notification

    You can use the embedded editor to edit your notification without accessing the HTML code. This includes formatting, adding tables, inserting images from the menu or with drag and drop, and all other standard text editor actions.

    Version History

    You can revert back to previous versions of the notifications, by clicking the Version history link. Previous versions are displayed by their timestamp and the user who updated that version. Selecting a version you want to revert to.

    To reset the notification to the original version, click Reset to default.

    CustomizeNotificationfilesVersionHistory.png

    Preview the Notification

    You can view a preview of your notification to ensure it appears as you like it.

    1. From the editor menu, select View > Preview.
    2. Review the notification in the preview window. When you are done, click Close.
      CustomizeNotificationfilesPreviewWindow.png

    Using Tags in Your Notifications

    SysAid allows you to insert dynamic data into your notifications based upon the event that triggers the notification. An example would be including the status and category of a service record, or the title and progress towards completion for a task. Many of the notifications include tags in their default contents, but these are only a fraction of the tags that you have available to use.

    Please see the table below for a complete list of available tags.

    Alternatively, you can enter the $ character and start typing the name of the field value you want to include. A list of autocomplete options is displayed and you can click the option you want to include.

    CustomizeNotificationfilesAutocompleteVariable.png

    Insert Survey

    You can insert a customized survey into your notification so that the recipients can rate their satisfaction and provide valuable feedback regarding your Notifications.

    Note

    When you update the survey answers or change the number of answers, make sure that you remove the current survey and re-insert it, so the updated content is reflected in the notification.

    The survey is limited to one question.

    To insert a Survey:

    1. From the menu, select Insert > Survey.
    2. From the drop down list in the Insert Survey dialog, select a question for the survey.
    3. User the arrows to select the emojis or numbers you want to use to rate the recipient's satisfaction.
    4. Click Copy to Clipboard.
    5. Paste the copied survey in the location in the notification where you want the survey to appear.
    6. Click Apply.

    CustomizeNotificationfilesSurveyDemo.gif

    "If" Statements in Your Notifications

    There may be times that you would like certain text to be added to a notification only if certain conditions are true. For instance, if a service record is sent when the helpdesk is closed, you can use the tag $isAfterHours in the following way:

    #if( ${AfterHours} && ${AfterHours}==true && ${IsNewSr}==true)
    
    The Helpdesk is not active at the moment. Your service record will be addressed during working hours.
    
    #end


    Another possibility is to use the ${Status} tag to customize your notification based on the status of the SR. For example:

    #if( ${Status}=="New" )
    Dear ${ReqUser},
    
    Thank you for submitting your service request. The ticket number is #${ID}. Someone from the service desk is in the process of reviewing your request and determining a resolution. If you want to check the status of your request or add notes or attachments please use the following link:
    
    Service request link:
    <a href="http://URL/EndUserSRView.jsp?id=${ID}&EndUserLink=YES"> Link </a>
    
    The administrator that is assigned to your ticket is ${AssignedTo}.
    
    #elseif( ${Status}=="Closed" ) Your service request #${ID} has been closed. We hope that you are satisfied with the service provided to you.
    #end

    Please see the table below for the full list of available variables for use in "If" statements.

    Custom Notifications in Multiple Languages
    SysAid allows you to add language-specific text to your notifications. That is to say, a user using SysAid in Spanish will receive Spanish text and a user using SysAid in English will receive English text. To add language-specific text:

    1. Go to Settings > Customize > Account Defaults and uncheck the option Use the default language for automatic notifications.
    2. Download to your computer the SysAid translation file for the desired language. The translation file is located under Settings > Customize > Translation.
    3. Open the translation file and scroll to the very bottom.
    4. Add a new key for each text that you want in your notifications. Each key should look like this:
      _custom.notif_keyname=Text that will appear in the notification
    5. Replace keyname with a unique name of your choosing.
    6. Replace Text that will appear in the notification with your desired text in the language of your choice.
      Example:_custom.notif_bday=Happy birthday!
    7. Repeat steps 1 - 4 for each language your users will be using.
      Example : You have English, Spanish, and Italian speaking end users. You must add each key and its appropriate translation to the English, Spanish, and Italian translation files. In the English translation file, you would put _custom.notif_bday=Happy birthday!, in the Spanish translation file you would put _custom.notif_bday=¡Feliz cumpleaños!, etc.
    8. In SysAid, go to Settings > Customize > Notifications.
    9. Select from the drop-down list the notification to which you would like to add your new text.
    10. In the exact place you would like your text to appear, enter:
      $resource.getString("_custom.notif_keyname")
      Example: $resource.getString("_custom.notif_bday")

    This will insert the text from the translation file for the language your user is using when the notification is sent.

    Access the Source HTML Code

    If there's any edits that you would rather not perform in the editor, you can perform them directly in the notification's HTML code.

    1. In the editor menu, select View > Source Code.
      CustomizeNotificationfilesSourceCodeMenu.png
    2. Edit the code in the source code window that opens.
      CustomizeNotificationfilesSourceCodeWindow.png
    3. Click Save.

    Compatibility View

    If you open a notification that contains faulty HTML or CSS code, SysAid opens it in the Compatibility view that allows you to edit the code directly in the notification form.

    If you want to ignore the errors in the code, click View in HTML editor anyway and the notification appears in the text editor view.

    CustomizeNotificationfilesCompatabilityViewCompatabilityView.png

    The following table contains some of the most common HTML and CSS errors that occur in these tables due to deprecated tags and attributes. For the HTML section, remove these tags from the code. For the CSS section, replace the errors with the attributes in the Suggested Fixes column.

    Deprecated CSS AttributesSuggested Fixes
    align="center"style="margin-left: auto; margin-right: auto;"
    align="left"style="margin-left:0; margin-right:auto;"
    align="right"style="margin-left:auto; margin-right:0;"
    bgcolor="red"style="background-color:red;"
    valign="top"style="vertical-align:top;"
    valign="middle"style="vertical-align:middle;"
    valign="bottom"style="vertical-align:bottom;"
    Deprecated HTML Tags
    acronym
    applet
    basefont
    big
    center
    dir
    font
    frame
    frameset
    isindex
    noframes
    s
    strike
    tt
    u
    listing
    menu
    plaintext
    xmp

    List of All Tags in Custom Notifications

    In the tables below is the full list of tags and their meaning in SysAid. 

    Please note that some of the tags are different for notifications sent in Microsoft Teams with SysAid's AI Service Desk, For more information, see AI Service Desk.

    Note
    Tags are case-sensitive. 

    Tags for Use in Notifications Regarding Tickets

    Tag IDDescription
    ${ActionNotification}This is the action that caused the notification to be sent
    ${StatusNotification}This notifies the end user to which status the SR has been changed. Will appear blank in the notification if the status hasn't changed
    ${user}This is the administrator who the SR is assigned to. Displays the contents of the First Name and Last Name fields
    ${Title}This is the title of the service record
    ${ModifyUser}This is the last user to modify the service record
    ${Computer}This is the name of the asset attached to the service record
    ${assetUpdateTime}This is the last time the asset attached to the SR sent an inventory update to SysAid
    ${assetCompany}This is the company of the asset attached to the service record
    ${ParentID}This is SR# of the parent service record. Will only display if the service record generating the notification is a child SR
    ${Category}This is the top level category of the service record
    ${SubCategory}This is the sub category of the service record
    ${ThirdLevelCategory}This is the third level category of the service record
    ${CloseTime}This is the time the service record was closed
    ${CustDate1}Displays the contents of custom date field 1
    ${CustDate2}Displays the contents of custom date field 2
    ${Description}This is the service record's description
    ${DueDate}This is the full due date of the service record, including hour
    ${DueDateOnly}This is the date the service record is due
    ${ID}This is the service record number
    ${LinkToSurvey}Displays a "Fill survey" link to fill out your survey for the service record. Recommended for use in conjunction with an "if" statement (see below) and the ${isClosedSR} tag
    ${LinkToSurveyURL}Displays a full URL to fill out your survey for the service record. Recommended for use in conjunction with an "if" statement (see below) and the ${isClosedSR} tag
    ${SubmitTime}Time the service record was submitted
    ${Notes}Displays the contents of the notes field
    ${Priority}Shows the priority of the service record
    ${Urgency}Shows the urgency of the service record
    ${Status}Shows the status of the service record
    ${SrSubType}This is the sub type of the service record
    ${Resolution}Displays the contents of the resolution field
    ${ReopenSR}Displays a link to reopen a service record that has been closed. Users will be prompted to add notes as to why they are reopening the service record. Recommended for use in conjunction with an "if" statement (see below) and the ${isClosedSR} tag
    ${ReopenSRWN}Displays a link to reopen a service record that has been closed, without prompting users for notes. Recommended for use in conjunction with an "if" statement (see below) and the ${isClosedSR} tag
    $ReopenSR-requires_loginDisplays a link to reopen a service record that has been closed. Users will be prompted to add notes as to why they are reopening the service record. Recommended for use in conjunction with an "if" statement (see below) and the ${isClosedSR} tag

    If a user who clicks this link is not logged in to SysAid they are prompted to log in before the action is performed.
    ${Solution}Displays the contents of the solution field
    ${SubmitUser}This is the user who submitted the service record
    ${AssignedGroup}This is the group the service record has been assigned to
    ${ModifyTime}This is the time the service record was last modified
    ${Location}Shows the contents of the location field
    ${LinkToSR}Includes a direct link to the service record. For administrators only
    ${Escalation}Shows whether or not a service record is escalated
    ${RequestUser}Shows the request user's username
    ${ReqUser}Shows the request user's first name and last name
    ${ReqUser.FirstName}Shows the request user's first name.
    ${ReqUser.LastName}Shows the request user's last name.
    ${ReqUser.userName}Shows the request user's username
    ${ReqUser.email}Shows the request user's email address.
    ${ReqUser.phone}Shows the request user's phone number.
    ${ReqUser.cellphone}Shows the request user's cell phone number.
    ${ReqUser.notes}Shows the request user's notes.
    ${ReqUser.sms}Shows the request user's SMS number.
    ${ReqUser.location}Shows the request user's location.
    ${ReqUser.building}Shows the request user's building.
    ${ReqUser.floor}Shows the request user's floor.
    ${ReqUser.cubic}Shows the request user's cubic.
    ${ReqUser.carNumber}Shows the request user's car number.
    ${ReqUser.CustList1}Shows the request user's cust list 1.
    ${ReqUser.CustList2}Shows the request user's cust list 2.
    ${ReqUser.custText1}Shows the request user's cust text 1.
    ${ReqUser.custText2}Shows the request user's cust text 2.
    ${ReqUser.custNotes}Shows the request user's cust notes.
    ${ReqUser.custInt1}Shows the request user's cust int 1.
    ${ReqUser.custInt2}Shows the request user's cust int 2.
    ${ReqUser.department}Shows the request user's department.
    ${ReqUser.custDate1}Shows the request user's cust date 1.
    ${ReqUser.custDate2}Shows the request user's cust date 2.
    ${RequestUserManager}Shows the request user's manager name.
    ${Company}Shows the request user's company
    ${OrganizationName}The name of your organization as it's entered under Settings > Customize > Account Defaults
    ${Phone}Shows the request user's phone number
    ${Cellphone}Shows the request user's cellular phone number
    ${SMS}Show the request user's text message number
    ${SelfServicePortalURL}Inserts a link to the SysAid Server which can be used by end users to log in to the Self-Service Portal
    ${CompanyPhone}Shows the phone number of the request user's company
    ${CompanyAddress}Shows the first line of the address for the request user's company
    ${CompanyAddress2}Shows the second line of the address for the request user's company
    ${AssignedTo}This is the administrator the service record is assigned to
    ${AssignedToFirstName}This is the first name of the administrator the service record is assigned to
    ${AssignedToLastName}This is the last name of the administrator the service record is assigned to
    ${user.getEmail()}Shows the email address of the administrator the service record is assigned to
    ${ResponsibleAdmin}This is the service record's responsible admin
    ${ResponsibleAdminFirstName}This is the first name of the service record's responsible admin
    ${ResponsibleAdminLastName}This is the last name of the service record's responsible admin
    ${AccountTimeZone}Shows the default SysAid Server time zone
    ${ActivitiesNum}Displays the number of activities that have been logged on the SR
    ${ActivitiesTable}Displays the full contents of the activities table for the service record
    ${ActivitiesTotalMinutes}Displays the total time of all activities that have been logged on the SR
    ${custList1}Shows the contents of custom list 1 for this service record
    ${custList2}Shows the contents of custom list 2 for this service record
    ${OperatingTimesTable}Displays the list of operating times that apply to the current service record. Operating times are determined by SLA or by Company. If neither of these exists for the request user, then the default operating times are used.
    ${LinkToAttachments}Adds links to download any attachments attached to the service record
    ${Total_Active_Requests}Shows the total number of active SRs on the Service Desk
    ${Active_requests_for_assigned_admin}Shows the total number of active SRs on the Service Desk that are assigned to the same admin as this service record
    ${Department}Shows the request user's department
    ${sr.custNotes}SR Custom Notes
    ${sr.custInt1}SR Custom Int 1
    ${sr.custInt2}SR Custom Int 2
    ${sr.custText1}
    SR Custom Text 1

    Tags Related to Custom Fields

    Tag IDDescription
    ${sr.getCustomFieldValue("CUSTOM FIELD NAME")}

    The value of text or integer fields added through fields customization. Enter the name of the field in parentheses.
    Note: The field name can be found in the Advanced tab of the field's form, in the Display in Form box. The field name will look similar to "CustomColumn20srSubTab"

    ${AccountObj.getCustValues("DATABASE FIELD NAME",$AccountObj.getResourceBundle()).
    getCaption($sr.getCustomFieldValue("CUSTOM FIELD NAME"))}

    The value of text or integer fields added through fields customization. Enter the name of the field in parentheses.
    Note: The field name can be found in the Advanced tab of the field's form, in the Display in Form box. The field name will look similar to "CustomColumn20srSubTab"

    Boolean Tags For Use in "if" Statements

    Tag IDDescription
    ${IsNewSr}Returns "true" if this is the new SR notification or "false" if this is an SR modified notification.
    ${AfterHours}Returns "true" if the notification is sent while the Service Desk is closed, or "false" if the notification is sent while the Service Desk is open. Based upon operating times.
    ${isClosedSR}Returns "true" if SR is closed or "false" if SR is open.
    ${ManualMessage}

    Returns "true" when the admin manually sends the message and when the Include the Details of the Service Record check box is checked. Returns no value if the notification is sent automatically or if the Include the Details of the Service Record check box is unchecked.

    Suggested use for this tag:

    #if(!${ManualMessage})
    Text of standard automatic notification
    #else
    Text of manual message
    #end

    Special Tags That Grant Access to SysAid Entities

    Tag IDDescription
    ${sr}This allows you to pull any field on the service record, except for list fields. Note that you must use a special syntax with this tag: ${sr.getXXXX()}. Replace XXXX with the caption for any SR field. Please note that the tag is case sensitive and the first word of the field caption must be lowercase. For example, to retrieve Follow up Text: ${sr.getfollowupText()}. Note that this will not work for list fields.
    ${asset}This allows you to pull any field on the asset attached to the service record, except for list fields. Note that you must use a special syntax with this tag: ${asset.getXXXX()}. Replace XXXX with the caption for any asset field. Please note that the tag is case sensitive and the first word of the field caption must be lowercase. For example, to retrieve asset model: ${asset.getsystemModel()}. Note that this will not work for list fields, and that there must be an asset attached to the SR.
    ${ci}This allows you to pull any field on the CI attached to the service record, except for list fields. Note that you must use a special syntax with this tag: ${ci.getXXXX()}. Replace XXXX with the caption for any CI field. Please note that the tag is case sensitive and the first word of the field caption must be lowercase. For example, to retrieve CI name: ${ci.getciName()}. Note that this will not work for list fields, and that there must be a CI attached to the SR.
    ${resource}This allows you to insert a key from the translation file into your notification. This allows for notifications in multiple languages. Please see Custom notifications in multiple languages above for more information about using this tag.

    Tags For Use in Notifications Regarding Users Who Forgot Their Passwords

    Tag IDDescription
    ${NewPassword}This is the new password emailed to the end user
    ${LoginURL}This inserts a link to the login URL for your SysAid Server
    ${SelfServicePortalURL}This inserts a link to the login URL for your SysAid Server
    ${OrganizationName}The name of your organization as it's entered under Settings > Customize > Account Defaults
    ${FirstName}First name of the end user who initiated the password reset
    ${LastName}Last name of the end user who initiated the password reset
    ${fullName}Full name of the end user who initiated the password reset
    ${resource}This allows you to insert a key from the translation file into your notification. This allows for notifications in multiple languages. Please see Custom notifications in multiple languages above for more information about using this tag

    Tags For Use in Notifications to New Administrators and End Users

    ${Password}Password of the newly created user
    ${LoginUrl}This inserts a link to the login URL for your SysAid Server
    ${SelfServicePortalURL}This inserts a link to the login URL for your SysAid Server
    ${AccountID}This is the Account ID of your SysAid Server
    ${UserName}Username of the newly created user
    ${OrganizationName}The name of your organization as it's entered under Settings > Customize > Account Defaults
    ${FirstName}First name of the newly created user
    ${LastName}Last name of the newly created user
    ${fullName}Full name of the newly created user
    ${user}This allows you to pull any field related to the new user, except for list fields. Note that you must use a special syntax with this tag: ${user.getXXXX()}. Replace getXXXX() with the caption of any user field. Example to retrieve Car license: ${user.getCarNumber()}. Please note that the tag is case sensitive and the first word of the field caption must be lowercase.
    ${resource}This allows you to insert a key from the translation file into your notification. This allows for notifications in multiple languages. Please see Custom notifications in multiple languages above for more information about using this tag.

    Tags For Use in Notifications Sent to Project Managers

    Tag IDDescription
    ${ActionNotification}This is the action that caused the notification to be sent
    ${OrganizationName}The name of your organization as it's entered under Settings > Customize > Account Defaults
    ${Title}This is the title of the project
    ${Account}This is the Account ID of your SysAid Server
    ${Category}This is the category of the project
    ${Status}This is the status of the project
    ${StartTime}This is the start date of the project
    ${EndTime}This is the end date of the project
    ${Description}This is the project's description
    ${ID}Shows the project's ID number
    ${Notes}Displays the contents of the notes field
    ${RawEstimation}Displays the raw estimation (in hours) that it will take to complete the project
    ${Company}The company that's listed on the project
    ${Manager}Shows the manager in charge of the project
    ${RequestedGroup}The group that requested the project
    ${AssignedGroup}The group that the project is assigned to
    ${Progress}The percentage towards completion of the project
    ${resource}This allows you to insert a key from the translation file into your notification. This allows for notifications in multiple languages. Please see Custom notifications in multiple languages above for more information about using this tag

    Tags For Use in Notifications Sent to Task Users

    Tag IDDescription
    ${ActionNotification}This is the action that caused the notification to be sent
    ${OrganizationName}The name of your organization as it's entered under Settings > Customize > Account Defaults
    ${Project}This is the name of the task's parent project
    ${Activity}Shows any activity that is added or deleted to the task. If no activity is added or deleted, does not display anything
    ${Title}This is the title of the task
    ${Account}This is the Account ID of your SysAid Server
    ${Category}This is the category of the task
    ${Status}This is the status of the task
    ${StartTime}This is the start date of the task
    ${EndTime}This is the end date of the task
    ${Description}This is the task's description
    ${ID}Shows the task's ID number
    ${Notes}Displays the contents of the notes field
    ${Estimation}Displays the estimation (in hours) that it will take to complete the task
    ${Progress}The percentage toward completion of the task
    ${Manager}This is the manager of the task's parent project
    ${Users}Shows a list of the users assigned to work on this task
    ${resource}This allows you to insert a key from the translation file into your notification. This allows for notifications in multiple languages. Please see Custom notifications in multiple languages above for more information about using this tag

    What's Next