Integration scenario: Callback Integration
When integrating external systems into EnreachVoice callback-related services, there are usually two different approaches:
Simple integration:
Receive callback requests in EnreachVoice
Callback-control in external system
Callback reporting done in external system
Full integration:
Receive callback requests in EnreachVoice
Callback-control in EnreachVoice, built-in advanced features can be used
Reporting is done in EnreachVoice
Simple callback integration
In simple callback integration EnreachVoice provides only a channel to create callback requests (CBR). The external system closes all new requests in EnreachVoice immediately.
All Callback control and reporting is done in the external system
EnreachVoice Apps (mobile nor windows) cannot be used
Advanced CallBack features, such as auto allocation, duplicate removal, request linking, due and expiration handling etc. must be done in the external system
Â
EnreachVoice SalesForce and Dynamics365 use simple callback integration model.
Â
Full callback integration
In full callback integration Callback control stays in EnreachVoice Core, and the external system behaves like any other EnreachVoice App.
All build-in CBR features can be utilized
Reporting is done in Voice Analytics
Implementation options
Backend implementation
Syncs CBR state between EnreachVoice backend and External System
Separate API user to communicate with EnreahcVoice API
Frontend implementation
Communicate with EnreahcVoice API as an agent user
For example, utilizing makeAPICall() method in webphone to call /callbacks/auto-allocation-request
Â
Â
Making callback calls
By default, all calls initiated by a user are considered as direct calls, even if the caller number (CLI) of the call is set to a number of a service queue. In callback scenarios, this usually brings following shortcomings:
To let other users see or listen to call recordings of calls made by the agent to the original caller, requires access to all direct calls made by the user.
As the call and recording are owned by the user, they cannot accessed after the user is removed.
The call made by the user not be backtracked by a callback request id.
To overcome these, calls can also be placed on behalf of a callback list, which makes the call type to callback-call type service call. This brings following benefits
Managers and other users can be allowed to see and listen only to callback calls by call list, without exposing direct calls
Call and call recording is owned by the callback list, and can be retrieved even after the user has been removed
The call can be retrieved by callback request id.
Recording and CLI settings are defined in the callback list
There is an option to play a pre-recorded message when an outbound callback call connects.
When using EnreachVoice autoallocation, calls are automatically treated as callback calls.
Requirements to make calls on behalf of a callback list.
The user must have permission to handle callbacks from a list
The user must send REST API request before making the call indicating the next call is a callback call
The call must arrive at the EnreachVoice call control system within 10 seconds after the REST API request.
Â
Make callback calls with embedded webphone
Example of how to make callback call with embedded webphone
const webrtc = document.querySelector('webrtc-client-ui');
// Notify backend that the next call is callbackcall
webrtc.makeAPICall('POST','/users/[ME]/features/callout/activate/',{
"TargetNumber": "+123456789",
"CallbackRequestId": "11111111-1111-1111-111111111111",
"CallbackListId": "22222222-2222-2222-2222-222222222222"
});
// After 1 sec delay, place the actual call.
setTimeout(() => { webrtc.call('+123456789') },1000);
Make callback calls with mobile via click-to-call
If the user has EnrachVoice mobile subscription and mobile app installed, it is possible to make callback calls with mobile phone utilizing REST API click-to-call endpoint
// Invoke REST API to notify backend that the next call is callbackcall
POST /users/me/features/callout/activate/
{
"TargetNumber": "+123456789",
"CallbackRequestId": "11111111-1111-1111-111111111111",
"CallbackListId": "22222222-2222-2222-2222-222222222222"
}
// Invoke REST API to initiate mobile call to number
POST /users/me//action/mobile/call/
{
"PhoneNumber": "+123456789"
}
Â
© Enreach, Mannerheimintie 117, 00280 Helsinki, Finland
+358 40 450 3000, www.enreach.fi