The Intelligent Contact Distribution (ICD) API is a GraphQL API that allows you to intelligently determine the optimal participant/contact at any point in the conversation. Whether you’re connecting with a virtual agent or a human agent (real time or offline), ICD minimizes customer effort and friction while optimizing the supply of human agents.
The following diagram shows the high-level flow within the ICD API.
There are two possible paths that ICD follows to determine the optimal contact.
Intelligence Path
The Intelligence Path uses a decision model that takes advantage of data features related to the conversation, user, and booking to intelligently route the conversation to the appropriate channel.
The decision model is a weighted equation that calculates a score by combining multiple-weighted normalized data features. This score is calculated for each channel that the partner supports; the channel with the highest score is chosen as the optimal channel.
The decision model uses the following data features:
Estimated Wait Time: This is the amount of time in seconds that the customer would have to wait in queue before reaching an agent for the respective channel.
Hours of Operation / Agent Availability: This determines whether the channel is within its hours of operation and if agents are logged in to assist the customers for the respective channel.
Booking Urgency: This is a derived data feature that indicates the urgency of the booking which can be high or low based on the trip stage, booking status, and booking type. The decision model uses this feature to optimize the usage of online human agents by pushing conversations with lower urgency to offline channels if the load on the online channels is already high.
Channel Transition Effort: This is a configured data feature that is a measure of the effort required for customers to switch channels and used to give a preference to the channel on which the conversation originated.
Business Override Path
You can override the Intelligence Path by creating a business override rule to deflect conversations to a particular channel. You do this by creating a set of rules that are executed to route conversations to the configured channel.
At the start of execution, ICD checks to see if the partner or channeloriginid has a channel throttling rule defined. If it does, then the ICD checks the following configurations:
Channel Throttling Rule configuration: The channel throttling rule is executed and the channel that is defined in the rule is chosen as the optimal channel.
Hours of Operation configuration: Check to see if the channel has hours of operation defined in the Hours of Operation configuration. If the current time is within the hours of operation, the channel is still the optimal channel. If not, then the channel defined in the hours of operation configuration becomes the optimal channel.
Estimated Queue Wait Time (EWT) Threshold configuration: Check to see if there is an EWT threshold set for the respective partner/channel. If the EWT is within that threshold, the channel remains the optimal channel. If not, the alternative channel specified in the rule becomes the optimal channel.
Getting started
The ICD tutorial
pages outline some quick steps to get you up and running with the Intelligent Contact Distribution API.