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 Principalscolumn 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 Managerin 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 Itembutton and select theCalabrio Cloud Recording URLunder theCustomsection - Make sure that the
Start automaticallycheckbox 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 instructionssection below) - Click on the
Savebutton
Flow instructions
- By default, the LWC runs the Flow called
Store Calabrio Recording URL in Task recordwhich is distributed within theb+s Connects for Service Cloud Voicepackage - The Flow accepts two incoming String parameters:
voiceCallIdandrecordingUrland stores them in a new Task, respectively in theSubjectandDescriptionfields.
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
Flowsand open theStore Calabrio Recording URL in Task recordFlow distributed with this package - Add the element
Update Recordsto the Flow - Insert a Label and a valid API Name
- Check
Specify conditions to identify recordsandSet fields individually - From the list of Objects, search and select
VoiceCall - Under the section
Filter Voice Call Records, selectIdas Field and thevoiceCallIdexisting 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 existingrecordingUrlvariable as Value. - Click
Savebutton. - Click
Activebutton.
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.
Example Flow
