Measuring and Monitoring Business Hours spent on a Ticket

Sub Banner

 

 

 

Business Hours Reporting provides an optional extension ot the SLA Management & Reporting module to accurately measure and monitor the amount of time a ticket spends within each state, or the amount of time taken to reach specified events in the ticket life cycle.

These calculations will make use of the configured Working Hours specifications configured as part of your SLA Management setup to ensure that no time is counted during periods outside of business operating hours.

BHR Reporting Side App

The information gathered by the Business Hours Reporting Service is displayed in the BHR Reporting side App sing a bar chart notation.

Calculating the time Spent within each State

Once installed and configured each time the ticket status changes the amount of time spent in the previous state is measured in hours to a precision of 2 decimal places.

As the ticket moves back and forth between each state the amount of time in each state is accumulated accordingly, e.g. open to pending and then back to open before solved.

When performing a calculation the Business Hours reporting server takes account of any non working days and hours specified within the configured Working Hours specifications.

This ensures all calculated values include only the time elapsed during business operating hours.

Thus an accurate assessment can be made of the time taken to resolve the ticket while the ticket was in a state of New or Open, the amount of time waiting for a response from the customer (Pending), or the amount of time control waiting for input or support form a third party or alternative department (On-hold).

Calculating Hours to First Response

Business Hours Reporting also provides an option to calculate the amount of time taken before the assigned agent provides an initial public response.

This calculation can be configured to return the result as hours to a precision of 2 decimal places or as full minutes.

*Note: when calculating in full minutes the label in the App will still display "Hours to First Response", even though the value is displayed in minutes.

As above, this calculation will take account of any non working days and hours specified within the configured Working Hours specifications.

Since the call to this service is made from within a trigger, the definition of what constitutes a First Response is entirely configurable through the use of trigger conditions.

Once these conditions have been met, the Business Hours Reporting service is called with a request to calculate the number of business hours or minutes since the ticket was created.

Calculating Hours to Solved or additional Events

It is also possible to use this service to calculate the time taken to Solve the ticket or to reach any other event.

The event itself is defined through the conditions specified in a trigger that calls the service (e.g. status is Solved) to determine when to call the Business Hours Reporting service.

The service will calculate the amount of time between the creation of the ticket and the firing of the trigger making the service call.

By default the calculation will take into consideration any amount of time the ticket was in a status of Pending (i.e. waiting for a reply from the customer), but the service call can be configured to exclude Pending hours and minutes in the calculation if required.

*Note: the calculated time for these additional events is not displayed in the BHR Reporting Side App, but the values are recorded in a ticket filed for use in views or external reporting tolls such as GoodData.

Create Custom Ticket Fields for Each Measurement

Each measurement of time spent in a status or time to reach an event will require a Custom Ticket Filed of type Decimal to hod the corresponding calculated value.

For the calculation of the time spent within each state, the following four fields must be created and named exactly as specified:

  • Hours in New
  • Hours in Open
  • Hours in Pending
  • Hours in On-hold

When the Business Hours Reporting service is called an attempt will be made to locate these fields and if found will use them to record the results of the calculation against the ticket.

For the calculation of the time taken to reach an event the name of the field must take the form "Hours to event_name" or "Minutes to event_name" where "event_name" is a unique identifier for the associated event and the presence of "Hours to" or "Minutes to" will determine if the calculation should be made in hours or minutes.

For example: "Hours to First Response" or "Minutes to First Response" should be created to record the results of calculating the time taken for the assigned agent to provide and initial response to the requester.

Create a Custom Ticket Field to Record the Previous State and Time

When the Business Hours Reporting service is called to calculate the time spent within a state, the service will first check for the name of the previous state and the time the ticket moved into this state.

This value is recorded in a Custom Ticket Field named Previous State/Time which must be created as a Text field in your Zendesk account (1).

The service will calculate the amount  of time in business hours since the recorded time and increment the corresponding time measurement field with the calculated value (e.g. Hours in Pending) (2).

The name of the new state and the current time are then recorded in the Previous State/Time field (3) until the ticket state changes again.

Configure the BHR Chart App

*Note: If you haven;t already done so, before attempting to configure this App please familiarize yourself with the instructions for the deployment and configuration of CloudSET Apps.

Once deployed and installed the BHR Chart App (3) can be configured (4) and utilized from within the CloudSET Apps Library.

*Note: the configurator can also be invoked from within the CloudSET Widgets Library (5), since the configuration settings will apply to the use of the corresponding Widget in Web Portal.

Identify and Map the Fields to be Used in the BHR Chart App

In order to display information in the BHR Chart side App it is necessary to confirm the presence of the Custom Ticket Fields used to record the results of time calculations and which values should be displayed.

This is achieved by selecting the corresponding filed name from the drop-down next to each measurement (1).

*Note:

Although the fields used to measure the amount of time a ticket resides in each state have a fixed name and purpose (1), the field specified in the First Response drop-down (2) could be any field used to measure the amount of time to reach an event in hours or minutes.

However, regardless of the name and purpose of the mapped field, the label in the BHR Chart side App will always be displayed as "Hours to First Response".

Create a Business Hours Reporting URL Target

The Business Hours Reporting service is called using a URL Target which must be created with the following Parameters:

  1. URL: https://app.cloudset.net/BHReporting
  2. Method: GET
  3. Attribute Name: TARGET

Introduce a Trigger to Measure the Time Spent within each State

The measurement of the time a ticket spends within each state must be invoked through the use of a trigger to call the Business Hours Reporting service at the appropriate time.

The trigger must fire each time there is a change of ticket state, except when the ticket is closed (1).

When these conditions are met the trigger should notify the Business Hours Reporting target (2), supplying just the ticket.url in the Message body (3).

Depending upon the value of the previous state, the appropriate Custom Ticket Field (e.g. Hours in Pending) is updated with the calculated value (1) as the number of business hours since the previously recorded time (2).

Once the fields are updated the BHR Reporting side App will be populated with the newly calculated value (3).

The Previous State/Time Custom Ticket Field is then updated with the name of the new ticket state and the time of the most recent change in state (4).

Introduce a Trigger to Measure the Time to reach the First Response

To measure the amount of time taken for the agent to provide an initial response, a second trigger is required to call the Business Hours Reporting service.

This trigger must include all conditions used to determine when a first response has been given (1).

The service is called by notifying the Business Hours Reporting target (2), including the ticket url (3) in the message body appended with the name of the Custom Ticket Field used to record the calculated value (4), delimited by the "/" character.

If the calculation is to be made as a number of hours to a precision of 2 decimal places, then the name of the Custom Ticket Field should be in the format "Hours to event_name", e.g. Hours to First Response.

However, if the calculation is to be made in whole minutes, then the name of the Custom Ticket Field should be in the format "Minutes to event_name", e.g. Minutes to First Response.

When called by the trigger the Business Hours Reporting service will calculate the time to First Response as the number of business hours or minutes since the ticket was created until now.

The result will be recorded in the Custom Ticket Field supplied in the message when notifying the target (1).

Once the field has been updated the BHR Reporting side App will be populated with the newly calculated value (2).

 

Introduce a Trigger to Measure the Time to Solve the ticket

It is possible to measure the time taken to reach Solved or any number of additional events during the life cycle of the ticket.

In order to achieve this each measured event must have its own trigger to call the Business Hours Reporting service and a Custom Ticket Field within which to record the results.

Just as in the trigger used to calculate the Time to First Response in the previous step, the trigger must have its own set of conditions (1) and when notifying the Business Hours Reporting target (2) the associated Custom Ticket Field must be provided (3).

When called by the trigger the Business Hours Reporting service will calculate the time to time to reach the event as the number of business hours or minutes since the ticket was created until now.

The result will be recorded in the Custom Ticket Field supplied in the message when notifying the target (1).

It is possible that a the event will occur more than once during the life of the ticket (e.g. the ticket could be solved, reopened and then solved again).

However, the calculation of the time taken to reach the event will always be based on the time the ticket was created and the time the service is called.

As such the number of hours or minutes calculated each time the service is called will overwrite the value previously recorded in the corresponding Custom Ticket Field (2).

*Note:

Only one calculated event time measurement can be displayed in the BHR Chart side App and this is usually the Time to First Response.

However, the Custom Ticket Fields used to record the calculated values are available for use in views and eternal reporting tolls such as GoodData.

Exclude Time in Pending when Calculating Time to reach an Event

By default, when the Business Hours Reporting service is called to calculate the time taken to reach an event (e.g. Ticket is Solved), the calculation will include the amount of time the ticket has spent in the state of Pending.

However, if required it is possible to instruct the service to discount the time spent during Pending from the total number of calculated business hours or minutes.

This is achieved by appending the message when notifying the Business Hours Reporting target (1) with the expression "/excludePending" (2).

*Note: at present it isn't possible to exclude the amount of time spent in a state of On_hold, so if this is a requirement it will be necessary to derive the total time as described in the next step.

Calculating the Time to Solved excluding time in On-Hold

As outlined in the previous step it isn't possible to exclude the amount of time spent in a state of On_hold when calculating the time taken to reach an event (e.g. Ticket is Solved).

However, using the data calculated by the Business Hours Reporting status change feature it is possible to derive the total time to Solved by simply adding  the total time in a state of New to the Total time in a state of Open.

This will ensure that the total time to solved doesn't include any time during which control was with the customer or a third party and any SLA timers were paused.

Measuring and Monitoring Business Hours spent on a Ticket

Sub Banner

Measuring and Monitoring Business Hours spent on a Ticket

 

 

 

Business Hours Reporting provides an optional extension ot the SLA Management & Reporting module to accurately measure and monitor the amount of time a ticket spends within each state, or the amount of time taken to reach specified events in the ticket life cycle.

These calculations will make use of the configured Working Hours specifications configured as part of your SLA Management setup to ensure that no time is counted during periods outside of business operating hours.

BHR Reporting Side App

The information gathered by the Business Hours Reporting Service is displayed in the BHR Reporting side App sing a bar chart notation.

Calculating the time Spent within each State

Once installed and configured each time the ticket status changes the amount of time spent in the previous state is measured in hours to a precision of 2 decimal places.

As the ticket moves back and forth between each state the amount of time in each state is accumulated accordingly, e.g. open to pending and then back to open before solved.

When performing a calculation the Business Hours reporting server takes account of any non working days and hours specified within the configured Working Hours specifications.

This ensures all calculated values include only the time elapsed during business operating hours.

Thus an accurate assessment can be made of the time taken to resolve the ticket while the ticket was in a state of New or Open, the amount of time waiting for a response from the customer (Pending), or the amount of time control waiting for input or support form a third party or alternative department (On-hold).

Calculating Hours to First Response

Business Hours Reporting also provides an option to calculate the amount of time taken before the assigned agent provides an initial public response.

This calculation can be configured to return the result as hours to a precision of 2 decimal places or as full minutes.

*Note: when calculating in full minutes the label in the App will still display "Hours to First Response", even though the value is displayed in minutes.

As above, this calculation will take account of any non working days and hours specified within the configured Working Hours specifications.

Since the call to this service is made from within a trigger, the definition of what constitutes a First Response is entirely configurable through the use of trigger conditions.

Once these conditions have been met, the Business Hours Reporting service is called with a request to calculate the number of business hours or minutes since the ticket was created.

Calculating Hours to Solved or additional Events

It is also possible to use this service to calculate the time taken to Solve the ticket or to reach any other event.

The event itself is defined through the conditions specified in a trigger that calls the service (e.g. status is Solved) to determine when to call the Business Hours Reporting service.

The service will calculate the amount of time between the creation of the ticket and the firing of the trigger making the service call.

By default the calculation will take into consideration any amount of time the ticket was in a status of Pending (i.e. waiting for a reply from the customer), but the service call can be configured to exclude Pending hours and minutes in the calculation if required.

*Note: the calculated time for these additional events is not displayed in the BHR Reporting Side App, but the values are recorded in a ticket filed for use in views or external reporting tolls such as GoodData.

Create Custom Ticket Fields for Each Measurement

Each measurement of time spent in a status or time to reach an event will require a Custom Ticket Filed of type Decimal to hod the corresponding calculated value.

For the calculation of the time spent within each state, the following four fields must be created and named exactly as specified:

  • Hours in New
  • Hours in Open
  • Hours in Pending
  • Hours in On-hold

When the Business Hours Reporting service is called an attempt will be made to locate these fields and if found will use them to record the results of the calculation against the ticket.

For the calculation of the time taken to reach an event the name of the field must take the form "Hours to event_name" or "Minutes to event_name" where "event_name" is a unique identifier for the associated event and the presence of "Hours to" or "Minutes to" will determine if the calculation should be made in hours or minutes.

For example: "Hours to First Response" or "Minutes to First Response" should be created to record the results of calculating the time taken for the assigned agent to provide and initial response to the requester.

Create a Custom Ticket Field to Record the Previous State and Time

When the Business Hours Reporting service is called to calculate the time spent within a state, the service will first check for the name of the previous state and the time the ticket moved into this state.

This value is recorded in a Custom Ticket Field named Previous State/Time which must be created as a Text field in your Zendesk account (1).

The service will calculate the amount  of time in business hours since the recorded time and increment the corresponding time measurement field with the calculated value (e.g. Hours in Pending) (2).

The name of the new state and the current time are then recorded in the Previous State/Time field (3) until the ticket state changes again.

Configure the BHR Chart App

*Note: If you haven;t already done so, before attempting to configure this App please familiarize yourself with the instructions for the deployment and configuration of CloudSET Apps.

Once deployed and installed the BHR Chart App (3) can be configured (4) and utilized from within the CloudSET Apps Library.

*Note: the configurator can also be invoked from within the CloudSET Widgets Library (5), since the configuration settings will apply to the use of the corresponding Widget in Web Portal.

Identify and Map the Fields to be Used in the BHR Chart App

In order to display information in the BHR Chart side App it is necessary to confirm the presence of the Custom Ticket Fields used to record the results of time calculations and which values should be displayed.

This is achieved by selecting the corresponding filed name from the drop-down next to each measurement (1).

*Note:

Although the fields used to measure the amount of time a ticket resides in each state have a fixed name and purpose (1), the field specified in the First Response drop-down (2) could be any field used to measure the amount of time to reach an event in hours or minutes.

However, regardless of the name and purpose of the mapped field, the label in the BHR Chart side App will always be displayed as "Hours to First Response".

Create a Business Hours Reporting URL Target

The Business Hours Reporting service is called using a URL Target which must be created with the following Parameters:

  1. URL: https://app.cloudset.net/BHReporting
  2. Method: GET
  3. Attribute Name: TARGET

Introduce a Trigger to Measure the Time Spent within each State

The measurement of the time a ticket spends within each state must be invoked through the use of a trigger to call the Business Hours Reporting service at the appropriate time.

The trigger must fire each time there is a change of ticket state, except when the ticket is closed (1).

When these conditions are met the trigger should notify the Business Hours Reporting target (2), supplying just the ticket.url in the Message body (3).

Depending upon the value of the previous state, the appropriate Custom Ticket Field (e.g. Hours in Pending) is updated with the calculated value (1) as the number of business hours since the previously recorded time (2).

Once the fields are updated the BHR Reporting side App will be populated with the newly calculated value (3).

The Previous State/Time Custom Ticket Field is then updated with the name of the new ticket state and the time of the most recent change in state (4).

Introduce a Trigger to Measure the Time to reach the First Response

To measure the amount of time taken for the agent to provide an initial response, a second trigger is required to call the Business Hours Reporting service.

This trigger must include all conditions used to determine when a first response has been given (1).

The service is called by notifying the Business Hours Reporting target (2), including the ticket url (3) in the message body appended with the name of the Custom Ticket Field used to record the calculated value (4), delimited by the "/" character.

If the calculation is to be made as a number of hours to a precision of 2 decimal places, then the name of the Custom Ticket Field should be in the format "Hours to event_name", e.g. Hours to First Response.

However, if the calculation is to be made in whole minutes, then the name of the Custom Ticket Field should be in the format "Minutes to event_name", e.g. Minutes to First Response.

When called by the trigger the Business Hours Reporting service will calculate the time to First Response as the number of business hours or minutes since the ticket was created until now.

The result will be recorded in the Custom Ticket Field supplied in the message when notifying the target (1).

Once the field has been updated the BHR Reporting side App will be populated with the newly calculated value (2).

 

Introduce a Trigger to Measure the Time to Solve the ticket

It is possible to measure the time taken to reach Solved or any number of additional events during the life cycle of the ticket.

In order to achieve this each measured event must have its own trigger to call the Business Hours Reporting service and a Custom Ticket Field within which to record the results.

Just as in the trigger used to calculate the Time to First Response in the previous step, the trigger must have its own set of conditions (1) and when notifying the Business Hours Reporting target (2) the associated Custom Ticket Field must be provided (3).

When called by the trigger the Business Hours Reporting service will calculate the time to time to reach the event as the number of business hours or minutes since the ticket was created until now.

The result will be recorded in the Custom Ticket Field supplied in the message when notifying the target (1).

It is possible that a the event will occur more than once during the life of the ticket (e.g. the ticket could be solved, reopened and then solved again).

However, the calculation of the time taken to reach the event will always be based on the time the ticket was created and the time the service is called.

As such the number of hours or minutes calculated each time the service is called will overwrite the value previously recorded in the corresponding Custom Ticket Field (2).

*Note:

Only one calculated event time measurement can be displayed in the BHR Chart side App and this is usually the Time to First Response.

However, the Custom Ticket Fields used to record the calculated values are available for use in views and eternal reporting tolls such as GoodData.

Exclude Time in Pending when Calculating Time to reach an Event

By default, when the Business Hours Reporting service is called to calculate the time taken to reach an event (e.g. Ticket is Solved), the calculation will include the amount of time the ticket has spent in the state of Pending.

However, if required it is possible to instruct the service to discount the time spent during Pending from the total number of calculated business hours or minutes.

This is achieved by appending the message when notifying the Business Hours Reporting target (1) with the expression "/excludePending" (2).

*Note: at present it isn't possible to exclude the amount of time spent in a state of On_hold, so if this is a requirement it will be necessary to derive the total time as described in the next step.

Calculating the Time to Solved excluding time in On-Hold

As outlined in the previous step it isn't possible to exclude the amount of time spent in a state of On_hold when calculating the time taken to reach an event (e.g. Ticket is Solved).

However, using the data calculated by the Business Hours Reporting status change feature it is possible to derive the total time to Solved by simply adding  the total time in a state of New to the Total time in a state of Open.

This will ensure that the total time to solved doesn't include any time during which control was with the customer or a third party and any SLA timers were paused.

Measuring and Monitoring Business Hours spent on a Ticket

Sub Banner

 

 

 

Business Hours Reporting provides an optional extension ot the SLA Management & Reporting module to accurately measure and monitor the amount of time a ticket spends within each state, or the amount of time taken to reach specified events in the ticket life cycle.

These calculations will make use of the configured Working Hours specifications configured as part of your SLA Management setup to ensure that no time is counted during periods outside of business operating hours.

BHR Reporting Side App

The information gathered by the Business Hours Reporting Service is displayed in the BHR Reporting side App sing a bar chart notation.

Calculating the time Spent within each State

Once installed and configured each time the ticket status changes the amount of time spent in the previous state is measured in hours to a precision of 2 decimal places.

As the ticket moves back and forth between each state the amount of time in each state is accumulated accordingly, e.g. open to pending and then back to open before solved.

When performing a calculation the Business Hours reporting server takes account of any non working days and hours specified within the configured Working Hours specifications.

This ensures all calculated values include only the time elapsed during business operating hours.

Thus an accurate assessment can be made of the time taken to resolve the ticket while the ticket was in a state of New or Open, the amount of time waiting for a response from the customer (Pending), or the amount of time control waiting for input or support form a third party or alternative department (On-hold).

Calculating Hours to First Response

Business Hours Reporting also provides an option to calculate the amount of time taken before the assigned agent provides an initial public response.

This calculation can be configured to return the result as hours to a precision of 2 decimal places or as full minutes.

*Note: when calculating in full minutes the label in the App will still display "Hours to First Response", even though the value is displayed in minutes.

As above, this calculation will take account of any non working days and hours specified within the configured Working Hours specifications.

Since the call to this service is made from within a trigger, the definition of what constitutes a First Response is entirely configurable through the use of trigger conditions.

Once these conditions have been met, the Business Hours Reporting service is called with a request to calculate the number of business hours or minutes since the ticket was created.

Calculating Hours to Solved or additional Events

It is also possible to use this service to calculate the time taken to Solve the ticket or to reach any other event.

The event itself is defined through the conditions specified in a trigger that calls the service (e.g. status is Solved) to determine when to call the Business Hours Reporting service.

The service will calculate the amount of time between the creation of the ticket and the firing of the trigger making the service call.

By default the calculation will take into consideration any amount of time the ticket was in a status of Pending (i.e. waiting for a reply from the customer), but the service call can be configured to exclude Pending hours and minutes in the calculation if required.

*Note: the calculated time for these additional events is not displayed in the BHR Reporting Side App, but the values are recorded in a ticket filed for use in views or external reporting tolls such as GoodData.

Create Custom Ticket Fields for Each Measurement

Each measurement of time spent in a status or time to reach an event will require a Custom Ticket Filed of type Decimal to hod the corresponding calculated value.

For the calculation of the time spent within each state, the following four fields must be created and named exactly as specified:

  • Hours in New
  • Hours in Open
  • Hours in Pending
  • Hours in On-hold

When the Business Hours Reporting service is called an attempt will be made to locate these fields and if found will use them to record the results of the calculation against the ticket.

For the calculation of the time taken to reach an event the name of the field must take the form "Hours to event_name" or "Minutes to event_name" where "event_name" is a unique identifier for the associated event and the presence of "Hours to" or "Minutes to" will determine if the calculation should be made in hours or minutes.

For example: "Hours to First Response" or "Minutes to First Response" should be created to record the results of calculating the time taken for the assigned agent to provide and initial response to the requester.

Create a Custom Ticket Field to Record the Previous State and Time

When the Business Hours Reporting service is called to calculate the time spent within a state, the service will first check for the name of the previous state and the time the ticket moved into this state.

This value is recorded in a Custom Ticket Field named Previous State/Time which must be created as a Text field in your Zendesk account (1).

The service will calculate the amount  of time in business hours since the recorded time and increment the corresponding time measurement field with the calculated value (e.g. Hours in Pending) (2).

The name of the new state and the current time are then recorded in the Previous State/Time field (3) until the ticket state changes again.

Configure the BHR Chart App

*Note: If you haven;t already done so, before attempting to configure this App please familiarize yourself with the instructions for the deployment and configuration of CloudSET Apps.

Once deployed and installed the BHR Chart App (3) can be configured (4) and utilized from within the CloudSET Apps Library.

*Note: the configurator can also be invoked from within the CloudSET Widgets Library (5), since the configuration settings will apply to the use of the corresponding Widget in Web Portal.

Identify and Map the Fields to be Used in the BHR Chart App

In order to display information in the BHR Chart side App it is necessary to confirm the presence of the Custom Ticket Fields used to record the results of time calculations and which values should be displayed.

This is achieved by selecting the corresponding filed name from the drop-down next to each measurement (1).

*Note:

Although the fields used to measure the amount of time a ticket resides in each state have a fixed name and purpose (1), the field specified in the First Response drop-down (2) could be any field used to measure the amount of time to reach an event in hours or minutes.

However, regardless of the name and purpose of the mapped field, the label in the BHR Chart side App will always be displayed as "Hours to First Response".

Create a Business Hours Reporting URL Target

The Business Hours Reporting service is called using a URL Target which must be created with the following Parameters:

  1. URL: https://app.cloudset.net/BHReporting
  2. Method: GET
  3. Attribute Name: TARGET

Introduce a Trigger to Measure the Time Spent within each State

The measurement of the time a ticket spends within each state must be invoked through the use of a trigger to call the Business Hours Reporting service at the appropriate time.

The trigger must fire each time there is a change of ticket state, except when the ticket is closed (1).

When these conditions are met the trigger should notify the Business Hours Reporting target (2), supplying just the ticket.url in the Message body (3).

Depending upon the value of the previous state, the appropriate Custom Ticket Field (e.g. Hours in Pending) is updated with the calculated value (1) as the number of business hours since the previously recorded time (2).

Once the fields are updated the BHR Reporting side App will be populated with the newly calculated value (3).

The Previous State/Time Custom Ticket Field is then updated with the name of the new ticket state and the time of the most recent change in state (4).

Introduce a Trigger to Measure the Time to reach the First Response

To measure the amount of time taken for the agent to provide an initial response, a second trigger is required to call the Business Hours Reporting service.

This trigger must include all conditions used to determine when a first response has been given (1).

The service is called by notifying the Business Hours Reporting target (2), including the ticket url (3) in the message body appended with the name of the Custom Ticket Field used to record the calculated value (4), delimited by the "/" character.

If the calculation is to be made as a number of hours to a precision of 2 decimal places, then the name of the Custom Ticket Field should be in the format "Hours to event_name", e.g. Hours to First Response.

However, if the calculation is to be made in whole minutes, then the name of the Custom Ticket Field should be in the format "Minutes to event_name", e.g. Minutes to First Response.

When called by the trigger the Business Hours Reporting service will calculate the time to First Response as the number of business hours or minutes since the ticket was created until now.

The result will be recorded in the Custom Ticket Field supplied in the message when notifying the target (1).

Once the field has been updated the BHR Reporting side App will be populated with the newly calculated value (2).

 

Introduce a Trigger to Measure the Time to Solve the ticket

It is possible to measure the time taken to reach Solved or any number of additional events during the life cycle of the ticket.

In order to achieve this each measured event must have its own trigger to call the Business Hours Reporting service and a Custom Ticket Field within which to record the results.

Just as in the trigger used to calculate the Time to First Response in the previous step, the trigger must have its own set of conditions (1) and when notifying the Business Hours Reporting target (2) the associated Custom Ticket Field must be provided (3).

When called by the trigger the Business Hours Reporting service will calculate the time to time to reach the event as the number of business hours or minutes since the ticket was created until now.

The result will be recorded in the Custom Ticket Field supplied in the message when notifying the target (1).

It is possible that a the event will occur more than once during the life of the ticket (e.g. the ticket could be solved, reopened and then solved again).

However, the calculation of the time taken to reach the event will always be based on the time the ticket was created and the time the service is called.

As such the number of hours or minutes calculated each time the service is called will overwrite the value previously recorded in the corresponding Custom Ticket Field (2).

*Note:

Only one calculated event time measurement can be displayed in the BHR Chart side App and this is usually the Time to First Response.

However, the Custom Ticket Fields used to record the calculated values are available for use in views and eternal reporting tolls such as GoodData.

Exclude Time in Pending when Calculating Time to reach an Event

By default, when the Business Hours Reporting service is called to calculate the time taken to reach an event (e.g. Ticket is Solved), the calculation will include the amount of time the ticket has spent in the state of Pending.

However, if required it is possible to instruct the service to discount the time spent during Pending from the total number of calculated business hours or minutes.

This is achieved by appending the message when notifying the Business Hours Reporting target (1) with the expression "/excludePending" (2).

*Note: at present it isn't possible to exclude the amount of time spent in a state of On_hold, so if this is a requirement it will be necessary to derive the total time as described in the next step.

Calculating the Time to Solved excluding time in On-Hold

As outlined in the previous step it isn't possible to exclude the amount of time spent in a state of On_hold when calculating the time taken to reach an event (e.g. Ticket is Solved).

However, using the data calculated by the Business Hours Reporting status change feature it is possible to derive the total time to Solved by simply adding  the total time in a state of New to the Total time in a state of Open.

This will ensure that the total time to solved doesn't include any time during which control was with the customer or a third party and any SLA timers were paused.

Measuring and Monitoring Business Hours spent on a Ticket

Sub Banner

Measuring and Monitoring Business Hours spent on a Ticket

 

 

 

Business Hours Reporting provides an optional extension ot the SLA Management & Reporting module to accurately measure and monitor the amount of time a ticket spends within each state, or the amount of time taken to reach specified events in the ticket life cycle.

These calculations will make use of the configured Working Hours specifications configured as part of your SLA Management setup to ensure that no time is counted during periods outside of business operating hours.

BHR Reporting Side App

The information gathered by the Business Hours Reporting Service is displayed in the BHR Reporting side App sing a bar chart notation.

Calculating the time Spent within each State

Once installed and configured each time the ticket status changes the amount of time spent in the previous state is measured in hours to a precision of 2 decimal places.

As the ticket moves back and forth between each state the amount of time in each state is accumulated accordingly, e.g. open to pending and then back to open before solved.

When performing a calculation the Business Hours reporting server takes account of any non working days and hours specified within the configured Working Hours specifications.

This ensures all calculated values include only the time elapsed during business operating hours.

Thus an accurate assessment can be made of the time taken to resolve the ticket while the ticket was in a state of New or Open, the amount of time waiting for a response from the customer (Pending), or the amount of time control waiting for input or support form a third party or alternative department (On-hold).

Calculating Hours to First Response

Business Hours Reporting also provides an option to calculate the amount of time taken before the assigned agent provides an initial public response.

This calculation can be configured to return the result as hours to a precision of 2 decimal places or as full minutes.

*Note: when calculating in full minutes the label in the App will still display "Hours to First Response", even though the value is displayed in minutes.

As above, this calculation will take account of any non working days and hours specified within the configured Working Hours specifications.

Since the call to this service is made from within a trigger, the definition of what constitutes a First Response is entirely configurable through the use of trigger conditions.

Once these conditions have been met, the Business Hours Reporting service is called with a request to calculate the number of business hours or minutes since the ticket was created.

Calculating Hours to Solved or additional Events

It is also possible to use this service to calculate the time taken to Solve the ticket or to reach any other event.

The event itself is defined through the conditions specified in a trigger that calls the service (e.g. status is Solved) to determine when to call the Business Hours Reporting service.

The service will calculate the amount of time between the creation of the ticket and the firing of the trigger making the service call.

By default the calculation will take into consideration any amount of time the ticket was in a status of Pending (i.e. waiting for a reply from the customer), but the service call can be configured to exclude Pending hours and minutes in the calculation if required.

*Note: the calculated time for these additional events is not displayed in the BHR Reporting Side App, but the values are recorded in a ticket filed for use in views or external reporting tolls such as GoodData.

Create Custom Ticket Fields for Each Measurement

Each measurement of time spent in a status or time to reach an event will require a Custom Ticket Filed of type Decimal to hod the corresponding calculated value.

For the calculation of the time spent within each state, the following four fields must be created and named exactly as specified:

  • Hours in New
  • Hours in Open
  • Hours in Pending
  • Hours in On-hold

When the Business Hours Reporting service is called an attempt will be made to locate these fields and if found will use them to record the results of the calculation against the ticket.

For the calculation of the time taken to reach an event the name of the field must take the form "Hours to event_name" or "Minutes to event_name" where "event_name" is a unique identifier for the associated event and the presence of "Hours to" or "Minutes to" will determine if the calculation should be made in hours or minutes.

For example: "Hours to First Response" or "Minutes to First Response" should be created to record the results of calculating the time taken for the assigned agent to provide and initial response to the requester.

Create a Custom Ticket Field to Record the Previous State and Time

When the Business Hours Reporting service is called to calculate the time spent within a state, the service will first check for the name of the previous state and the time the ticket moved into this state.

This value is recorded in a Custom Ticket Field named Previous State/Time which must be created as a Text field in your Zendesk account (1).

The service will calculate the amount  of time in business hours since the recorded time and increment the corresponding time measurement field with the calculated value (e.g. Hours in Pending) (2).

The name of the new state and the current time are then recorded in the Previous State/Time field (3) until the ticket state changes again.

Configure the BHR Chart App

*Note: If you haven;t already done so, before attempting to configure this App please familiarize yourself with the instructions for the deployment and configuration of CloudSET Apps.

Once deployed and installed the BHR Chart App (3) can be configured (4) and utilized from within the CloudSET Apps Library.

*Note: the configurator can also be invoked from within the CloudSET Widgets Library (5), since the configuration settings will apply to the use of the corresponding Widget in Web Portal.

Identify and Map the Fields to be Used in the BHR Chart App

In order to display information in the BHR Chart side App it is necessary to confirm the presence of the Custom Ticket Fields used to record the results of time calculations and which values should be displayed.

This is achieved by selecting the corresponding filed name from the drop-down next to each measurement (1).

*Note:

Although the fields used to measure the amount of time a ticket resides in each state have a fixed name and purpose (1), the field specified in the First Response drop-down (2) could be any field used to measure the amount of time to reach an event in hours or minutes.

However, regardless of the name and purpose of the mapped field, the label in the BHR Chart side App will always be displayed as "Hours to First Response".

Create a Business Hours Reporting URL Target

The Business Hours Reporting service is called using a URL Target which must be created with the following Parameters:

  1. URL: https://app.cloudset.net/BHReporting
  2. Method: GET
  3. Attribute Name: TARGET

Introduce a Trigger to Measure the Time Spent within each State

The measurement of the time a ticket spends within each state must be invoked through the use of a trigger to call the Business Hours Reporting service at the appropriate time.

The trigger must fire each time there is a change of ticket state, except when the ticket is closed (1).

When these conditions are met the trigger should notify the Business Hours Reporting target (2), supplying just the ticket.url in the Message body (3).

Depending upon the value of the previous state, the appropriate Custom Ticket Field (e.g. Hours in Pending) is updated with the calculated value (1) as the number of business hours since the previously recorded time (2).

Once the fields are updated the BHR Reporting side App will be populated with the newly calculated value (3).

The Previous State/Time Custom Ticket Field is then updated with the name of the new ticket state and the time of the most recent change in state (4).

Introduce a Trigger to Measure the Time to reach the First Response

To measure the amount of time taken for the agent to provide an initial response, a second trigger is required to call the Business Hours Reporting service.

This trigger must include all conditions used to determine when a first response has been given (1).

The service is called by notifying the Business Hours Reporting target (2), including the ticket url (3) in the message body appended with the name of the Custom Ticket Field used to record the calculated value (4), delimited by the "/" character.

If the calculation is to be made as a number of hours to a precision of 2 decimal places, then the name of the Custom Ticket Field should be in the format "Hours to event_name", e.g. Hours to First Response.

However, if the calculation is to be made in whole minutes, then the name of the Custom Ticket Field should be in the format "Minutes to event_name", e.g. Minutes to First Response.

When called by the trigger the Business Hours Reporting service will calculate the time to First Response as the number of business hours or minutes since the ticket was created until now.

The result will be recorded in the Custom Ticket Field supplied in the message when notifying the target (1).

Once the field has been updated the BHR Reporting side App will be populated with the newly calculated value (2).

 

Introduce a Trigger to Measure the Time to Solve the ticket

It is possible to measure the time taken to reach Solved or any number of additional events during the life cycle of the ticket.

In order to achieve this each measured event must have its own trigger to call the Business Hours Reporting service and a Custom Ticket Field within which to record the results.

Just as in the trigger used to calculate the Time to First Response in the previous step, the trigger must have its own set of conditions (1) and when notifying the Business Hours Reporting target (2) the associated Custom Ticket Field must be provided (3).

When called by the trigger the Business Hours Reporting service will calculate the time to time to reach the event as the number of business hours or minutes since the ticket was created until now.

The result will be recorded in the Custom Ticket Field supplied in the message when notifying the target (1).

It is possible that a the event will occur more than once during the life of the ticket (e.g. the ticket could be solved, reopened and then solved again).

However, the calculation of the time taken to reach the event will always be based on the time the ticket was created and the time the service is called.

As such the number of hours or minutes calculated each time the service is called will overwrite the value previously recorded in the corresponding Custom Ticket Field (2).

*Note:

Only one calculated event time measurement can be displayed in the BHR Chart side App and this is usually the Time to First Response.

However, the Custom Ticket Fields used to record the calculated values are available for use in views and eternal reporting tolls such as GoodData.

Exclude Time in Pending when Calculating Time to reach an Event

By default, when the Business Hours Reporting service is called to calculate the time taken to reach an event (e.g. Ticket is Solved), the calculation will include the amount of time the ticket has spent in the state of Pending.

However, if required it is possible to instruct the service to discount the time spent during Pending from the total number of calculated business hours or minutes.

This is achieved by appending the message when notifying the Business Hours Reporting target (1) with the expression "/excludePending" (2).

*Note: at present it isn't possible to exclude the amount of time spent in a state of On_hold, so if this is a requirement it will be necessary to derive the total time as described in the next step.

Calculating the Time to Solved excluding time in On-Hold

As outlined in the previous step it isn't possible to exclude the amount of time spent in a state of On_hold when calculating the time taken to reach an event (e.g. Ticket is Solved).

However, using the data calculated by the Business Hours Reporting status change feature it is possible to derive the total time to Solved by simply adding  the total time in a state of New to the Total time in a state of Open.

This will ensure that the total time to solved doesn't include any time during which control was with the customer or a third party and any SLA timers were paused.