Whenever you use an external device to take or make calls, like a soft- or hardphone, and you would like to integrate outgoing calls in your helpdesk or crm, you want to learn about calls that come from source API.
But let's get the details straight, first: Agents will always initiate calls via babelConnect (we introduced you to the details in Chapter 2). However, agents will take the call with an external device like a softphone. This video shows you how calls are presented in babelConnect and a softphone.
Whenever agents initiate a call via babelConnect and are connected to an external device, there will also be a Parent and a Child call.
The Parent call is calling from babelforce to the device and has the following parameters:
- type = Outbound
- source = API
- domain = Internal
As soon as the agent took the call on the external device, babelforce is establishing a call to the customer. This Child call has the following params:
- type = Outbound
- source = API
- domain = External
With this information you are ready to build your own triggers. Of course, to make it easier for you we will look at three use cases.
Creating tickets for every outbound call
Our scenario: Whenever your agents do an outbound call via babelConnect, they should see a ticket in their helpdesk to keep track of all placed calls.
As with Inbound calls, you have to decide whether you want to create the ticket on the Parent or the Child call. There is not much of a difference, however, if you don't specify the trigger you will always create two tickets for every outgoing call. So you must take a decision here ;).
This is how the trigger looks like if you decide to create the ticket on the Child call:
If you want to create the ticket as soon as the agent clicks "Call" in babelConnect (meaning on the Parent call), change the Domain to internal.
Next, create the event. It is easy and resembles very much the case of the Inbound call:
As always, you can add any text, including placeholders, to the ticket subject and description.
Creating tickets only if call is connected to the customer
Let's look at another case. Some customers only want to have a ticket created when the agent is actually connected to a customer (and not for every call attempt). That way you would only see tickets for successful calls - it will keep your CRM clean. That's also easily done.
You use the same trigger as above (Call source = API and Call domain external is given) and create an event that looks as follows:
As you can see, the only difference is the Event. Select "Call taken" from the list.
Beware, do not select "Call bridged" - this Event is only true for Inbound calls.
Updating the ticket with talk time
Let's come to our last example: Like in the case of Inbound Calls, most customers want to know how long a call lasted. Considering what you already know, this is another easy task.
Create a new trigger with the same conditions as above but add call duration - it should be greater 0 (we already had this in the last section, this way you ensure that the ticket is only updated if your agent was indeed connected to somebody):
Now, finally, build an event that updates your ticket whenever a call is finished (of course, you always need another event that creates the ticket, first). The event could look like this:
In our help center, you find many examples on how to setup outbound events. For instance, find an extensive integration example on Freshdesk here.
You do not use an external device but signed up for Browser Phone? No worries, the next section will investigate the differences between the source API and Browser phone in-debt. If you are not interested in this topic, you can directly jump to the source outbound dialer or Transferred calls. And in case you don't mind any of these topics feel free to jump directly to the final exercises of this chapter.