- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-31-2020 03:19 PM
Hello,
We have just started project where we are looking at integrating our Avaya IVR with ServiceNow. I am very new to this so please excuse any silly questions. The use case we are trying to implement is defined below. Does any one have any experience of this or any documentation that you could point me in the direction of? Any help with need to be great.
- A User calls the Service Desk using their company mobile phone;
- The IVR (Avaya) receives the call and contacts ServiceNow to match the number that was used to make the call with a ServiceNow User’s number in the ‘mobile’ or ‘business phone’ field.
- ServiceNow finds the caller’s details and passes back to Avaya.
- When Agent accepts the call in ServiceNow an 'Call' is opened automatically with the Caller's details already populated.
Many thanks
Chris
Solved! Go to Solution.
- Labels:
-
Integrations
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-31-2020 04:11 PM
Please follow the below steps:
1. All the users must be having company mobile number tagged to their user profile in ServiceNow
2. Ask Avaya team to redirect to the below URL with the mobile number or phone number amended
https://INSTANCE_NAME.service-now.com/incident.do?sys_id=-1&sysparm_query=active=true&sysparm_stack=incident_list.do?sysparm_query=active=true&caller_phone=PHONE_NUMBER_OF_THE_USER%20INTL
3. Create an on Load Client script
function onLoad() {
//Type appropriate comment here, and begin script below
if(g_form.isNewRecord()){
var ph, incUrl;
incUrl = window.location.href;
ph = incUrl.split('caller_phone=').pop().split('%20INTL')[0];
var str='mobile_phoneLIKE'+ph+'^ORphoneLIKE'+ph;
var ga = new GlideAjax('PopulateRequestedFor');
ga.addParam('sysparm_name', 'reqForValue');
ga.addParam('sysparm_ph_number', ph);
ga.getXML(urlParse);
}
function urlParse(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
g_form.setValue('caller_id',answer);
}
}
4. Create an Ajax call- Script Include
Name-PopulateRequestedFor
Client Callable- True
var PopulateRequestedFor = Class.create();
PopulateRequestedFor.prototype = Object.extendsObject(AbstractAjaxProcessor,{
reqForValue: function() {
var phnum = this.getParameter('sysparm_ph_number');
gs.log("The phone number is "+phnum);
var str='mobile_phoneLIKE'+phnum+'^ORphoneLIKE'+phnum;
var gr= new GlideRecord('sys_user');
gr.addEncodedQuery(str);
gr.query();
while(gr.next())
{
var answer=gr.sys_id;
return answer;
}
},
type: 'PopulateRequestedFor'
});
So whenever Avaya gets a call with the number it redirects the user to the given URL with embedded phone number, as soon as the URL is loaded there is a client script on Load which search's for the user and populates in the caller name
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-31-2020 04:11 PM
Please follow the below steps:
1. All the users must be having company mobile number tagged to their user profile in ServiceNow
2. Ask Avaya team to redirect to the below URL with the mobile number or phone number amended
https://INSTANCE_NAME.service-now.com/incident.do?sys_id=-1&sysparm_query=active=true&sysparm_stack=incident_list.do?sysparm_query=active=true&caller_phone=PHONE_NUMBER_OF_THE_USER%20INTL
3. Create an on Load Client script
function onLoad() {
//Type appropriate comment here, and begin script below
if(g_form.isNewRecord()){
var ph, incUrl;
incUrl = window.location.href;
ph = incUrl.split('caller_phone=').pop().split('%20INTL')[0];
var str='mobile_phoneLIKE'+ph+'^ORphoneLIKE'+ph;
var ga = new GlideAjax('PopulateRequestedFor');
ga.addParam('sysparm_name', 'reqForValue');
ga.addParam('sysparm_ph_number', ph);
ga.getXML(urlParse);
}
function urlParse(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
g_form.setValue('caller_id',answer);
}
}
4. Create an Ajax call- Script Include
Name-PopulateRequestedFor
Client Callable- True
var PopulateRequestedFor = Class.create();
PopulateRequestedFor.prototype = Object.extendsObject(AbstractAjaxProcessor,{
reqForValue: function() {
var phnum = this.getParameter('sysparm_ph_number');
gs.log("The phone number is "+phnum);
var str='mobile_phoneLIKE'+phnum+'^ORphoneLIKE'+phnum;
var gr= new GlideRecord('sys_user');
gr.addEncodedQuery(str);
gr.query();
while(gr.next())
{
var answer=gr.sys_id;
return answer;
}
},
type: 'PopulateRequestedFor'
});
So whenever Avaya gets a call with the number it redirects the user to the given URL with embedded phone number, as soon as the URL is loaded there is a client script on Load which search's for the user and populates in the caller name
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-02-2020 03:02 AM
Thanks Manoj for the very detailed information, this is very, very useful.
Regards
Chris
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎05-31-2022 10:19 AM
Hey Chris,
This use case seems to empower Avaya contact center agents with ServiceNow data on their screens as soon as the IVR routes a call to them. The readily available customer information in real-time helps improve AHT and FCR while enhancing customer satisfaction and experience.NovelVox’s agent desktop integration for Avaya contact centers is intended to equip agents with the same effortless experience. By leveraging ServiceNow open API accessibility, the complete application is embedded within the agent’s workspace, saving them to go back and forth between the applications.
Download some useful assets on Avaya ServiceNow integration from here: https://www.novelvox.com/integrations/servicenow/