- 26 Nov 2024
- 9 Minutes to read
- Print
- DarkLight
12.1.8. Reports with the Call Reporting Object
- Updated on 26 Nov 2024
- 9 Minutes to read
- Print
- DarkLight
Q1. How long was the caller in the queue before they selected a callback?
Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…
Add From Call Queue Last Wait Seconds to see how long a caller was waiting in a queue.
Filter on the field From Call Queue Last Disposition = ABANDONED_CALLBACK
Q2. How long did each caller spend waiting until we returned their call?
Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…
Group rows by Account and/or Contact as long as the number is known to your SF.
Add in the field From Flag Callback Requested (when a callback is requested) and From Flag Callback Agent (which calls are callbacks).
Also, we want to filter on those fields as well. So add the filters From Flag Callback Requested = TRUE and From Flag Callback Agent = TRUE with the filter logic 1 OR 2 to see both the calls when the callback was requested and when the callback was attempted.
Then add: Conversation End Time and Conversation Answer Time.
Export this data and manipulate outside of SF using the Conversation End Time and Conversation Answer Time so to calculate how long since the callback request call ends and the callback attempt is answered.
Q3. How many callers ended up calling back into the queue with an active callback request?
Filter on a date range, e.g. Conversation Start Time = TODAY, THIS WEEK, THIS MONTH…
Add in From Call Queue Last Disposition (where we are looking if the value is ABANDONED_CALLBACK for when a callback is requested) and From Call Queue Last Queue (where we are looking if the caller has come back into another queue).
Export and manipulate outside of salesforce for any statistics on this. If they have something they are calling about, e.g. a case, we could group by that to see if they are calling back in about the same request.
Q4. How many call attempts on average did it take for our agents to connect back with the customer?
Filter on a date range, e.g. Conversation Start Time = TODAY, THIS WEEK, THIS MONTH…
Add the field From Call Queue Last Queue and filter on From Flag Callback Agent = TRUE.
To calculate how many call attempts on average you will need to export the report and work the data outside of salesforce.
Q5. When we are unable to successfully complete the call, how can we record these calls as abandoned?
Filter on a date range, e.g. Conversation Start Time = TODAY, THIS WEEK, THIS MONTH…
Add the field From Call Queue Last Queue and filter on From Flag Callback Agent = TRUE.
After 3 attempts the callback request will be moved out the queue. So if there are 3 call reporting records grouped together by the same number/account/contact with From Call Type = Not Connected, this means a callback has been unsuccessful after 3 attempts.
Q6. How to see if a different agent does the callback attempts?
Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…
Add in the field From Number and/or From Natterbox User to see if different agents made the callback attempts for the same callback request.
Q7. How many inbound calls went to voicemail from a call queue?
Q8. What is the average handle time of each agent?
Q9. How many connected outbound calls were made per day (or other time frame)?
Q10. How many inbound calls were answered in call queues?
Filter on a date range, e.g. Conversation Start Time = TODAY, THIS WEEK, THIS MONTH…
Add in the fields: From Call Queue Last Disposition, From Call Queue Last Wait Seconds and To Natterbox User
Q11. How many calls reached the max wait time in a call queue?
Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…
Filter on From Call Queue Last Wait Seconds = *max wait time*
Please note this value can be found in the Properties tab of the call queue in the routing policy.
Q12. How can I report on answered inbound calls (not just within call queues)?
Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…
Add the fields: To SF User, Time Talking, From Number, Contact, Account, Wrap-Up Label 0, Wrap-Up Duration, From Recording and To Recording
Q13. How can I report on the number of abandoned calls?
Please note: this depends on how you define abandoned calls. For this question, we will refer to abandoned calls and ones where calls have chosen to end the call. Do not confuse this with From Call Queue Last Disposition = ABANDONED which means the caller has chosen to press a key to leave the queue (usually with the option to leave a voicemail).
Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…
Add the fields: From Number and From Call Queue Last Wait Seconds
Q14. How can I report on call stats by agent?
Note this uses a custom field called Natterbox User you will need to create that combines To Natterbox User and From Natterbox User to be able to report on both inbound and outbound call stats.
Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…
Add the fields: Time Talking, Wrap-Up Duration, From Used On Hold Seconds, Time Ringing and From Call Queue Last Wait Seconds
Q15. How can I report on repeat callers?
Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…
Add the fields: Contact, Wrap-Up Label 0, Wrap-Up Label 1, From Call Queue Last Disposition, From Call Type, From Recording and To Recording
Q16. How can I report on internal callers?
Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…
Filter on To Conversation Count = “1” AND From Conversation Count = “1”
Add fields: From Natterbox User, To Natterbox User and Time Talking
Q17. How can I report on percentage of time agents are idle?
Note: this is for agents receiving calls in a call queue as it doesn't take into account any time ringing
Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…
Filter on From Call Type = Connected
Filter on From Call Queue Last Queue not equal to "" (blank)
Group rows by Call Reporting: Created Date and then To Natterbox User
Add the fields Time Talking and Wrap-Up Duration
Create a row-level summary field called 'Handle Time'
Use the formula:
nbavs__CallReporting__c.nbavs__Wrapup_Duration__c+nbavs__CallReporting__c.nbavs__From_Time_Talking__cFormula Output Type = Number
Create a summary formula called 'Idle Time %'
Use the formula:
(((60*60*X)-CDF1:SUM)/(60*60*X))*100
where X = the number of hours that your agents workThis formula works like this (all in seconds):
(Total shift time - Total busy time (handle time) / Total shift time) x 100
Q18. How can I report on number of answered inbound calls by shift/day?
Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…
Filter on Call Direction = Inbound
Filter on From Call Type = Connected
Group by To Natterbox User then Conversation Answer Time (by calendar day)
Add the fields: From Call Queue Last Wait Seconds, Time Talking, Wrap-Up Duration and Wrap-Up Label 0
Optional:
Q19. How can I report on answer rate per agent?
This is for agents answering calls in a call queue with phone events enabled. Missed calls in a call queue are not against an agent but against a queue but this report allows you to still calculate answer rate.
Report type = Call Reporting with To Natterbox User
Make this into a joined report (see here for more on Salesforce’s Joined Reports)
Add a block with report type = Phone Events with Natterbox User this call relates to
Group all blocks by To Natterbox User: Name
Label the first block (with report type = Call Reporting with To Natterbox User) “Answered Inbound Calls”
Label the second block (with report type = Phone Events with Natterbox User this call relates to) “Missed Inbound Calls (agent fault)”
Filter the first block like this:
Show me: All call reporting
Filter on a time field, e.g. Call Reporting: Created Date = TODAY, THIS WEEK, THIS MONTH…
Call Direction = Inbound
Filter the second block like this:
Show me: All phone events
Time = Same time frame as first block ^
Hangup Cause = NO_ANSWER, ALLOTTED_ TIMEOUT, CALL_REJECTED
Missed Call Type = No Devices
Add filter logic “1 OR 2”
These filters are to on capture missed calls where the agent was at fault, not other reasons.
For the first block, add the following fields:
From Call Type
Time Talking (Turn off SUM and turn on averages)
Conversation Start Time
For the second block, add the following fields:
Missed Call Type
Hangup Cause
Time
Click the dropdown of either block and select ‘Add Cross-Block Summary Formula’
Column Name: Inbound Answer %
Formula Output Type: Percent
Decimal points: 0 (or whatever you prefer)
Formula:
B0#RowCount/(B0#RowCount+B1#RowCount)
This means: Record count of block 1 / (Record count block 1 + Record count block 2)
Display: Selected Groups = To Natterbox User: Name
Apply!
Optional: if you want to filter by call queue then you can filter block 1 by From Call Queue Last Queue and block 2 by Call Queue
Q20. What is the average talk time per agent?
Q21. What is the average wait time in a queue?
Filter on a time field, e.g. Conversation Start Time = THIS WEEK, THIS MONTH…
Filter on From Call Queue Last Queue not equal to ““ [OR equal to *Queue Name]
Add the field From Call Queue Total Wait Seconds
Change ‘Summarise’ metric to average not sum
Toggle off ‘Detail rows’
Optional:
Group by From Call Queue Last Disposition to see wait times per call hung up, answered, timeout, callback request, etc.