Calabrio On-Prem Recording URL Addon
This addon is deprecated. We no longer support Calabrio On-Prem.
The Calabrio On-Prem 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. For every inbound or outbound call routed through b+s Connects for Service Cloud Voice, it retrieves the related recording URL from the Calabrio On-Premises server and triggers a Flow which stores the URL in the currently active VoiceCall record.
The Calabrio On-Prem Recording URL Addon is distributed as part of the b+s Connects for Service Cloud Voice package.
Supported version: Calabrio on-prem 11.5
Configuration
1. CSP
Setup | CSP | Trusted URLs
- In Salesforce Setup, type
CSPin the quick find search bar and click onTrusted URLs - In the page that opens, click on
New Trusted URLbutton - In
Trusted URL Informationenter a validAPI Namefor the trusted URL record - In
URLfield, enter the correct url of the Calabrio On-Prem server and include the port if necessary (e.g.https://calabriolab.lab.lan:8447) - Enable
Activecheckbox - Enable all (or at least the
frame-src) CSP directives underCSP Directives - Click on the
Savebutton
2. CORS
Follow the steps described in the b+s Connects documentation to configure CORS in Calabrio.
Refer to this page to find the correct Origin to whitelist
3. Custom metadata type: Calabrio on-premises server credentials
Setup | Custom Metadata Types
- In Salesforce Setup, type
Custom Metadata Typesin the quick find search bar, click onCustom Metadata Types - In the page that opens, search for
CalabrioOnPremSettingsunderLabelcolumn - Click on
Manage RecordsunderActioncolumn - Click on
Default ServerunderLabelscolumn - Click on
Editbutton and insert the Calabrio On-Premises server's username and password
The Default Server credentials record is distributed with the b+s Connects for Service Cloud Voice package,
but multiple credentials records can be created if required. In order to use a different Credentials record to
connect to the Calabrio On-Prem server, the Credentials record's API Name must be set in the Utility Item
settings when adding this addon to a Lightning page (as described in the next chapter).
4. 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 On-Prem Recording URLunderCustomsection - Make sure that the checkbox
Start automaticallyis checked - Insert the Calabrio On-Premises server URL
- Insert the desired Calabrio credentials record API Name (the value can be found under the
CalabrioOnPremSettings Namecolumn inCustom Metadata Types > CalabrioOnPremSettings > Manage Records). By default, the component uses theDefault Serverrecord. - If needed, change the API name of the Flow you need to run (see
Flow instructionssection below) - Click on
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
