Setting Approver in Workflow Editor Using Scratchpad
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-25-2025 09:13 AM
When trying to set an Approver from scratchpad in Workflow Editor, I can successfully store and assign the sys_id of the Instructor from the student_information field on our form, but it does not set the Instructor as Approver in the approver - user action. Instead, it leaves the approver field empty and passes to the next step in the workflow.
// Access the course_information reference field (from the RITM or appropriate record)
var courseInfo = current.variables.course_information; // Adjust according to where the course reference is
// Check if course_information is valid
if (courseInfo) {
// Query the sn_uni_req_larf_banner_courses table using course_information (the reference field)
var gr = new GlideRecord('sn_uni_req_larf_banner_courses');
if (gr.get(courseInfo)) { // Get the record from the sn_uni_req_larf_banner_courses table
// Log to verify we have found the record
gs.info('Found sn_uni_req_larf_banner_courses record for course code: ' + gr.u_course_code);
// Access the u_instructor_name field directly from the sn_uni_req_larf_banner_courses record (this is expected to be sys_id)
var instructorSysId = gr.u_instructor_name; // Ensure this is a sys_id (reference to sys_user)
// Log the instructor's sys_id
gs.info('Instructor sys_id: ' + instructorSysId);
// Store the instructor's sys_id in the scratchpad to be used in other steps (like approval)
workflow.scratchpad.instructorName = instructorSysId;
gs.info('Instructor sys_id stored in scratchpad: ' + workflow.scratchpad.instructorName);
// Now, set the approver to the instructor sys_id
current.approver = instructorSysId;
gs.info('Instructor sys_id assigned as approver: ' + instructorSysId);
} else {
// Log if the sn_uni_req_larf_banner_courses record was not found
gs.info('No matching sn_uni_req_larf_banner_courses record found for course information.');
workflow.scratchpad.instructorName = ''; // Ensure scratchpad is empty if no instructor is found
current.approver = ''; // Ensure approver is cleared if no instructor is found
}
} else {
// Log if course_information is not set or valid
gs.info('course_information is not set or valid.');
workflow.scratchpad.instructorName = ''; // Ensure scratchpad is empty if no course information
current.approver = ''; // Ensure approver is cleared if no course information
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-25-2025 09:47 AM - edited 03-25-2025 09:52 AM
The Approval - User activity must push one or more sys_ids from the sys_user table to an array with the name 'answer'. You can use the scratchpad variable for this assignment, or the 'Approver' field on the RITM if you have created such a field, or an 'Approver' variable on a Catalog Item. Using scratchpad would look like this:
var answer = workflow.scratchpad.instructorName;