Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Display variables that are references in email notification

s_bastientheure
Tera Contributor

Hi,

I want to display variables content into a notification

Accessing variables doesn't work directly in notification HTML  so i've created an email script

I can display some variables (e.g. a date variable) but I can't get others like reference to sys_user table

I tried several methods but it always displays 'undefined'

All my variables are part of variable sets and I'm sure of the variable names
In the script below, only the current.variables.v_change_date.getDisplayValue() displays something right

(function runMailScript(/* GlideRecord */ current, /* TemplatePrinter */ template,
/* Optional EmailOutbound */ email, /* Optional GlideRecord */ email_action,
/* Optional GlideRecord */ event) {

template.print(current.variables.v_employee_name.first_name);

template.print(current.variables.v_employee_name.first_name.getDisplayValue());

var gr = new GlideRecord('sys_user');
gr.addQuery('sys_id',current.variables.v_employee_name);
gr.query();
if (gr.next()){
template.print(gr.first_name);
template.print(gr.first_name.getDisplayValue());
}

template.print("Le changement de responsable de " + current.variables.v_employee_name.name.getDisplayValue() + " de " + current.variables.v_former_manager.name + " vers " + current.variables.v_new_manager.name + " a été fait dans SX en date du " + current.variables.v_change_date.getDisplayValue() + ".");

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

1 ACCEPTED SOLUTION

So here is the issue

your notification is on sc_req_item table but the object you are passing to eventQueue() is current which is sc_task table

Do this

gs.eventQueue('event_name', current.request_item.getRefRecord(), f_manager, n_manager);

Regards
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

15 REPLIES 15

s_bastientheure
Tera Contributor

Ankur, thanks for your help

there was 3 ways to solve

- change the business rule event creation as shown by Ankur

- change email script current.variables.<variable_name> by curent.variables.request_item.<variable_name>

- change business rule table from sc_task to sc_req_item as this is a single task workflow and task closure is equivalent to req closure