Computer Telephony Integration
Summarize
Summary of Computer Telephony Integration
Computer Telephony Integration (CTI) in ServiceNow enables interaction between a user's telephony system and the ServiceNow instance through a URL sent by the CTI client. This URL triggers CTI processing and can display relevant incident information based on caller details and other parameters. It requires authenticated access and facilitates efficient incident management during calls.
Show less
Key Features
- CTI URL Components: The CTI client sends a URL to the instance structured as
https://<instance name>.service-now.com/cti.do?with parameters that control the displayed incident form. - Parameters:
sysparmcallernameand/orsysparmcallerphone: Identify the user on the call.sysparmtaskid: Links to an existing task or incident if provided.sysparmview: Specifies the view for displaying data.sysparmxxxx: Populates specific incident fields with values (e.g.,sysparmpriority=1sets priority to 1).sysparmctirule: Specifies a custom client-callable script function for CTI processing instead of the default.
- Client-Callable Script Functions: Custom CTI logic can be implemented in client-callable script includes. Updates to records must be handled by separate non-client-callable functions.
- Business Rule Integration: URL parameters are accessible as global variables within business rules, enabling dynamic control over the CTI pop-up screen and its content.
- Default CTI Processing Script: When no custom rule is specified, the default script attempts to identify the user by name or phone. If found, it either shows open incidents or opens a new incident form pre-populated with URL data.
- Customization Notes: Handling of existing tasks by taskID is commented out in the default script and requires custom implementation for full functionality.
Key Outcomes
- ServiceNow customers can integrate their telephony systems to automatically display caller-related incident information, improving response times and user experience during calls.
- Flexible URL parameters allow precise control over which incident data is displayed or created, supporting customized workflows.
- Ability to extend CTI behavior through client-callable scripts enables tailored processing logic while maintaining secure and modular code structure.
- Recognizing callers by name or phone number streamlines identification and incident retrieval, reducing manual lookup efforts.
- Understanding the default script behavior and its limitations assists customers in planning necessary customizations for advanced CTI use cases.
Computer Telephony Integration (CTI) is accomplished by the CTI client on the user machine sending a URL to the instance.
- The base URL. For example:
https://<instance name>.service-now.com/cti.do?would get to the instance and ask for CTI processing. The URL is accessible to authenticated users only. - Parameters identify what parts of the incident form to display.
- sysparm_caller_name=name where 'name' is the name for a user.
- sysparm_caller_phone=phone where 'phone' is the user's phone number. Either a 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.
- sysparm_task_id=taskID where 'taskID' identifies an existing issue that the caller is calling about.
- sysparm_view=view where 'view' is the name of the view to 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 shown.
- sysparm_cti_rule=name where 'name' is the name of a function to be invoked for CTI processing rather than using the default script. The function must be defined in a sys_script entry marked client
callable. If the function needs to insert, update, or delete any GlideRecord(s), it must call a separate non-client callable function to perform the update(s).Note:While the CTI Processing script has been changed to be client callable, the code implementing the task view has been commented out. You must implement a new non-client-callable function for the code that performs the task.update().
To make a script client-callable you must check the client-callable checkbox on the form that displays when the sys_script entry is displayed. The client-callable checkbox might not show by default. To show the client-callable checkbox, you may need to modify the fields that show on the form using the gear icon and slushbucket mechanism.
Parameters on the URL are available to the business rule as global values. For example:
The business rule you specify must return the URL for the pop-up screen, and set the 'answer' global variable.var name = sysparm_caller_name;
https://<instance name>.service-now.com/cti.do?sysparm_caller_name=Don%20Goodliffe Multiple sysparm
parameters can be used, separated by ampersands (&).CTI Processing script
When the sysparm_cti_rule parameter is not specified, the system uses the CTI Processing script to provide the following functionality.
- Tries to identify the user by the sysparm_caller_name value if it was supplied.
- If no user has been found, the script tries to identify the user by the sysparm_caller_phone value if it was supplied.
- If a user has been identified then one of the following is done
- If the user has open incidents, the popup screen shows information about the current caller and all the user's open incidents.
- If the user does not have any open incidents, the popup screen shows a new incident with information provided in the URL shown.
- If a user was not identified and a taskID is given and the taskID exists, then nothing happens. The code to handle this case is commented out. If you want the popup screen to show the details for the task, you must modify the CTI Processing script to put the functionality in a separate non-client-callable function.