Reporting on multiple calls in a certain time period with Zendesk and Gooddata

A common reporting statistic to see the efficiency of your service is measuring the number of inbound calls or callers who call more than once within a certain period of time (let us say a day).

You can imagine that most of your callers will call once in a day, and that most of the time these single calls will represent some kind of conclusive outcome. Multiple calls arriving from a single caller in one day would most of the time suggest inefficiencies or a notable customer service problem. Either way, it is good to be able to:

  • isolate these callers/calls for investigation 
  • count the total number of these 'multiple' calls
  • count the total number of callers who are calling multiple times

There is actually no useful single metric for this kind of report, as there is no constant against which to measure it: the total number of inbound calls per day varies, so comparing days would not tell you much.

The best way to present the data in a table with as much context as possible: who the callers are, the number of multiple callers and number of times each of them called - all arranged by day. 

1. On babelforce

Call and caller information from babelforce must get to Gooddata via Zendesk. There are 3 key requirements:

  1. there must be an Automation to look up the caller in Zendesk
  2. a 'Create ticket' Automation must run for each inbound call 
  3. all inbound calls must be tagged to identify them

We will go through these steps in the first part of this guide, then use the data to create a report in the second. If you already have Automations performing look-ups and adding tags for inbound, feel free to skip to part 2. You can check your Automations setup at Integrated processes > Global automations.

First, let's get our look-up Automation finding caller records in the relevant Zendesk account. If you do not already have a look-up Automation (you can see an Event type in the 'Action' column), create one by clicking on 'Add'. 

The following screenshot shows the key settings required for this Automation:


This is a very simple Automation. After ensuring that it has a suitably descriptive name, the key settings are that it happens when an inbound call arrives ('Event' = 'Inbound Call') and that the 'Action' is set to 'enduser.lookup babelforce' from the dropdown menu.

This should bring up more options further down the page. The Trigger for this Automation should be set to the default 'Always', as we want this look-up to be performed for every call. Then, the only other option is to choose which Zendesk account you want this action to be performed in. 

Now we need to configure the Automation which will create our Zendesk tickets. The settings for this are similar. The key thing to watch out for here is the field 'Tags' at the bottom. You must ensure that there is a suitable tag in this field which will help us to identify tickets for inbound calls (in our example we have chosen "call_inbound"):



Note: Importantly at this point, we need to make sure that the Ownership settings in your Automations are assigning the end-user. If a user is found in your Zendesk account which matches details of the caller, as mentioned above this user information stays with the call. Similarly, if no user match is found, a new end user will be created in the Zendesk and the caller information will remain associated with the call. 

But now we need to assign this end-user in Zendesk as the ticket Requester. The Requester is what will be used when we come to create our report, as Gooddata will use Zendesk-specific attributes to formulate our metric. 

Once these Automations have been configured properly, calls will deliver tagged tickets to your Zendesk account, creating tickets tagged with something like "call_inbound" and with the caller as the Requester.

2. On Gooddata

Once you have navigated to the Gooddata portal, click to 'Manage' > 'Metrics' > 'Create Metric' > 'Custom metric' For this report we will need to create a simple custom metric, one which will simply count the number of tickets which have our inbound call tag. Using

  • # Tickets from the 'Metrics' menu 
  • Ticket Tags > Ticket Tag from the 'Attributes' menu
  • Ticket Tags > Ticket Tag > "call_inbound" (for example) from the 'Attribute Values' menu

We can create the following formula:


Note that the text in black is typed directly into the editor box. Give the metric a good descriptive name and hit 'Save'.

Now we need to use this metric to produce the table we described at the beginning of the guide. Click to 'Reports' on the top-level menu and then 'Create Report'. For the 'What' we must now select our newly created metric. The 'How' attributes with which we want to display the data are:

  • 'Date (Ticket Created)'
  • 'User'

This will produce a table showing the number of inbound calls per user per day. Useful filters to add to this report are further date filters to specify the date range (for example show only data from the last 2 weeks) and this one:

which will get rid of User entries who called 'normally', i.e. only once per day.

Have more questions? Submit a request