Unified Service Desk (USD) for Microsoft Dynamics CRM contains the ability to show a timer on sessions, sometimes it is useful for operators to see how long they have been talking to the customer. Also, this timer can change colour depending on the length of the call. Acting as a visual prompt to the operator that maybe they haven’t handled this query fast enough!
The timer control will be available by default in the sample packages provided by Microsoft but if you aren’t using one of those you’ll need to configure it from scratch. Here are instructions on how to create and configure the timer control.
Also there are a couple of actions that you can add to take a copy of the timer values. This might be useful if you want to then update the phone call entity with this information etc.
Step one – Create host control for the timer
Step two – Configure the timer colour changes
On the timer hosted control you can optionally add extensions to drive what colour the timer is displayed in and trigger changing the colour after “n” seconds. Some sample code is below, hopefully you get play around with this to create the effect you require.
<thresholds> <threshold backgroundcolor="#E4E4E4" /> <threshold foregroundcolor="#EEEE00" seconds="70"/> <threshold foregroundcolor="#FF0000" seconds="90"/> </thresholds>
Step three – Add uii actions to return timer information to the context
There are two useful uii accounts on your timer hosted control, I don’t believe these exist by default so you may need to create them.
- GetSessionSeconds, returns the total time, in seconds, that the session lasted.
- GetSessionUsageInSeconds, returns the total time, in seconds, when the agent was active in the current session.
Below you can see what my uii actions looked like. Essentially I just created these setting the name and hosted application fields. All other fields were left with the default values.
Step four – Create actions to copy timer information to the context
Now you have the uii actions you can create action calls to trigger at appropriate points. I’m going to demonstrate the actions being run from the debugger, hopefully you will be able to adapt this concept to create action calls and execute as you require. Below you can see that I ran GetSessionUsageInSeconds and GetSessionSeconds in the debugger. (With a session open!)
Now, when you refresh the data parameters if you look under $Return you will see two new parameters.
Assuming you wish to use these replacement parameters in other actions then simply reference them as follows;
You may (for example) find it useful to update a field on the phone call based on this information.
Hopefully this post has been useful and has given you some ideas on how to use the timer hosted control in USD. J