Incident application related
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-11-2025 07:15 AM
When you selected VIP Customer in caller field then system should set priority 1-critical and impact and urgency fields should be readonly.
2 REPLIES 2
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-11-2025 07:17 AM
Hi @krishna svg
You can use the UI policy and set the Impact =1, urgency =1 which make priority =1 ands put condition caller.vip= True
*************************************************************************************************************
If my response proves useful, please indicate its helpfulness by selecting " Accept as Solution" and " Helpful." This action benefits both the community and me.
Regards
Dr. Atul G. - Learn N Grow Together
ServiceNow Techno - Functional Trainer
LinkedIn: https://www.linkedin.com/in/dratulgrover
YouTube: https://www.youtube.com/@LearnNGrowTogetherwithAtulG
Topmate: https://topmate.io/atul_grover_lng [ Connect for 1-1 Session]
****************************************************************************************************************
If my response proves useful, please indicate its helpfulness by selecting " Accept as Solution" and " Helpful." This action benefits both the community and me.
Regards
Dr. Atul G. - Learn N Grow Together
ServiceNow Techno - Functional Trainer
LinkedIn: https://www.linkedin.com/in/dratulgrover
YouTube: https://www.youtube.com/@LearnNGrowTogetherwithAtulG
Topmate: https://topmate.io/atul_grover_lng [ Connect for 1-1 Session]
****************************************************************************************************************

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-11-2025 07:19 AM
@krishna svg You can achieve this using a combination if client script and GlideAjax.
Client Script on the Caller field
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return; // Don't run the script if the form is loading or the caller field is empty
}
var ga = new GlideAjax('VIPCallerCheck'); // Name of your Script Include
ga.addParam('sysparm_name', 'isVIP'); // Name of the function in your Script Include
ga.addParam('sysparm_caller_sys_id', newValue); // Pass the caller's sys_id
ga.getXML(handleVIPResponse);
function handleVIPResponse(response) {
var isVIP = response.responseXML.documentElement.getAttribute("answer");
if (isVIP == 'true') {
g_form.setValue('priority', '1'); // Set priority to Critical
g_form.setReadOnly('impact', true);
g_form.setReadOnly('urgency', true);
} else if (oldValue != '' && newvalue != oldValue) { // if caller is changed and the new caller is not VIP then impact and urgency should be editable.
g_form.setReadOnly('impact', false);
g_form.setReadOnly('urgency', false);
}
}
}
Script Include:
var VIPCallerCheck = Class.create();
VIPCallerCheck.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
isVIP: function() {
var callerSysId = this.getParameter('sysparm_caller_sys_id');
var callerGR = new GlideRecord('sys_user'); // Replace 'sys_user' if needed
if (callerGR.get(callerSysId)) {
return callerGR.getValue('vip') + ''; // Convert boolean to string for GlideAjax response. Adapt 'vip' if needed.
}
return 'false'; // Return false if caller not found
},
type: 'VIPCallerCheck'
});