Understanding babelforce Conversations and Live call logs

Christina Dechent
Christina Dechent
  • Updated
babelforce offers you a unique insight into call data. In this article, we explain the different "Types" of calls that exist on the babelforce platform. Also, we will explain "Call Legs" and how to filter the call data to answer questions such as:
  • How many calls reached my service
  • Which call queue had how many calls
  • What is the wait time before pickup or hangup
  • How many call attempts were made to an agent
  • What was the talk time
  • etc.

Where to find the call data I need on the babelforce platform? 

To get started, open the call reporting view which you find if you log into your babelforce manager app. Navigate to Reporting in the main menu. There are three reporting views you can select


Navigation item/ name Purpose

One entry per call, revealing details about the call metrics.

This data cannot be downloaded, it is only via API.


Detailed reporting on past call activity. Calls are clustered by conversation, this means that every parent call is listed as main item. The child calls are clustered below the main call.

Up to 5000 calls can be downloaded.

Live Call Logs

Detailed call reporting which pushes in live-call activity. Call are ordered by date of creation. Child and parent calls are mixed.

Up to 5000 calls can be downloaded.

Each view has a different purpose as stated in the table above. In this article, we will only look at the "Covnersations" and "Live Call Logs" section as they explain everything you need to know about calls. The section "Reporting" focuses more on metrics.


A theoretical introduction to babelforce data

It is important to understand how babelforce structures call data. This is not only central when trying to build reportings. Integrating automations often requires a full understanding of how calls are processed on the platform as well. 
In babelforce, there are four different types of calls:
  1. Incoming calls. This includes calls that are initiated by an external caller to a hotline number that is registered on babelforce.
  2. Outgoing calls initiated by an agent. These calls are actively started by an agent or are offered to the agent by a callback process.
  3. Dialer calls. These outgoing calls are automatically created by the platform and directly connect the customer to the agent. 
  4. Transferred calls. Calls of this type have been initiated via a transfer.

"Call Legs"

When we talk about a call in the babelforce context, it is rarely a single call but we have multiple calls belonging to one call event. We say that a call usually has multiple "legs." 

Imagine you are calling your airline. Usually, you hear some music while waiting and after some time an agent takes your call. In most cases, there is no ringing. The connection is just established.

In most call centers, a dialer is used to connect incoming calls with agents. There can be multiple attempts to connect before the dialer actually connects (or bridges) an agent with the caller.

Each of these attempts is equal to another call or, as we say, another call leg. The image below demonstrates an incoming call which generates three outgoing calls to agents. Agent 1 is tried first, then agent 3, and then agent 2. Whether agent 2 takes the call is not clear form the picture. In theory, the platform could even call all three agents simultaneously and connect to the first agent who accepts the call. Also in this case we would see three call legs.


In our case, the Inbound Call is the Parent Call. The Inbound Call has three Child Calls which are all outbound calls as the platform called out to the agents.
Also outgoing calls have two legs. One leg, the internal one, goes from the agent's device to babelforce. The second call leg is initiated by the platform and calls the external phone number.
An exception to the call leg logic are dialer calls: for those cases, we only have a single call leg which immediately connects the customer with the agent. 

Call parameters

In babelforce reporting, we have parameters that identify and connect parent with child calls (besides a session id which we will not explain in this context). We can also identify different types of outbound calls based on the source of the call and where they come from, based on the domain. We will get to this next

All calls has three parameters which are central for identify their origin. Each parameter is important to understand how reporting of calls works.

  • Type: Inbound/Outbound
  • Domain: Internal/External
  • Source: Queue/API/Dialer/Transfer

Type Inbound is only applying to calls initiated by an external party. Therefore, these calls are also External, as the origin of the call is not within babelforce. Inbound calls also have the source Queue as they usually reach a call queue. Type = Inbound is always a Parent Call.

Child calls which the babelforce platform creates to connect an agent to an incoming calls always have the type Outbound. As they are within the babelforce context, their domain is Internal. And finally, as these calls belong to the Inbound call, their source is also Queue. 

See the graph below for an overview.

Outgoing calls, or calls initiated by agents, have never more than two legs. They always have the type Outbound. The initial leg goes as domain Internal and source API to the babelforce platform which then creates an External call type Outbound (with source = API) to the customer. The graph below shows the details.

The matrix below provides a full summary of which type of call has which domain and which source. It all follows a logical pattern.

Please take into account the special case of transfer: depending on the transfer target, the domain will either be internal OR external. A transferred call is always the child of the initial call from which it was transferred out.



The practical part

Understanding the Conversations and Live Call Logs view

In this section we will briefly explain the filtering via the babelforce manager. You can of course use a spread sheet tool or any other way of reporting. To get started, you will need at least some calls in your account. Find the section
Reporting > Conversations
The conversations view is very convenient as it organizes the data for you: It identifies the parent call and sorts the child calls below the parent. By default, child calls are hidden. You can view the child calls by clicking on the arrow marked yellow in the picture below.
When expanding the view, you see the child calls as in the example below.
What the data also tells you is the Type, Domain, and Source of a call. We marked the part yellow in the example above. These parameters are represented by small icons. Below you find a list explaining each of the icons. If you compare the icons with the table above, you see that the first call in the list is an Inbound call, the parent, from and external domain with the source queue.
  • Parent call
  • Type: Outbound 
  • Type: Inbound
  • Domain:Internal
  • Domain: External
  • Source: Queue
  • Source: API
  • Source: Dialer
  • Source: Transfer
Looking at a different example (picture below): You see a call with two legs. The parent is an outbound call, domain internal initiated via API (initiated by an agent). The second leg has an external domain, the other parameters are the same. This is an example for a standard outbound call.


Explaining the filter options

Now that you understand all the parameters, filtering for specific calls is easy.

Below you see all filter options in the screenshot. Each is explained in the table below (by number). The relevant filters you already know by now:


# Filter Name Filter criteria that can be selected
1 Time Filter Select the start and the end date. You can go as far back as data is available.
2 Select Call Type
  • Inbound Calls
  • Outbound Calls
2 Select Call Domain
  • Internal Call
  • External Call
2 Select the Call Source
  • via Queue
  • From API
  • From Browser Phone
  • From Outbound Dialer
  • From call transfer
2 Select Call State
  • Purged
  • In Progress
  • Completed
  • Queued
  • Ringing
  • Bridged
2 Select Call Finish Reason
  • Busy
  • Declined
  • Canceled
  • Failed
  • Hangup
  • Passive Hangup
  • System Hangup
  • Transferred
  • Timeout 
  • Unreachable
3 Select the maximal duration of a call
  • Calls no longer than 5 seconds
  • Calls no longer than 10 seconds
  • Calls no longer than 30 seconds
4 Select the minimal duration Calls at least 1 second long
  • Calls at least 5 second long
  • Calls at least 30 second long
  • Calls at least 1800 second long
  • Calls at least 3600 second long
5 Select anonymous calls
  • Anonymous calls
  • Not anonymous calls
  Free search search Field Search for agent names or phone numbers

Reporting Use Cases

The table below lists a number of scenarios that might be relevant for you when building your own reporting. It explains how to set the filter and what you get as a result.

The question The Filter Explanation
How many incoming calls did I receive today? Date Filter: Today
Type: Inbound Call
You will see the exact number of calls received today. You won't see call attempts to agents, only which agent talked to the customer in the end (if at all) and you will also see the queue the call waited in.
How many of these calls were accepted by agents? Date Filter: Today
Type: Inbound Call
You can use the same filter as above. You see that a call was successfully connected to an agent if there is the agent's name next to the queue name. Of course this won't give you the exact number of connected calls. Best you download the CSV and filter out all Inbound calls without agent name.
I have multiple queues, how can I see how many calls each queue got? Date Filter: Today
Type: Inbound Call
In case you already downloaded the CSV - great, you'll need it. Either do a count if function by queue or create a pivot table. Then you see how many calls you received. If you don't know how to do that don't worry. We're offering some resources.
I only want to see calls that were longer than 30 seconds. Date Filter: Today
Type: Inbound Call
Duration: Greater or equal to 30
How do I see the talk time of calls from this week? Date Filter: This week
Type: Outbound Call
Source: Queue
Duration: Greater or equal to 1
Again, we are going to look at calls to the agents that were successfully connected (that we achieve by defining a duration great 0).
Now, download the CSV. In the column "Duration" you have the actual talk time as the duration is measured from the moment the agent started talking to the customer end ends when the agent or customer is finishing the call. In case of transfer, you have a second outbound call associated with an inbound call. You can now take an average or the median to analyze talk time.
How many calls did a certain agent take yesterday? Day Filter: Today
Type: Outbound Call
Source: Queue
Duration: greater or equal to 1
Free filter: type agent name
With this filter you are looking at all calls from yesterday via a queue which were successfully connected to a specific agent.

These outbound calls are initiated by the platform because of an inbound call. By saying that the duration is at least 1 second you avoid looking at calls agents didn't take. By typing the agent's name you only see the agent you want to look at.
Did agents reject calls? And if so, I want to know by agent how many in the last month. Date Filter: Last month
Type: Outbound Calls
Source: Queue
Finish reason: Decline
Again we are looking at the other part of an incoming call. This time we are not investigating successful connections but only those that were rejected. The finish reason "declined" easily shows you all calls that fall under this category.

To see which agents rejected how many calls you first download the dataset as CSV and do the same as we did for queues: create a count if function or a pivot table that counts declined calls. Feel free to check out our example CSV.
How many outbound calls did my team do last week? Date Filter: Last week
Tpe: Outbound Call
Domain: Intern (only needed for API)
Source: API and/or webRTC
Here you are looking at all Outbound Call that were either created via API (in case you use an external phone device) or via webRTC (for those who use Browser Phone). API outbound calls have two parts, therefore, you need to define which part you want to look at: the internal domain is the first part of the call, so the part initiated by the agent. If the call is then connected to a customer you will have an external domain as well. So in case you're only interested in how many outbound calls were actually connected in the end, select domain = external. In our example, however, you'll see every outbound call initiated by an agent. 
How do I recognize whose calls where connected via OBD today? Date Filter: Last week
Type: Outbound Call
Domain: External
Source: Outbound Dialer
Now we'll only look at outbound call from source Outbound Dialer that have the domain external. This way you can be sure that your agent connected to a customer (it might have been an answer machine as well but you know that your agent was definitely connected to someone or something).

Downloading call data

You can also download call data (both from the Conversations and the Live Call Logs view). This is how. Go to the section

Reporting > Live Call reporting

Firstly, restricting the time period of the call records. You will see all available data in manager, however, the data download is restricted to a set of 5000 lines so we always suggest you narrow down your search. You see the total of the result next to the header "Live Call reporting", right above the time filter. Please be aware: the downloaded dataset will look different and have more parameters. We have more resources on this topic in this article. If you need more than 5000 datasets we suggest you move forward with a data warehouse integration via API.

On the right hand side you can download the data as csv by clicking on the button.


We hope this introduction gives you an idea how babelforce reporting works. Once you got the hang of the Parent and Child calls it's actually really easy and a great way to analyze your data.
If you want, you can look at our example reporting sheet. Find out more about it in this article

Was this article helpful?




Please sign in to leave a comment.