The CreatorCon Call for Content is officially open! Get started here.

CTI Integration Examples

jim pisello
Giga Expert

Does anyone have experience using CTI (Computer Telephony Integration) into their SNC instance? If so, would you be willing to give some examples of how you're using it? The wiki article on the subject made it sound like it had pretty limited utility. I'm wondering if it could be used for something like requesting a windows domain password reset?

1 ACCEPTED SOLUTION

shakesc
Giga Contributor

We have done integration with a Shoretel phone system (though many phone systems give this functionality)
The Shoretel softphone creates a parameterised URL with the caller Id and the call queue
This then creates a command line with these parameters in

We have a table where we also store these values along with the incident that the agent opened from the form that gets popped up (existing or new). I also wanted the unique call reference given by the phone system to be passed but can't do that in the Shoretel system. This way we could of tied the CDR and incident records together tighter

Its ok but where we really want to get to is to integrate to the level where the call (inbound or outbound) is associated with the incident(s)


View solution in original post

11 REPLIES 11

Hi, sorry ended up with a new user name



Basic integration is covered in the wiki http://wiki.servicenow.com/index.php?title=Computer_Telephony_Integration_%28CTI%29



The route we went is that there is a UI page that does a lookup on the sys_user table for the phone number based on the parameter passed in the URL


If it is found then a view is shown, this view shows user details and a related list of incidents


This allows the agent to select an existing incident or create a new one



If the user record was not found then there is some custom jelly to allow the agent to find the user



The call table contains Call ID, Incident, Phone, Queue




So the URL looks something like


//instance_name.service-now.com/phone_redirect.do?phone=12345



Within the phone_redirect.do there will be a redirect based on the record e.g.



window.location = "sys_user.do?sys_id=" + userRec.sys_id + "${AMP}sysparm_nostack=yes${AMP}sysparm_view=user${AMP}call_id=" + newCall;


Hello Skakesc,

 

I am trying to have the same set up achieved with Avaya telephony system, would be grateful if you can provide more specifics around how you managed to achieve this.

Thanks,

Dhruv 

 

 

Inactive_Use603
Kilo Expert

does CTI works only for incident? Can I route the CTI default behavior to any other form rather than incident form?


Oscar,



In 2015, I did a Shoretel Integration for a customer in phases.
They were at the level of ITIL Maturity where Everything Is An Incident.
Phase One was to troll through the Incident Records to pull out the most common Incidents That Are Really Requests.


Phase Two was building out Service Catalog Items for those items, plus a Generic Service Request record producer for "everything else".



At this point The Service Desk staff ask for the caller's information *before* navigating to either the New Incident form, or the Service Catalog to open the item they were requesting. This got them out of Everything Is An Incident.



Phase Three was turning on the New Call module in ServiceNow, which allowed the Service Desk staff to log wrong numbers, callbacks for status updates, etc., as well as transfer the Call to an Incident (auto-populating the user's info and the information the Agent had already collected into the form), OR selecting "Request", which delivered them to the Service Catalog to find the item, or the Generic Service Request Record Producer, in the Catalog. (Drawback - I wasn't able to autopopulate the user's information into the request, since the Agent had the intermediate step of selecting the catalog item to complete before there was a form to fill...)



Phase 4 moving the Service Desk Agents off of their desk phones and onto the Shoretel soft-phone. I made a copy of the CTI Processing business rule, and modified the copy to deliver the agent to a new Call Record, rather than the Incident form. I still had the shortcoming of not being able to transfer the caller's information into a Service Request, but the rest worked really well by having the Shoretel soft phone pop a new tab/window (depending on the user's default browser behavior) with the properly formatted URL for the action we wanted to take.



The jumping-off points for making CTI Processing do whatever you want it to do are:



The IF statement on Line 24 in the Business Rule:


                      if (userID != null) { // If there is no UserID found from the Caller ID data...


                      var gr = new GlideRecord("incident"); // ...start a new Incident. Change this to what you actually want it to do.



...the IF statement on line 47.


                      if (userID != null) {


                      if (fQuery.length > 0)


                      fQuery += "^";


                      fQuery += "caller_id=" + userID;



...the IF statement on line 52.


if (url == null) {


                      url = "incident.do?sys_id=-1";


                      if (fQuery != null)


                          url += "&sysparm_query=" + fQuery;


UPDATE to an old post/question:  3CLogic's cloud call center solution  will allow integration with ITSM (Incidents), CSM (Cases), and Employee Workflows, as well as contacts, users, interactions, etc.  Feel free to contact 3CLogic at info@3clogic.com to explore specific use cases and requirements and how 3CLogic's certified solution can support your ServiceNow voice needs.