Use the notification scripts to dynamically change the parameters of the outgoing messages using the SimpleEmailOutbound class. 

You can use the same script in multiple email notifications and notification templates. To do so, add a ${script:script_name} embedded script tag to the notification rule or to the related notification template. The fields below are available for the script embedding:

  • Subject
  • Message
  • Message (HTML)
  • Other

To create a notification script, complete the steps below:

  1. Navigate to System Notification → Notification Scripts.
  2. Click New and fill in the fields.
  3. Click Save or Save and Exit to apply changes.


FieldMandatoryDescription
NameYA script name for later usage in notifications and templates. The name should not contain spaces.
ScriptY

Enter the script using SimpleOne server-side API, particularly, the SimpleRecord Server-Side, SimpleEmailOutbound and SimpleTemplatePrinter classes.

There are four objects available in the notification scripts:

ObjectClass
currentSimpleRecord
templateSimpleTemplatePrinter
emailSimpleEmailOutbound
eventSimpleRecord




To receive the values of the current and event objects, use dot-notation to address the properties relating to the column names and the current and sys_event tables. See the example below:

(function runNotificationScript(
    /* SimpleRecord */ current,
    /* SimpleTemplatePrinter */ template,
    /* SimpleEmailOutbound */ email,
    /* SimpleRecord */ event
    ) {

    email.setSubject(current.number + '- additional comment has been added');
    email.setBody(`A comment from: ${event.sys_created_by.display_name}: "${event.param_2}"`);

    if (current.days_count > 3 && !current.requester.vip) {
        email.addAddressCc(current.requester.email, current.requester.display_name);
    }

})(current, template, email, event);



 locate where notification scripts are used, perform a search against the version list. To do so, complete the steps below:

  1. Navigate to Configuration Pack → VCS Records.
  2. Click on the funnel icon  on the top to open the Condition Builder.
  3. Create a filter containing the conditions listed below:
    1. JSON Copy CONTAINS script:script_name
    2. Table Name IS NOT sys_notification_script
    3. Is Current IS Yes.

In step 3a, specify your script name after the "script:" declaration. For example, "script:stop_notifications".

The selection example is given on the screenshot below.