Skip to main content
Version: 2.8

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.

Important!

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).

caution

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.

Calabrio Cloud Setup App

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:

  1. Apps > Object Settings > User External Credentials > Enable Read
  2. Apps > External Credential Principal Access > Click Edit > Select your External Credential record from Available External Credential Principals column and add it under Enabled 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 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 Cloud Recording URL under the Custom 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 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