It would be very helpful to see how much time chat representatives are set to available. Currently, reps could set themselves to away without supervisors knowing and ultimately reducing the number of incoming chats. In order to analyze reps effectiveness we need to know if they are remaining online throughout the day.
100X upvote! This is definitely needed.. This is a very important part of tracking KPIs for a support team who is managing tickets. This is even more critical in a remote environment.
We desperately need this ability. To see a report of who was "Available" at what times. How else do you confirm you are providing the coverage promised to your customers? How does a manager know that agents on their team worked their chat shift times?
Would be lovely to be able to report on any changes in availability over a period of time (e.g. a line graph representing available or not available for multiple staff, a KPI to indicate the average number of availability changes over a period of time, or even just a simple table representing a summary of all availability status changes for multiple staff over a period of time.
I’ve just implemented a user based workflow that tracks when support agents change their availability status, and it automatically logs this information into a Google Sheet. The workflow captures the agent's name, the status change (either "Away" or "Available"), and the exact timestamp of the change.
First, verify if your HubSpot account has the Google Sheets app linked. Go to the app marketplace, search for Google Sheets, and install it. If it's already installed, you will need to know who installed it. Google Sheets will only appear as an option in workflows if the sheet is shared with the person who installed the app on your HubSpot account.
Create a user-based workflow.
Set the trigger to "when an event occurs" with the following criteria. You can add filters if needed. In my case, I added filters for the main teams in HubSpot.
Enable re-enrollment by turning on the option to "Allow users to re-enroll after completing the workflow."
Create a Google Sheets action, which will be at the bottom of the menu that appears on the left. In the action, choose your spreadsheet, the worksheet, and the headers or columns you want to log. For each column, map the corresponding user properties. In my case, I used the following user properties:
Email
Name (choose the "full name" option)
Availability Status
Object last modified date/time (logs the time of the status change)
Updated by user ID (logs the ID of the person who made the last change)
This setup works well in most cases, but if a user changes their availability status very quickly (several times in a short period), it may log incorrect information. This can happen because the workflow might not have enough time to complete before the next change is registered. However, this is generally not an issue, as it's rare for users to switch their availability that rapidly. In most cases, the workflow functions reliably.
I followed the instructions in this article to get the correct date/time: Add data to Google Sheets with workflows (hubspot.com). You can also convert dates from milliseconds in Google Sheets by adding the following formula to a separate column in the spreadsheet: =(A1)/1000/60/60/24 + DATE(1970,1,1). Replace A1 with the column that the unix timestamp is in.
If you need to adjust for GMT, you can add or subtract hours based on your time zone. To do this, you need to adjust the formula by adding or subtracting milliseconds from A1. For example, if you're in GMT-3, the formula would look like this: (A1-10800000)/1000/60/60/24 + DATE(1970,1,1).
After applying the formula, make sure to adjust the number format of the cell to "Date" in the Google Sheets settings.