Understanding the ICM script

The ICM script performs all tasks associated with ensuring the web request is routed to the correct peripheral target. The script can perform real-time analysis of available resources at each location in your configuration and make decisions on routing the requests based on that analysis.

ICM Script Tasks

When routing Web requests, the ICM script must perform these tasks:

Evaluate Available Resources

ICM selects a resource based on a number of factors. For instance, a script might query all resources to determine the location of the agent who has been available the longest. Another factor ICM can use to route calls is the Minimum Expected Delay (MED). With MED, ICM queries selects the resource that expects the shortest wait for the call.

Choose between Collaboration and Basic Callback

The script can also evaluate values passed to the script from the Web request. For instance, the script might evaluate the value passed in the ANI field to determine the best skill group to which to route the call.

The route request also contains a flag that determines whether a Collaboration session or Basic Callback has been requested. This value is entered in the wantscollab field on the Web callback page. (A value of on indicates Collaboration; off indicates Basic Callback.) We suggest this value be mapped (using the input map) to one of the ICM call variables (CALLVAR2).

The script must evaluate the value in this field to determine proper routing of the Web request. Trailhead destinations are set up to provide either Web Collaboration OR Basic Callback. Therefore, the script must examine the value in the wantscollab field to ensure the request is routed to the correct destination.

Associate a Unique ICM Identifier with the Web request (optional)

This optional step ensures that Web calls routed through the ICM can be identified in Collaboration reports. Using a Set node, you can use the RouterCallDay and RouterCallKey variables to assign a unique identifier to one of the ICM call variables. You can then use your output map to map the identifier to Collaboration call variable 1 (User1). You can then identify Web calls that were routed through the ICM by locating the identifier in Collaboration reporting.

Return Labels that Correspond to Trailhead Destinations

ICM scripts return labels that indicate the peripheral target to which the call is routed. Labels are strings that are interpreted by the Web PG and point to particular locations and routing addresses within the configuration. (A routing address typically corresponds to a skill group.)

The Trailhead administrator sets up Trailhead destinations that correspond to each label output by an ICM script. Trailhead destinations simply indicate the method your site will use to respond the Web request. For instance, one Trailhead destination might provide Web Collaboration; another might provide Basic Callback only. Another destination might serve the caller a URL that indicates the call center is down. (See the Configuring destinations of this guide for more information on Trailhead destinations.)

Because Trailhead destinations indicate a type of response to a request, you will likely have more Trailhead destinations than actual call centers.

Your ICM script, therefore, must return labels that correspond to each Trailhead destination.

Example

Below is a sample script that might be used to route Web calls to two different types of agents.

 

 

For more information on creating scripts, see the ICR System Manager Guide.