Whenever you use an external device to take or make calls, like a soft- or hard phone, 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
The graphics below should help you get an idea of the process:
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.
1. 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 make 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 Automation. It is easy and resembles very much the case of the Inbound call, however, you select the Event "Call created":
As always, you can add any text, including placeholders, to the ticket subject and description.
2. Creating tickets only if a 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 Automation 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 Automation is only true for Inbound calls.
3. 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 the 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 than 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 Automation that updates your ticket whenever a call is finished (of course, you always need another Automation that creates the ticket first). The automation could look like this:
Below you will find the entire process explained in a form of a video:
In our help center, you find many examples of how to set up outbound Automations. For instance, find an extensive integration example on Freshdesk here.
The next section will deal with the source types outbound dialer and call transfer. In case you are not interested in any of these topics feel free to jump directly to the final exercises of this chapter.