How do you add a “hour spent” field to the discussion in the default “Display Form”? Essentially I’m trying to achieve that each agent would document the issues and the time they spent in the discussion who worked on the issue ticket.
As I can understand, you followed this instruction to create “hour spent”, is that right?
To add a custom column to any form in your HelpDesk you should use Forms Designer. Please review this page to find more information on how to add custom columns to forms.
I did see the article, however, I was hoping to find a way so every time an agent leave a note in the reply, they will have a field to input hour spent. The article suggest to put in the billable hour at the closure of the ticket, but it may not suit our use case. For better understanding, some of our use case are:
Multiple agents working on the same trouble ticket, and the ticket may not close on the first try. At the end of month, we would like to see how many hours each agents spent on the same trouble ticket or how many total hours each ticket had required.
Infrastructure agents who work on weekly maintenance such as server patch or testing new functions will also require to document the hour spent. They would open one ticket, and leave it open for a whole month. Every-time they work on a function (software patch on the weekend, etc) they can document how many hours they spent each time.
So ideally, I think the Discussion/Reply is the best place for documenting those "hour spent" data.
Can you describe the feature a bit briefer? Do you want fields in tickets Edit Form so different agents (even not the one a ticket is assigned to) can choose their names in a dropdown and manually set a number of hours (or minutes) that working on this ticket took? So each agent accumulates a number of hours spent to the ticket that can be checked. Or do you want to make this process automatic?
Ideally, when I add a comment to a ticket, I would like to add a number of hours at the same time. In a perfect world, these hours would be aggregated up to the ticket. I don’t care who did the work, just the hours by everyone working on the ticket. The objective being how long it takes to solve the ticket in working hours rather than elapsed between open and close date of the ticket.
If the task is to put in a number of hours manually and get a total sum of them, then I can suggest the following.
Create two new columns for a "Ticket" list: "LastSpentTime" and "TotalSpentTime". Choose a number type of data. The first column is required to contain information, the second one has a default value set to 0. I set the number of decimal places to unify data presentation.
First, open "Edit Form" and add a "LastSpentTime" field to it. Set the width of the table cell to 100, specify a title, and set control width to 200. Orientation is vertical. Save the form.
Create a flow on Microsoft Flow. When an item is created or modified in the "Tickets" list, the flow is started. Pass the required parameters from a trigger action. Update only "LastSpentTime" to null and add the current "TotalSpentTime" to "LastSpentTime" and assign it to "TotalSpentTime". Use the following expression: add(triggerBody()?['LastSpentTime'], triggerBody()?['TotalSpentTime'])
The flow is infinite, because the flow starts on the item modification and modifies the one by itself. To avoid the infinite reiteration add a condition after the trigger and put the further action in "Yes" block. In the condition, the "LastSpentTime" value should be not equal to null. So if the flow has changed the field value to null or for some reason it's empty, the item will not be updated.