Skip to main content
Version: 2.5

Calabrio On-Prem Recording URL Addon

Important!

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.

info

Supported version: Calabrio on-prem 11.5

Configuration

1. CSP

Setup | CSP | Trusted URLs

  • In Salesforce Setup, type CSP in the quick find search bar and click on Trusted URLs
  • In the page that opens, click on New Trusted URL button
  • In Trusted URL Information enter a valid API Name for the trusted URL record
  • In URL field, enter the correct url of the Calabrio On-Prem server and include the port if necessary (e.g. https://calabriolab.lab.lan:8447)
  • Enable Active checkbox
  • Enable all (or at least the frame-src) CSP directives under CSP Directives
  • Click on the Save button

2. CORS

Follow the steps described in the b+s Connects documentation to configure CORS in Calabrio.

tip

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 Types in the quick find search bar, click on Custom Metadata Types
  • In the page that opens, search for CalabrioOnPremSettings under Label column
  • Click on Manage Records under Action column
  • Click on Default Server under Labels column
  • Click on Edit button and insert the Calabrio On-Premises server's username and password
tip

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 Manager in the quick find search bar and click on App 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 the Calabrio On-Prem Recording URL under Custom section
  • Make sure that the checkbox Start automatically is checked
  • Insert the Calabrio On-Premises server URL
  • Insert the desired Calabrio credentials record API Name (the value can be found under the CalabrioOnPremSettings Name column in Custom Metadata Types > CalabrioOnPremSettings > Manage Records). By default, the component uses the Default Server record.
  • If needed, change the API name of the Flow you need to run (see Flow instructions section below)
  • Click on Save button

Flow instructions

  • By default, the LWC runs the Flow called Store Calabrio Recording URL in Task record which is distributed within the b+s Connects for Service Cloud Voice package
  • The Flow accepts two incoming String parameters: voiceCallId and recordingUrl and stores them in a new Task, respectively in the Subject and Description fields.
info

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

  1. Create a new custom field (of type text or URL) in the VoiceCall object where the Calabrio recording URL will be stored
  2. In Salesforce Setup, search for Flows and open the Store Calabrio Recording URL in Task record Flow distributed with this package
  3. Add the element Update Records to the Flow
  4. Insert a Label and a valid API Name
  5. Check Specify conditions to identify records and Set fields individually
  6. From the list of Objects, search and select VoiceCall
  7. Under the section Filter Voice Call Records, select Id as Field and the voiceCallId existing variable as Value
  8. 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 existing recordingUrl variable as Value.
  9. Click Save button.
  10. 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.

info

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 call
  • recordingUrl - 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

Flow to Store Calabrio Recording URL