Pulling a field from approval table to requested item table into a Notification email

TMKAM
Tera Contributor

Hi All,

I want the approver name from this Approval (sysapproval_approver) table into the current notification Requested Item (sc_req_item) table.

How do I scripted that.

Regards,

TMKam

2 ACCEPTED SOLUTIONS

@TMKAM 

it should work if there are approval records in Requested state in sysapproval_approver table for your RITM

Did you verify that?

You can comment line 7 and see what it prints.

If my response helped please mark it correct and close the thread so that it benefits future readers.

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

View solution in original post

Hello @TMKAM, you seem to be sending the notification when RITM is cancelled, then approval might be moved out of 'Requested' state. could you please try once more by commenting following line from the code?

approvalGR.addQuery('state', 'requested'); //comment this

 

Regards,

Nishant

View solution in original post

15 REPLIES 15

Dear Ankur,

I have created the eamil scripts and the "${mail_script:mailScriptName}" into Message HTML but still not show the approver name in the email notification.

@TMKAM 

it should work if there are approval records in Requested state in sysapproval_approver table for your RITM

Did you verify that?

You can comment line 7 and see what it prints.

If my response helped please mark it correct and close the thread so that it benefits future readers.

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

Hello @TMKAM, you seem to be sending the notification when RITM is cancelled, then approval might be moved out of 'Requested' state. could you please try once more by commenting following line from the code?

approvalGR.addQuery('state', 'requested'); //comment this

 

Regards,

Nishant

RohitGeorgV
Mega Guru
// Get the current requested item record
var requestedItem = current;

// Query the sysapproval_approver table to get the approver name
var approverGR = new GlideRecord('sysapproval_approver');
approverGR.addQuery('sysapproval', requestedItem.sys_id); /
approverGR.query();

if (approverGR.next()) {
    // Get the approver name
    var approverName = approverGR.approver.name;
    
    // Add the approver name to the notification
    template.print('Approver Name: ' + approverName);
} else {
    template.print('No approver found for this requested item.');
}

@TMKAM take a look this works

Dear Rohit,

Thank you for the solution and I have tried but it does not show anything in the email notification.

This what i put in the mail script in the notification.

 

<mail_script>
// Get the current requested item record
var requestedItem = current;

// Query the sysapproval_approver table to get the approver name
var approverGR = new GlideRecord('sysapproval_approver');
approverGR.addQuery('sysapproval', requestedItem.sys_id); /
approverGR.query();

if (approverGR.next()) {
// Get the approver name
var approverName = approverGR.approver.name;

// Add the approver name to the notification
template.print('Approver Name: ' + approverName);
} else {
template.print('No approver found for this requested item.');
}
</mail_script>