12.1.8. Reports with the Call Reporting Object
  • 26 Nov 2024
  • 9 Minutes to read
  • Dark
    Light

12.1.8. Reports with the Call Reporting Object

  • Dark
    Light

Article summary

Q1. How long was the caller in the queue before they selected a callback?

  • Report type = Call Reporting

  • 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

  • Optional:

    • Filter or group by the field From Call Queue Last Queue you can look at how different queues are behaving.

Q2. How long did each caller spend waiting until we returned their call?

  • Report type = Call Reporting

  • 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?

  • Report type = Call Reporting

  • Filter on a date range, e.g. Conversation Start Time = TODAY, THIS WEEK, THIS MONTH

  • Group by Account and Contact.

  • 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?

  • Report type = Call Reporting

  • Filter on a date range, e.g. Conversation Start Time = TODAY, THIS WEEK, THIS MONTH

  • Group rows by Account/Contact/To Number

  • 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?

  • Report type = Call Reporting

  • Filter on a date range, e.g. Conversation Start Time = TODAY, THIS WEEK, THIS MONTH

  • Group rows by Account/Contact/To Number

  • 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?

  • Report type = Call Reporting

  • Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…

  • Group rows by To Number (or contact)

  • Filter on From Flag Callback Agent = TRUE

  • 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? 

  • Report type = Call Reporting

  • Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…

  • Group rows by From Call Queue Last Disposition

  • Filter on Call Direction = Inbound, Service

Q8. What is the average handle time of each agent?

  • Report type = Call Reporting

  • Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…

  • Filter on From Call Type = Connected

  • Filter on Call Direction = Inbound

  • Group rows by To Natterbox User

  • Add a row-level formula

    • Label = Handle Time

    • Formula = Wrap-Up Duration + Time Talking

    • Change the metric to average not max

  • Optional:

    • Add fields: From Call Queue Last Queue, Wrap-Up Duration and Time Talking

Q9. How many connected outbound calls were made per day (or other time frame)?

  • Report type = Call Reporting

  • Filter on a date range, e.g. Conversation Start Time = TODAY, THIS WEEK, THIS MONTH

  • Filter on From Call Type = Connected

  • Filter on Call Direction = Outbound

  • Group rows by From Natterbox User

  • Add fields: To Number, Contact and Account,

  • Optional:

    • Add fields: To Recording, From Recording, Time Talking, Wrap-Up Duration, Wrap-Up Label 0 and Wrap-Up Label 1

Q10. How many inbound calls were answered in call queues?

  • Report type = Call Reporting

  • Filter on a date range, e.g. Conversation Start Time = TODAY, THIS WEEK, THIS MONTH

  • Filter on From Call Queue Last Disposition = Answered

  • 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?

  • Report type = Call Reporting

  • 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.

  • Add in From Call Queue Last Queue, *any reporting gates* and From Flag Voicemail Record

Q12. How can I report on answered inbound calls (not just within call queues)?

  • Report type = Call Reporting

  • Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…

  • Filter on From Call Type = Connected

  • Filter on Call Direction = Inbound

  • Add the fields: To SF User, Time Talking, From Number, Contact, Account, Wrap-Up Label 0, Wrap-Up Duration, From Recording and To Recording

  • Optional:

    • Filter on or Group by From Call Queue Last Queue or To Group to see calls for a certain part of the business

    • Group by To SF User and toggle off Detail Rows to see how many inbound calls each user answered.

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). 

  • Report type = Call Reporting

  • Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…

  • Filter on From Call Queue Last Disposition  = HANGUP

  • Group rows by From Call Queue Last Queue

  • 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.

  • Report type = Call Reporting

  • Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…

  • Filter on Natterbox User not equal to “”

  • Group Rows by Natterbox User

  • Group columns by Call Direction and then From Call Type

  • Add the fields: Time Talking, Wrap-Up Duration, From Used On Hold Seconds, Time Ringing and From Call Queue Last Wait Seconds

  • Add a row-level formula

    • Label = Handle Time

    • Formula = Wrap-Up Duration + Time Talking

    • Change the metric to average not max

  • Optional:

    • Add the fields: From Call Queue Last Disposition, From Number, To Number, From Call Queue Last Queue, Wrap-Up Label 0, Wrap-Up Label 1, From Recording and To Recording

Q15. How can I report on repeat callers?

  • Report type = Call Reporting

  • Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…

  • Filter on Call Direction = Inbound

  • Group rows by From Number

  • 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?

  • Report type = Call Reporting

  • Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…

  • Filter on Call Direction = Internal

  • 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

  • Report type = Call Reporting

  • Filter on a time field, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH…

  • Filter on Call Direction = Internal

  • 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__c

    • Formula 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 work

    • This 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?

  • Report type = Call Reporting 

  • 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:

    • Add the fields: From Number, To Number, From Call Queue Last Queue, Wrap-Up Label 1, From Recording and To Recording 

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?

  • Report type = Call Reporting

  • Filter on a time field, e.g. Conversation Start Time = THIS WEEK, THIS MONTH…

  • Filter on From Call Type = Connected

  • Filter on Call Direction = Inbound

  • Group rows by To Natterbox User

  • Add the field Time Talking

    • Change ‘Summarise’ metric to average not sum

    • Toggle off ‘Detail rows’

  • Optional:

    • Add fields: From Call Queue Last Queue

Q21. What is the average wait time in a queue?

  • Report type = Call Reporting

  • 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]

  • Group rows by From Call Queue Last Queue

  • 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.


Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.
ESC

Eddy AI, facilitating knowledge discovery through conversational intelligence