Calabrio Cloud Recording Toolbar
Introduction
This document provides information to install, configure, and manage the b+s Connects for Salesforce Recording Toolbar for Calabrio Cloud, which integrates Salesforce CRM and Cisco Contact Center solution with the Calabrio Cloud recording solution.
Compatibility
- Supported in Cisco CCE and CCX deployments.
- Recording feature must be enabled by b+s on request.
- This integration requires Calabrio ONE Authentication to be enabled.
- Gateway recording deployments are not supported.
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 Salesforce solution greater or equal to 5.9.4. Legacy Named Credentials are only supported in versions below (and including) 5.8.
Installation
The Recording Toolbar is integrated into the b+s Connects for Salesforce package as an Add-on feature. Perform the steps in logical order, in this chapter to correctly configure the Recording Toolbar.
Contact b+s to have the Recording Toolbar activated.
Due to a limitation in the Calabrio API, it is not possible to show the current state of the recording inside the Recording Toolbar.
Calabrio Server Configuration
Create an API User
This integration requires Calabrio ONE Authentication to be enabled and an API User configured properly. An API user is configured the same as a system administrator, but the purpose of this user is to enable third-party applications to authenticate with Calabrio ONE.
- Start Calabrio ONE and log in as a system administrator.
- Navigate to Application Management | Global | User Configuration | Users.
- Create a new user, pay attention to the following options and fields:
- Roles:
default system Administrator
- Select the Associated Groups and Teams that this account should have scoping over.
- In the WFM Views field, assign EnterpriseView as the main view.
Write CRM ID to Calabrio Metadata
In order to save the CRM ID of the call activity to the Calabrio metadata, a type “text” metadata field has to be configured in the Calabrio Metadata Manager. You will have to specify the same key in the Recording Toolbar Settings Meta Data Keys field.
Configure Recording Toolbar in the b+s Configuration record
In order to integrate the Recording Toolbar in the b+s Connects for Salesforce gadget, in the b+s Configuration record page in use, under Integrations > Custom Toolbars click on the Add
button to add a new Custom Toolbar.
Select the Location of the new Custom Toolbar
In
URL
dropdown, select Add-On / Visualforce page and click on Calabrio Cloud in the adjacent dropdown.Recommended Height:
25
After adding the
Calabrio Cloud
Addon to the Custom Toolbars (ref), the sectionCalabrio Cloud Setting
is now visible underIntegrations
.
Calabrio User Configuration
In order to be able to interact with Calabrio, apart from the API user, the Cisco Agent needs to be matched with the Calabrio User. If FirstName and LastName do not match, the Integration will not be able to find the recording of the current agent call.
The Calabrio user can be set up in two modes:
- Hoteling User (shared desk)
- Fix Device assignment
Hoteling User (shared desk)
In Calabrio, the devices (agent phones) are not fix assigned to the agents (Calabrio users). In order to assign the device (agent phone) to the Calabrio user, the Calabrio user name must be provided. This can be done either by using a field from the Salesforce user object or by appending a suffix to the Cisco user name.
Required config for the Recording Toolbar:
- Use Hoteling User: Checked
- Salesforce User Field:
Field on Salesforce User
- Appendix to Cisco Username:
Appendix
Please refer to the user configuration in the Calabrio ONE documentation to proceed in Hoteling User configuration.
Fix Device assignment
In Calabrio, the devices can be assigned directly to users, making the login process different. As soon as the Calabrio server detects a device (extension) that wants to login, it checks the configuration and proceeds accordingly. No User Login Required is needed in this deployment.
Required config for the Recording Toolbar:
- Use Hoteling User: Unchecked
- Salesforce User Field: :
empty
- Appendix to Cisco Username: :
empty
Please refer to the user configuration in the Calabrio ONE documentation to proceed in Fixed Device assignment configuration.
Detailed fields reference
User Login Required
If auto recording is disabled, this setting needs to be enabled. To define the login information for the user either configure “userIdField” or “userIdExtension”.
Default: false
Example Value: false
Salesforce User Field
A field from the Salesforce User Object that is used for the Calabrio User Name.
Default: Alias
Example Value: Alias
Appendix to Cisco Username
Instead of saving the Calabrio user ID in an extra field. The admin can configure an extension. This extension gets attached to the cisco username and the combination of both are used to log the user in.
Default: empty
Example Value: @abc.com
Calabrio Cloud Named Credentials
Select one of the available Named Credential records.
A detailed step-by-step checklist is described in the next chapter.
Please note that only the Named Credential records created using the button "New Named Credential" are displayed here and can be used to connect to the Calabrio Cloud recording server.
New Named Credential button
Click on this button to create a new pair of Named Credential and External Credential that can be used by the b+s Connect for Salesforce package to connect to a Calabrio Cloud Server.
Recording Link Field
Field name of the Salesforce Activity custom text or URL field where the recording link will be stored. If the field is not present or not accessible to the User, the recording link will not be written.
Default: empty
Example Value: pfx__MyCustomField__c
Meta Data Key
Field name of the Calabrio server metadata field to store Salesforce Task Id. If key is not present, the metadata will not be written in Calabrio Server.
Default: empty
Example Value: sf-id-key
Call Status Interval
Sets the timeout between two callStatus requests against the Calabrio Server. The callStatus requests are sent as soon as a call starts until a contactId from Calabrio is retrieved or the call has ended.
Default: 2000
Example Value: 2000
Agent Buttons
This list of checkboxes can be used to enable specific action buttons.
Default: all unchecked
Pause
: Enables the Pause action during a call.Resume
: Enables the Resume action during a call.Segment Save
: Enables the Segment Save action during a call.Segment Delete
: Enables the Segment Delete action during a call.
Setup the connection to Calabrio Cloud Server
In order to establish a connection to the Calabrio Cloud server, it's required to create and configure at least one set of Named Credentials and External Credentials using the button in the b+s Configuration record page (ref).
As of b+s Connects for Salesforce v.5.9, the Legacy Named Credentials
(ref) are no longer supported.
b+s Connects for Salesforce versions 5.9.4 and 5.10.1 shows an "Insufficient privileges" error for Users lacking the View Setup and Configuration
permission in their Profile. Upgrading to the latest version of the b+s Connects for Salesforce connector is recommended instead of assigning the View Setup and Configuration
setting to the Users' profile.
Create the Named Credential and External Credential pair
In order to create the required pair of Named Credential and External Credential, click on the button New Named Credential
present in the Calabrio Cloud Settings
section of the b+s Configuration record page in use. The button will change color once the operation is done, signaling the success or failure of the operation. If the operation is successful, the new Named Credential created will be available to be selected in the adjacent "Calabrio Cloud Named Credential" dropdown and a direct link to its configuration page in Salesforce Setup will also appear on the right of the button.
Click on the Open in Setup
link to open the new Named Credential record just created in a new tab.
Due to Salesforce's security settings limitations introduced in Winter '24, Managed Packages cannot fully access data stored in Named Credentials and External Credentials. Therefore, it is required to create a pair of these records using the New Named Credential
button on the b+s Configuration record page, as described above.
Configure the Named Credential 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.
URL: Change this value as needed (default: https://partners.calabriocloud.com
)
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).
Enabled for Callouts: checked
(true)
Allowed Namespaces: cnx
Do not change the other fields' value.
Click on Save
button
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 Calabrio User's Username and Password.
Click on Save
button.
Create and assign the 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
Important! Assign the Permission Set to the required User(s).
Google Chrome Browser CSRF security changes
The Google Chrome version 80 release changes the default cross-domain (SameSite) behavior of cookies.
SameSite is a reasonably robust defense against some classes of cross-site request forgery (CSRF) attacks, but developers currently need to opt in to its protections by specifying a SameSite attribute. In other words, developers are vulnerable to CSRF attacks by default. This change would allow developers to be protected by default, while allowing sites that require state in cross-site requests to opt in to the status quo’s less-secure model.
Agent Guide
1. Pause Button
Clicking Pause on a call that is already paused does nothing. You must click Resume to continue recording. Pause does not affect live monitoring.
Calls are available for playback prior to reconciliation, with silence where Pause was applied.
2. Resume Button
If the call is not currently paused, Resume does nothing. If you do not click Resume, the point at which you paused the recording is the end of the audio recording.
During post-call processing, clicking Resume does not appear as a mutual silence event or talk over event.
3. Segment and Save Button
Clicking Segment and Save starts the audio recording of an active call. If QM does not automatically record the call (for example, the caller’s phone number is on the exclusion list, or the call does not meet workflow criteria for being recorded), this button lets you record it and treat it as a normal contact. Segment and Save overrides the exclusion list (configured in Calabrio One under Application Management > QM Contact Flows > Inclusion/Exclusion). If QM is currently recording an active call, Segment and Save does nothing.
4. Segment and Delete Button
Clicking Segment and Delete stops the audio and screen recording of an active call. The recording made up to that point is discarded immediately. The recording resumes after you click Segment and Delete and is saved according to workflow criteria as a new contact.
Troubleshooting
Limitation
Due to a Limitation from Calabrio, only a single 3rd party integration can be connected.
Error message is displayed on login
Symptom
After successfully logging in using the softphone, a "Could not login" error is displayed
Possible cause(s)
- Calabrio server is down
- Calabrio server connection is blocked
- Calabrio server certificates have expired or not trusted
Solution
- Check Calabrio server is up and running
- Check the client computer has access to the Calabrio server. Access to
https://<calabrioserver>
from the same browser the agent uses to connect to Salesforce - Check Calabrio certificates are accepted by the client computer. Perform the same step as when checking the connection: Access to
https://<calabrioserver>
from the same browser the agent uses to connect to Salesforce
Recording Control Buttons Do Not Show After Login
If the Recording Control buttons do not show up after logging the agent in to the b+s Connects for Salesforce gadget when the agent’s state is either "ready" or "not ready", it could be due to the following reasons.
Error: Invalid Extension with HD Login/Logout
Symptom
The Connects gadget shows an error: Invalid Extension with HD Login/Logout.
Possible cause(s)
The VoIP device is assigned to a specific agent on Calabrio server. To support this configuration the call center definition configuration needs the userLoginRequired setting.
The userLoginRequired setting must correspond with the Calabrio server configuration.
Error: No active recording found
Symptom After successfully loading the Calabrio toolbar (i.e. the recording buttons are visible and greyed out), when a call is accepted or connected, an error message is displayed below the recording buttons: "No active recording found".
Cause The Calabrio server cannot validate and match the Agent's firstname and lastname.
Solution Verify that the Agent's firstname and lastname are identical on both Calabrio and Cisco Finesse.
General Troubleshooting Tips
Make Sure you can still login with the API user in Calabrio ONE.
When using On-Prem deployments of Calabrio make sure your httpd.conf, registry and web.xml files are configured correctly.
Always check the Browser Console for additional information.