Calabrio Cloud Recording URL Addon
The Calabrio Cloud Recording URL Addon
for b+s Connects for Service Cloud Voice
is a Lightning Web Component which can be added to the
Utility Bar of a Salesforce App. Every inbound or outbound call routed through b+s Connects for Service Cloud Voice
, retrieves the related recording URL from the Calabrio Cloud server and triggers a Flow which stores the URL in the currently active VoiceCall record.
The Calabrio Cloud Recording URL Addon
is distributed as part of the b+s Connects for Service Cloud Voice
package.
Due to Salesforce security changes introduced in Winter '24 release, the connection to a Calabrio Cloud server using the new Named Credentials is only possible when using a version of b+s Connects for Service Cloud Voice
greater than or equal to 2.4 (ref).
The Legacy Named Credentials
are not supported.
Configuration
1. Create the Named Credential and External Credential pair
In order to create the required pair of Named Credential and External Credential records, it is required to use the Calabrio Cloud Setup
Aura app distributed within the b+s Connects for Service Cloud Voice
package.
As a Salesforce User with administrative permissions in the Salesforce Org in use, log in and open this URL in your browser:
https://YOUR-ORG-INSTANCE/cnxscv/calabrioCloudSetupApp.app
Click on the Generate Named Credential
button.
A confirmation (or error) message will be displayed within a few seconds. If the process is successful, the link Open the Named Credential in a new tab
can be used to directly open the newly created Named Credential record in Setup.
If an error message is displayed, make sure that the User has administrative permissions in the Org in use and has access to the Named Credential and External Credential objects (at least to be able to read and create records) and try again.
2. Configure the Named Credentials record
Setup | Security | Named Credentials
If required, change the Label field. The Name field can also be changed, but the Named Credential record must be then re-assigned to the b+s Configuration record.
Label: Named Credential record's display name
Name: API Name of the Named Credential record. It is recommended not to change this value. When changed, the Named Credential must be re-assigned to the b+s Configuration record(s).
URL: Endpoint URL of the Calabrio Cloud server. May differ from the default value when using Calabrio sandbox environments (please refer to your Calabrio representative)
Enabled for Callouts: checked
(true)
Allowed Namespaces: cnxscv
Do not change the values of the other fields.
Click on Save
button
3. Configure the External Credentials record
Setup | Security | Named Credentials | External Credentials (tab)
Label: External Credential record's display name
Name: Do not change this value if unsure.
In the Principals section, find the Calabrio Cloud Server Credentials
Principal and, under Actions, click on Edit
.
Set the values for:
Username
: <The API User's username>
Password
: <The API User's password>
4. Assign required permissions
Setup | Users | Permission Sets
Create a new Permission Set
with the following settings:
- Apps > Object Settings > User External Credentials > Enable
Read
- Apps > External Credential Principal Access > Click
Edit
> Select your External Credential record fromAvailable External Credential Principals
column and add it underEnabled External Credential Principals
Assign the Permission Set to the required User(s).
5. Utility bar item
Setup | App manager
- In Salesforce Setup, type
App Manager
in the quick find search bar and click onApp Manager
- Edit the App in which the b+s Connects for Service Cloud Voice gadget is already configured
- Open the
Utility Items (Desktop Only)
tab - Click on
Add Utility Item
button and select theCalabrio Cloud Recording URL
under theCustom
section - Make sure that the
Start automatically
checkbox is checked - Insert in the field
Named Credential (Developer Name)
the Named Credential's Dev (API) Name created earlier - If needed, change the API name of the Flow that you need to run (see
Flow instructions
section below) - Click on the
Save
button
Flow instructions
- By default, the LWC runs the Flow called
Store Calabrio Recording URL in Task record
which is distributed within theb+s Connects for Service Cloud Voice
package - The Flow accepts two incoming String parameters:
voiceCallId
andrecordingUrl
and stores them in a new Task, respectively in theSubject
andDescription
fields.
Due to a limitation with Salesforce packaging, a VoiceCall record cannot be updated in a Flow distributed in a Second Generation Package. To configure a Flow that updates a VoiceCall record, follow the steps described in the next paragraph.
Update a VoiceCall record with a Flow
A Flow which updates a VoiceCall record cannot be part of a package (as of the date of b+s Connects for Service Cloud Voice
package release version 2.2), but a Flow can still be manually configured in the Flow Builder to update data in an existing VoiceCall record.
The following steps require the User to have a basic understanding of Salesforce Administration tasks.
Configure the Flow to update a VoiceCall record's field
- Create a new custom field (of type text or URL) in the VoiceCall object where the Calabrio recording URL will be stored
- In Salesforce Setup, search for
Flows
and open theStore Calabrio Recording URL in Task record
Flow distributed with this package - Add the element
Update Records
to the Flow - Insert a Label and a valid API Name
- Check
Specify conditions to identify records
andSet fields individually
- From the list of Objects, search and select
VoiceCall
- Under the section
Filter Voice Call Records
, selectId
as Field and thevoiceCallId
existing variable as Value - Under the section
Set Field Values for the Voice Call Records
, set as Field the previously created custom field by selecting it from the available fields list. Set the existingrecordingUrl
variable as Value. - Click
Save
button. - Click
Active
button.
Once activated, the Flow will automatically store the Calabrio Recording URL of a call in the related VoiceCall record generated by inbound and outbound calls.
You can decide to run any Flow instead of the one distributed within this package:
- Create a new Flow which accepts two incoming String variables (not constants)
- Change the Flow API name in the Utility bar of the App in use
Advanced Salesforce Flow with error handling
How it works
For every call answered by the agent, the Calabrio Recording URL Addon component requests the corresponding recording URL to the Calabrio Recording server.
Upon completion of the request, its outcome is forwarded to the Flow configured within the Calabrio Recording URL Addon component, triggering its execution. This Flow accepts two string parameters as input:
voiceCallId
- Record ID of the Voice Call record for the current callrecordingUrl
- URL of the recording
As the Flow is invoked for every call, if the connection to the Calabrio recording server fails or the returned recording URL is invalid, the input parameter recordingUrl
remains empty. This enables further Flow development to implement customized error handling (examples in the next paragraph).
Suggestions for advanced Flow error handling
Possible error cases:
recordingUrl
variable is empty
Possible causes:
- The connection to the Calabrio Recording server failed.
- The Calabrio Recording server couldn't match the Agent's details with a valid recording.
- The Calabrio Recording server found a matching but older (already completed) recording.
voiceCallId
variable is empty or not valid
Possible causes:
- A communication error occurred between the Calabrio Recording URL Addon component and the b+s Connects for Salesforce Cloud Voice.