Nischala_Thumula | 2020-08-18 16:18:08 UTC | #1
We are currently using Genesys reporting for our contact center dashboards. We need to understand the logic behind the following metrics
Gross calls/calls offered
Answered calls
Abandoned calls
Avg Handle time
Avg Talk time
Avg hold time
ASA time
ACW time
MSI
where can I find more information/documentation on this?
anon11147534 | 2020-08-18 16:19:27 UTC | #2
The analytics overview is a good place to start. This page on metrics has documentation on most of the metrics you have listed.
Nischala_Thumula | 2020-08-19 18:20:46 UTC | #3
Thanks Ronan! I'm also looking to answer these questions
Where can I find the following logic? What APIs & metrics to use?
- Scheduled & unscheduled PTO taken by a member service representatives every day
- Over time worked by a member service representatives everyday
- Number of E-mails handled by a member service representative in a day
- Number of Chats handled by a member service representative in a day
- Number of Social media interactions done by a member service representative in a day
Can you help point me to the documentation for these? Thank you
anon11147534 | 2020-08-20 09:12:26 UTC | #4
1: /api/v2/workforcemanagement/managementunits/{muId}/users/{userId}/timeoffrequests Would be the API to use for time off requests.
2: There doesn't appear to be a reliable way to determine overtime worked per day. You could send the following request to /api/v2/analytics/users/aggregates/query but this involves pitfalls such as the agent working but not being logged into Genesys Cloud etc.
{
"interval": "2020-08-18T23:00:00.000Z/2020-08-19T23:00:00.000Z",
"groupBy": [],
"filter": {
"type": "or",
"predicates": [
{
"type": "dimension",
"dimension": "userId",
"operator": "matches",
"value": "[member_service_representative_id]"
}
]
},
"metrics": [
"tSystemPresence"
]
}
Where [member_service_representative_id] is the userId of the member. All tSystemPresence sum values in the response excluding OFFLINE could be summed to give the total time in milliseconds that the agent was logged into Genesys Cloud for the given interval. I used the [analytics-query-builder](https://developer.mypurecloud.com/developer-tools/#/analytics-query-builder) with the "User Status Aggregate" query to craft that query.
To get the length of a user's shift for a particular day, you could use /api/v2/workforcemanagement/businessunits/{businessUnitId}/agentschedules/search and use any time above lengthMinutes in the response as the amount of over time worked in the particular day.
3 and 4: You could send a request to /api/v2/analytics/conversations/aggregates/query with the body:
{
"interval": "2020-08-18T23:00:00.000Z/2020-08-19T23:00:00.000Z",
"groupBy": [],
"filter": {
"type": "or",
"clauses": [
{
"type": "or",
"predicates": [
{
"type": "dimension",
"dimension": "userId",
"operator": "matches",
"value": "[member_service_representative_id]"
}
]
},
{
"type": "and",
"predicates": [
{
"type": "dimension",
"dimension": "mediaType",
"operator": "matches",
"value": "email"
},
{
"type": "dimension",
"dimension": "mediaType",
"operator": "matches",
"value": "chat"
}
]
}
]
},
"views": []
}
Where [member_service_representative_id] is the userId of the member. The value you would be interested in is the count value of tHandle for each mediaType. I used the [analytics-query-builder](https://developer.mypurecloud.com/developer-tools/#/analytics-query-builder) with the "Conversation Aggregate" query to craft that query.
5: I'm not aware of a way to get social media interactions but you could share your use case with our product team here: https://genesyscloud.ideas.aha.io/portal_session/new
Nischala_Thumula | 2020-08-20 22:50:38 UTC | #5
Thanks for the detailed responses Ronan.
On 1) which field gives the actual PTO data? Is it the "fullDayManagementUnitDates"? I see a submitted date & approved date but I don't see the date for the actual PTO. Please suggest.
On 3&4) I'm trying the chat & e-mail API calls you provided but I still get voice & callback results for users. I have also tried to take out the user (to see if I get any chat/e-mail data at all just by looking at a time duration) by using the below code but it gives me empty result.
Is there anything else I can try?
++ 6) Is there an API call that would give the schedule of a member service rep for a day? Like how many times they are supposed to work/or have worked and the time stamps?
{ "interval": "2020-08-1T23:00:00.000Z/2020-08-19T23:00:00.000Z", "groupBy": [], "filter": { "type": "or", "clauses": [ { "type": "and", "predicates": [ { "type": "dimension", "dimension": "mediaType", "operator": "matches", "value": "email" }, { "type": "dimension", "dimension": "mediaType", "operator": "matches", "value": "chat" } ] } ] }, "views": [] }
anon11147534 | 2020-08-24 09:23:54 UTC | #6
1: The value will either be in partialDayStartDateTimes if isFullDayRequest == false or in fullDayManagementUnitDates if isFullDayRequest == true.
3, 4: Sorry, looks like I got my types mixed up, it should be:
{
"interval": "2020-07-27T23:00:00.000Z/2020-08-23T23:00:00.000Z",
"groupBy": [ ],
"filter": {
"type": "and",
"clauses": [
{
"type": "or",
"predicates": [
{
"type": "dimension",
"dimension": "userId",
"operator": "matches",
"value": "[member_service_representative_id]"
}
]
},
{
"type": "or",
"predicates": [
{
"type": "dimension",
"dimension": "mediaType",
"operator": "matches",
"value": "email"
},
{
"type": "dimension",
"dimension": "mediaType",
"operator": "matches",
"value": "chat"
}
]
}
]
},
"views": []
}
6: It would be either /api/v2/workforcemanagement/managementunits/{muId}/agentschedules/search or /api/v2/workforcemanagement/businessunits/{businessUnitId}/agentschedules/search depending on whether you are searching according to management unit or business unit.
Nischala_Thumula | 2020-08-24 20:53:20 UTC | #7
Thank you Ronan. For chat data, I do not have the specific user names. In that case, how do I pull the data for all users? so my output will have - for each user per day, how many chats they handled and the times associated with it.
anon11147534 | 2020-08-25 08:16:43 UTC | #8
This more general request would work for that case. I've also added in a filter to only return tHandle metrics if that's the only metric you're looking for.
{
"interval": "2020-08-25T23:00:00.000Z/2020-08-25T23:00:00.000Z",
"groupBy": [
"userId"
],
"filter": {
"type": "or",
"predicates": [
{
"type": "dimension",
"dimension": "mediaType",
"operator": "matches",
"value": "email"
},
{
"type": "dimension",
"dimension": "mediaType",
"operator": "matches",
"value": "chat"
}
]
},
"views": [],
"metrics": [
"tHandle"
]
}
system | 2020-09-24 08:16:44 UTC | #9
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
This post was migrated from the old Developer Forum.
ref: 8605