Inbound Reports
What is the average handle time of each agent?
Please note: this is for inbound calls only. You can do inbound and outbound combined by adding ‘Outbound’ to the Call Direction filter.
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
How can I report on repeat inbound 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
How can I report on percentage of time agents are idle who take only inbound calls?
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
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:
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
What is the average inbound talk time per agent?
How can I report on inbound number usage?
Show Me = All call reporting
Swap: Conversation Answer Time for Call Reporting: Created Date
Filter on a time you would like to see: LAST 6 MONTHS, CURRENT CY, etc...
Add the following filters
Call Direction = Inbound
From Conversation Instance = 1
Group rows by From Dialled Number
Toggle off 'Detail Rows' to see the record counts
How can I report on inbound call volumes per hour?
Swap: Conversation Answer Time for Call Reporting: Created Date and filter on TODAY
Filter on Call Direction = Inbound
Group by Hour and then From Call Type
Select ‘Add Chart’
Choose Stacked Bar or Stacked Column
Y-axis: Hour
X-axis: Record Count
Stack By: From Call Type
Optional:
Call Queue Reports
How many inbound calls went to voicemail from a call queue?
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.
How can I report on the number of abandoned calls (in a queue)?
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
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.
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
Outbound Reports
How many connected outbound calls were made per day (or other time frame)?
How many connected outbound calls were made per Contact/Lead?
Filter on a date range, e.g. Call Reporting: Created Date = TODAY, THIS WEEK, THIS MONTH…
Add fields: From Dialled Number, Account, From Natterbox User
How can I report on outbound caller ID or the number that users are presenting on an outbound call?
To build this report, you will need to complete this guide which takes you through the customisation you need to add to the Outbound Calls Policy.
Report type = Call Reporting
Filter on a date range, e.g. Call Reporting: Created Date = TODAY, THIS WEEK, THIS MONTH…
Filter on Call Direction = Outbound
Group rows by Outbound Caller ID (or the name you gave the new field)
Optional:
What is the average outbound handle time of each agent?
Please note: this is for outbound calls only. You can do inbound and outbound combined by adding ‘Inbound’ to the Call Direction filter.
How can I calculate the time from lead creation to first call?
Filter on a date range, e.g. Conversation Answer Time = THIS WEEK, THIS MONTH, THIS YEAR…
Filter on Call Direction = Outbound
Add fields: Lead: First Name, Lead: Last Name, Lead Created Date
Add Row-Level Formula: Call Reporting: Created Date - Lead Created Date for number of days since creation before 1st call.
Callback Reports
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
How long did each caller spend waiting until we returned their call if they requested a callback?
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.
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.
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.
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.
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.
Miscellaneous Reports
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, see here for how to make that field.
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
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
How can I report on transferred calls?
Must have “Transferred Calls for Reporting Scheduled Job” enabled to use field Related Call Reporting.
Report type = Call Reporting
Show Me = All call reporting
Swap: Conversation Answer Time for Call Reporting: Created Date
Filter on a time you would like to see: LAST 6 MONTHS, CURRENT CY, etc...
Add the following filters
Call Direction = Inbound
From Conversation Count < 1
To Conversation Count <1
Add filter logic of 1 AND (2 OR 3)
Add the following fields: From Natterbox User, To Natterbox User, Conversation Start Time, From Dialled Number, From Recording, To Recording, Time Talking
Group rows by Related Call Reporting