Case handling time (Preview)

Organizations might have the need to track the total time agents spend on cases for several reasons. By monitoring time, managers can identify areas where agents excel and where improvements are needed, ensuring resources are allocated effectively. This data is crucial for performance evaluations, and it helps set benchmarks and goals. Understanding the time spent on cases allows organizations to improve processes and improve customer satisfaction. For industries with regulatory requirements, time tracking ensures compliance and provides necessary documentation. If you are familiar with Dynamics 365 Customer Service, then you know that tracking case handling time is not something that we were able to do in the past, but this feature is now in preview! In this article I will explain how the feature works and I will discuss how to enable this functionality in Dynamics 365 Customer Service.

Configuration

Depending on which app your agents are using (single session app or multisession app), there are one or two things that need to be done in order to get this working in your environment. First, you’ll need to enable the feature. You can do this by navigating to the ‘Customer Service Admin Center’ App and accessing Case Settings under ‘Customer Support’ section on the left of the screen. The ‘Case handling time (preview)’ screen opens. Check the box next to ‘Enable case handling time’ to turn the feature on. Below you see the ‘Update Interval’ section, which represents the interval of when a time tracker row (yes this is a new table in Dataverse) is created or updated in the system. The value in this field can be between 10-60 minutes. Please keep in mind that the time interval is only used if your agents are using a multi-session app like the Customer Service Workspace app. More details on how this all works in the backend are below.

The second thing that needs to happen is to add the ‘Case handling time widget’ control to a case form. NOTE: In the Customer Service Workspace App (this is a multi-session app) time will automatically be tracked even if the widget isn’t added to a case form. If you want to track time on a single session app like a custom app or the Customer Service Hub app, you’ll need to add the widget to a case form. If the widget isn’t added to the form, time will NOT be tracked. The widget can be added by navigating to make.powerapps.com, make sure you have the correct environment selected! Search for the case table and open the form you want to add the Case handling time widget to. Please note that it doesn’t matter where you add the widget to the form, as it will always appear on the bottom right of the case form for the end user, the way the widget looks reminds me a bit of a chat widget.

When the case form is open, add a subgrid to a section on the form. Check the ‘Related Records’ checkbox and select the ‘Time Trackers’ table. For the view you can select ‘All Time Trackers’, then click ‘Done’. You can rename the control to ‘Time Trackers’ or leave it as is. Select the grid you just added, then scroll down and click on ‘+ Component’. Search for the ‘Handling Time’ component. If you don’t see it here, click on ‘Get More Components’ and find and add the component from the list. There are two things you can configure; the first one is to ‘Allow users to add time logs’. If this is set to ‘True’ this will allow agents to manually add time logs to the system. The second option is to ‘Show users only their contributed time’. If this is set to ‘False’, agents will be able to see all time by all agents spent on this case. If this is set to ‘True’ they will only be able to see their own time spent on the case. The default value for this is ‘False’. Make sure you hide the label of the control, then click ‘Save and Publish’ the changes.

Time Tracking Widget

Once the feature is enabled and the case form is configured, agents will see the new case handling time widget appear when they open a case. (Keep in mind agents must use the case form for which the widget was configured to see the widget – DUH!)
Total Time (if this was configured on the form): this is the sum of all the time that has been spent on the case. If the agent turns on the ‘My Time’ slider, the value shown under Total Time will be the time they’ve spent on the case. The Automatic Time Tracking field also shows a sum of all the time that was automatically tracked. Turning on the ‘My Time’ slider changes the value to the time the agent has spent on the case. The Manual Time Tracking section allows agents to manually add time to the case, they can do this by clicking the + sign under ‘Time Logs’. The Activities section shows the total time spent on activities. This is the sum of the values in the duration field of the related activities. Agents can click ‘Show History’ to view the associated time tracker rows that were created by the system, manual time logs, and case activities and their associated time. Keep in mind that there will never be more than one time tracker record per agent on the same case. It’s also important to understand that the behavior of automatic time tracking is different for multi-session apps and single session apps. The Customer Service Workspace app is a multi-session app, and any custom model-driven apps and the Customer Service Hub app are single session apps. I will first discuss how the time tracking works for multi-session apps.

Automatic Time Tracking in Multi-Session Apps

Multi-session apps like CSW (Customer Service Workspace) are the only apps that uses the time interval that was configured in the Customer Service Admin Center to track time. When an agent opens a case in a multi-session app, time tracking happens immediately and the data is temporarily stored in the local storage of the browser, not in the ‘Case handling time widget’ control. The system will use the time interval to create/update time tracker records in Dataverse. Let’s say for the examples below that I configured the time interval to 10 mins. What this means is, that the system will create and update time tracker rows, in intervals of 10 minutes.

Example 1: An agent called John just got a new case# 1234 assigned, and they open the case for the first time in CSW. At this point, the time tracking will start (using the local storage in the browser) but no time tracker row will be created yet. John closes the case form after working on the case for 6 minutes. Here is what happens: The first time tracker row will be created once the time that was configured in the time interval has passed. Since John worked on the case for 6 minutes, time tracker row capturing those 6 minutes will be created 4 minutes later. (This happens 10 minutes after the case was opened in the browser.) NOTE: Keep in mind if the agent closes/refreshes the browser before the time interval (10 mins), NO TIME RECORD WILL BE CREATED/UPDATED FOR THAT TIME! So, if John closes his browser after working on the case for 6 mins, the time interval of 10 mins hasn’t passed yet. Which means no time tracker row will be created and the time John worked on the case will be lost.

Example 2: Lisa works on case #4567 for 12 mins, then she closes her browser. The following happens: After 10 mins the time tracker row is created, storing the first 10 minutes Lisa worked on the case. The last 2 minutes of time will not be tracked because Lisa closed the browser before the second time interval (after 20 mins) triggered the update of the time tracking row! The remaining 2 mins of Lisa’s time that wasn’t update to the time tracker yet and was stored in the browser is gone and will not be tracked!

Example 3: Let’s go back to John. John opens the same case again the next day and he works on it for an additional 8 minutes. He closes the case form (not the browser) and starts working on something else. After 10 minutes, the existing time tracker record gets updated and it now shows John worked on the case for a total of 6+8=14 minutes. The most important thing to remember is that the time tracking for a multi-session app is first done in the browser. Once the time configured in the time interval passes, a time tracker record will be created or updated. The ‘Case handling time widget’ control has nothing to do with it. If a case form is used that doesn’t have the control, time will still be tracked. If an agent switches to a different case form in CSW, the time will still be tracked. If Lisa is working on the same case as John, two time tracker rows are being created, one for John and one for Lisa. Please refer to this website for the behavior in other scenarios.

Automatic Time Tracking in Single-Session Apps

Admins are not able to create multi-sessions apps, so custom model-driven apps are always single-session apps. The Customer Service Hub (CSH) app is also a single session app. The difference here is that in order to take advantage of the time tracking capabilities, an admin will need to add the ‘Case handling time widget’ control to the form. Single-session apps track time through this control, it doesn’t temporarily store the data in the browser like with multi-session apps. This is also the reason why the behavior under the hood is different between the different types of apps. As I stated earlier, the time interval is not really used with the Single-Session apps. The creation of the time tracking rows is managed by the control and it happens immediately. For example, when an agent opens a newly created case, a time tracking record will be created immediately. If the agent works on the case for 8 minutes and closes the case form, the system immediately updates the time on the time tracking row, it doesn’t wait until the time interval has been met. If an agent switches to a different case form that doesn’t have the ‘Case handling time widget’ control configured on the form, time tracking will stop. In single-session apps, as long as the case is in focus, the timer runs. If you close or refresh the browser, navigate to a different entity or case form, the timer stops but the time tracker record will be updated. I hope you enjoyed this article! Be sure to check in again next week for a new article or subscribe here to never miss another post!

Share this!

Leave a Reply