Computer Telephony Integration

A Computer Telephony Integration (CTI) is accomplished in ServiceNow simply by the external CTI client on the user machines formatting a URL to the ServiceNow instance.

The URL must have the following components:
  1. The base URL. For example: https://<instance name>.service-now.com/cti.do? would get to the instance and ask for CTI processing
  2. Parameters identify what parts of the incident form to display.
    • sysparm_caller_name=name where 'name' is the name for a user within the SNC system
    • sysparm_caller_phone=phone where 'phone' is the the phone number for a user within the SNC System. Either name or phone should be provided if you want to identify the user on the call. Other parameters may be supplied to identify the user as discussed later.
    • syparm_task_id=taskID where 'taskID' identifies an existing issue within the system that the caller is calling about.
    • sysparm_view=view where 'view' is the name of the view within the SNC system that should be used to display the data
    • sysparm_xxxx=value where 'xxxx' is the name of a field within the 'incident' record that should be populated with the specified 'value'. For example sysparm_priority=1 would result in the priority field set to value of 1 when the new incident screen is popped.
    • sysparm_cti_rule=name is the name of a business rule that should be invoked for CTI processing rather than using the default behavior.

Example

So an example URL to bring up a screen shot for user Don Goodliffe would look like the following

https://<instance name>.service-now.com/cti.do?sysparm_caller_name=Don%20Goodliffe

The default activity that will happen in SNC when getting a CTI request is the following:
  1. The system will try to identify the user by the sysparm_caller_name value if it was supplied
  2. If no user has been found, the system will try to identify the user by the sysparm_caller_phone value if it was supplied
  3. If a user has been identified then one of the following will occur
    1. If the user has incidents that are currently open the screen pop will be the caller screen pop that shows information about the current caller and all the incidents the caller has currently opened
    2. If the user does not have any open incidents, the screen pop will be for a new incident will all information provided in the cti URL filled in.
  4. If a user was not identified and a taskID was given and the taskID exists, then the screen pop will be to show the details for the task.

If the default behavior is not what is wanted then the installation can write a business rule that decides what should be done. The business rule funtion name has a default value of 'cti' but can be overridden with a sysparm_cti_rule value in the CTI URL.

The business rule must return the URL that should be used for the screen pop. A sample business rule is supplied in the system with a name of "CTI Processing". This business rule actually implements the 'default' behavior as described above.

Any parameter that was on the CTI URL is available to the business rule as a global value. For example to get the value of the caller name:

var name = sysparm_caller_name

Multiple sysparm parameters can be used, separated by ampersands (&).

Here is a screenshot of the result of calling the above mentioned URL:
Figure 1. Computer Telephony Integration