- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2014 03:34 AM
Hi all,
Please see below for our 'Incident Escalated' e-mail, specifically the 'What will it contain' notification details:
* * *
<font face="Calibri">
The following incident has been set to escalated by ${sys_updated_by}:
Customer: ${caller_id}
Updated: ${sys_updated_on}
Priority: ${priority}
Assignment group: ${assignment_group}
Assigned to: ${assigned_to}
Click here to view the incident: ${URI_REF}
* * *
We just want to change this part: The following incident has been set to escalated by ${sys_updated_by}: so instead of showing the user ID of who last updated the record, it shows the name of who last updated it. We have tried dot walking using ${sys_updated_by.name}: but this is not working. I have since realised this is because it is not a reference field back to the sys_user table.
I understand this should be relatively simple so any assistance would be much appreciated.
Many thanks,
D
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2014 06:59 AM
Hi dasi,
I put in my reply that the script would return the UserID.
It depends what you want to display. If you want the name, you need to do a little more scripting, and use the mail script as proposed by Sanjeev Kumar above, edited to suit your needs. I've added comments in Blue.
- <mail_script>
- var userid = current.sys_updated_by; // Gets the User ID
- var gr = new GlideRecord('sys_user'); // Creates new GlideRecord Object
- gr.addQuery('user_name', userid); // Queries the table for the record of our user found in line 2
- gr.query();
- if (gr.next()) { // If it finds one....
- var userName = gr.name; // set the variable "username" as the users name.
- }
- template.print("Updated By: "+userName); // Print the text "Updated By:" and then the username variable from line 7.
- </mail_script>
Best to remove the comments before adding to your email. This has been tested and works fine on my instance.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-05-2018 08:46 AM
Hi,
Please help me to call the email script in subject line.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2014 07:04 AM
Good point. If you look at Dictionary Entry from current.sys_updated_by field. This field is a simple String (by default the User ID).
So you will need a simple GlideRecord to solve it:
http://wiki.servicenow.com/index.php?title=GlideRecord#Query_Methods
[]'s
Andre Moreira
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2014 07:48 AM
Is sys_updated_by truly a reference though? That's the only way .getDisplayValue() will work.
EDIT: Dictionary says sys_updated_by is a string.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2014 07:56 AM
<mail_script> template.print(current.sys_updated_by.getDisplayValue())</mail_script>
This returns the UserID of the last user to update the record.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-16-2014 08:00 AM
Have you tested this?
The reason I ask is that sys_updated_by is not a reference to user, and therefore wouldn't know what the Display field is for which to display. Its a string.