Important Notes
Finesse Workflows are not supported in our connector
This feature is only available within the Cisco native agent desktop and does not function in our environment.
Connects for Salesforce and Finesse Desktop must not run in Parallel
Due to a limitation in the Cisco Finesse API, Connects for Salesforce will stop functioning when Finesse Desktop is actively used for customer interactions. This occurs because Finesse Desktop invalidates the session used by Connects for Salesforce. As this is a restriction imposed by Cisco, the systems cannot operate simultaneously, specially, when using Single Sign-On (SSO).
A System Administrator cannot enable 'Change Dashboard Colors'
The package contains dashboards and reports. Some Orgs trigger an error message making it impossible for the package to be installed. This issue can be solved by adding a permission set which adds the "Change Dashboard Colors" permission to the user who installs the package. For more information see https://help.salesforce.com/s/articleView?id=000349418&type=1
Use of External Routing for Omni-Channel
To handle externally routed Omni tasks with b+s Connects, the Salesforce Omni-Channel Console Component must be activated. To guarantee correct task handling, agents are not allowed to manipulate Omni presence states or tasks within the Salesforce Omni-Channel Console Component.
Transfer of Routed chats
The agent can re-route a chat as follows: in the chat the agent clicks on the Transfer button. The agent selects a Button/Invite that is linked to an External Routing queue. The chat is now re-routed by the same mechanism as it was routed the first time.
Transfer of Routed Cases
The agent can re-route a case as follows: Change the owner of the case to the External Routing Queue. The case is now re-routed by the same mechanism as it was routed the first time.
Streaming API - Disconnected after an interval of 3 hours
The Salesforce Streaming API drops the connection every two to three hours. The interval depends on the Salesforce org type or Salesforce instance.
Salesforce confirmed, this is a known behavior.
Our b+s Routing Adapter for External Routing recognizes this disconnects and automatically reconnects to the Streaming API.
Limitations with Person Account in Softphone Layout
The Softphone Layout has the following limitation concerning Person Account objects.
Although Person Account objects can be added to the Softphone Layout, they will not show up in the ANI lookup results. This is due to a bug in Salesforce.
The workaround for this problem is to add the Account object to the Softphone Layout instead. When Account objects are included in the layout, Person Accounts are searched as well and the search results are displayed in the ANI lookup results. The available display fields are the same on Account and Person Account objects. The only drawback here is that when adding the Account object to the Softphone Layout, Account objects that contain the ANI are found as well and will also be displayed in the ANI lookup results.
Data Lookup in Salesforce
On incoming calls, a Salesforce search as configured in the Salesforce Softphone layout is initiated with the ANI as the search value.
If you prefer to search for a value other than the ANI, you can define a peripheral variable or ECC variable. The search is then initiated with the content of this variable.
The results of this search are displayed in the Connects gadget.
On incoming routed cases, a Salesforce search as configured in the Salesforce Softphone layout is initiated with the sender field as the search value. The content of the sender field depends on the configuration of the b+s Routing Adapter component.
Cisco Agent Request API callback calls trigger a Salesforce search like inbound calls.
Call Log in Salesforce
Incoming and outgoing answered voice calls are automatically logged in the Salesforce call log (in the task table). The call log is visible in Salesforce in Reports | Call Center Reports | My Calls Today.
Internal calls, consultation calls, and conference calls are not logged.
Automatic Assignment of Call Log
- Call log entries are automatically assigned to the agent as the owner
- If the search result of the call (as configured in the Softphone layout) finds only one contact or lead, the WhoId (=Name) field is automatically set to this item
- If the search result of the call (as configured in the Softphone layout) finds only one account, asset, campaign, case, contract, opportunity, or solution, the WhatId (=Related To) field is automatically set to this item
- If a number was dialed with the click-to-dial feature, the WhoId or WhatId associated with the call log entry is set to the item attached to the phone number that was clicked
Wrap-Up Reason in Call Log
If a Wrap-Up reason is selected, the reason is saved in the field CallDisposition (=Call Result) at the end of the call. If the user logs out of the gadget, or if the gadget is not active when the call ends, the Wrap-Up reason is not updated.
Call Duration in Call Log
The call duration is saved into the call log at the end of a call. If the user logs out of the gadget or the gadget is not active when the call ends, the duration is not updated. The duration starts counting when the call is answered and it counts until the call Wrap-Up is completed.
Person Accounts: Automatic Call Log Assignment
On incoming and outgoing calls, the gadget searches for an object to automatically assign to the Call Log based on the ANI (incoming) or DNIS (outgoing). If there is only one object found and if this object is of type Person Account, the record found is always of type Account. This means in this case Person Accounts are handled as Accounts and are linked to the “Related to" field (WhatId).
Person Accounts: Manual Call Log Assignment
If a Person Account is viewed, it can be assigned to the Call Log by clicking the assign button in the gadget. However, there are two views to every Person Account: Account and Contact view.
If a Person Account is found via the Account list, it is opened as a record of type: Account. In contrast, if it is found via the Contact list, it is opened as a record of type: Contact.
When the assign button is clicked, the assignment to the call log is different depending on whether the Person Account in Account view or Contact View was opened. It is also different depending on whether the gadget in the sidebar or in the Salesforce Console was used.
In the Sidebar, the Person Account record is always opened as a record of type Contact. As a result, pressing the assign button in the gadget, will assign the Person Account record to the "Name" field (WhoId).
In Service Cloud Console, the Person Account record is assigned to the "Name"field (WhoId) if opened in the Contact view and it is assigned to the "Relatedto" field (WhatId) if opened in Account view.
No (Case) Feed entry when manual assignment to Call Log
If a Contact or Lead (WhoId =Name field) or Account, Asset, Campaign, Case, Contract, Opportunity, or Solution (WhatId =Related To field) are manually assigned to the call log (for example using the Assign now button), the related object feed is not updated.
For example if you manually assign a Case to the Call Log, the Case Feed of this Case is not updated, no Feed Item is created.
Limitation on Changing Saved Credentials
If an agent’s saved credentials (Agent ID, Agent Extension, Agent Password, etc.) in Personal Information are changed while the agent is still logged in, an error messages will appear in the Connects Agent gadget after the next page reload.
The agent must then log out of Salesforce to clear the issue.
Agent is logged out when the Connects gadget is Not Active
If the agent navigates to a Salesforce page where the Connects Agent gadget is not loaded, the agent is set to not ready (or logged out, depending on your configuration) after approximately 30 seconds.
A logout (in deployments with the Case Routing Add-on), will reroute or close (configurable) the currently active tasks in CCE.
Call Center Definition File Included in Salesforce Package
The b+s Connects for Salesforce CCE/CCX installation package contains only Call Center file, which can be assigned to all agents.
Support of 89xx and 99xx phones
89xx and 99xx series phones are supported with the following caveats:
- The phones must be configured with only a single line (these phones are not supported if multiple lines are configured)
- Maximum Number of Calls must be set to 2
- Busy Trigger must be set to 1
For more information please check Cisco Contact Center Compatibility Information (https://www.cisco.com/c/en/us/support/customer-collaboration/unified-contact-center-enterprise/products-device-support-tables-list.html)
Limitation with CCX and login name with invalid cases in letters
To login with CCX the agent has to enter their login name. The login name is case sensitive. The behavior when logging in with a valid login name but with invalid cases in letters is confusing because the browser pops an authentication window instead of immediately showing an “invalid credentials” error.
After closing this pop-up window the agent can retry their login with the correct credentials.
Required Settings for SSO Deployment with Mozilla Firefox
Because of the Cisco SSO architecture, SSO won’t work with the JSON-viewer from Mozilla Firefox. All users who use Mozilla Firefox with SSO, need to change the following configuration in their browser.
- Enter the following into the navigation bar of your Firefox browser: about:config
- Copy and paste devtools.jsonview.enabled into the search row that appears.
- Select devtools.jsonview.enabled. The value of this configuration will be displayed in the center of the bar. If this value is true, click on the toggle button on the right hand side to change the value to false.
Integration API backwards compatibility
With b+s Connects for Salesforce 5.1 the b+s Connects Integration API now enforces that the integration using the API calls the waitReady function at least once before receiving any events or sending any requests. This change requires changes to be made to pre-existing integrations that did not use the waitReady function in the past.
Please, check the b+s Connects for Salesforce 5.1 Integration API [7] documentation for more information about backwards compatibility of the new version.
Limitations with Lightning Experience
Lightning Standard supports voice only, no Media Routing
Salesforce Omni-Channel is only supported in Lightning Console but not in Lightning Standard. For this reason, b+s Connects for Salesforce is only supported for voice in Lightning Standard.
The following features are not supported in Lightning Standard:
- Salesforce Omni-Channel Federation
- Media Routing Salesforce External Routing – MRI (Ext-MRI) aka Cisco Universal Queue (UQ)
Resize
Unlike in Salesforce Service Cloud Console, the softphone cannot be resized by dragging its corner in Salesforce Lightning. In order to resize the gadget, change the softphone height and width in the Salesforce call center configuration.
Softphone Layout setting “No matching records: Pop to new XXX”
For new conversations, a Salesforce search is executed. Due to a bug in Salesforce, Salesforce does not respond to the request if no matching record is found. Consequently, no call log is saved for the conversation.
Workaround: Do not set the Softphone Layout setting “No matching records: Pop to new XXX” where XXX is a record e.g. Account, Campaign, Case.
b+s Supervisor Console in Lightning Standard
The b+s Supervisor Console add-on is only supported in Lightning Console and Classic Console due to communication problems between the b+s Connects for Salesforce and the b+s Supervisor Console.
Salesforce Platform Limits - API Request Limits
Voice
Only Open CTI and the Console Integration Toolkit are used.
These APIs do not count against the API limit. Telephone calls do not result in Rest API requests.
Omni-Channel Federation
Every time the b+s Connects gadget is loaded, requests to the Rest API are sent. Loading the gadget means:
- If the user logs-in into the CRM, the whole page is loaded—including the b+s Connects gadget
- If the user refreshes the page (for example, by pressing F5), the b+s Connects gadget is loaded again
- If the user changes from a page without the b+s Connects gadget (for example, the Setup pages) back to the console, the b+s Connects gadget is loaded
- The number of Rest API requests depends on the number of channels the agent supports. If the agent supports Omni-Channel Case routing only, then there is one (1) Rest API request every time the b+s Connects gadget loads. If the agent supports Omni-Channel routing for Case, Lead and a custom object, then there are three (3) Rest API requests every time the b+s Connects gadget loads
The effective number of Rest API requests for every agent = (number of b+s Connects gadget loads) multiplied by (number of supported channels).
The REST API requests are required because the b+s Connects gadget uses the Salesforce “Compact Layout” to select the fields to display in the b+s Connects gadget for an Omni-Channel task.
Workaround: do not use Compact Layout
External Routing
The Task Flow for “Case Routing Add-on External Routing” is as follows:
Salesforce Omni-Channel ➜
b+s SFDC Routing Adapter Ext-MRI ➜
Cisco CCE ➜
b+s Connects for Salesforce Gadget ➜
Salesforce Omni-Channel
Following this Task Flow, the following Salesforce API limitations may occur:
General Omni-Channel limits
The number of Omni-Channel Route Requests are limited. In order to inspect the limits for the Salesforce Organization, go to Setup | Customize | Omni-Chanel | Limits.
Streaming API
A general overview for the specific organization can be found here.
Relevant limits are:
- Maximum number of topics (one Push Topic is required for the b+s Case Routing Add-on)
- Maximum number of push notifications within a 24–hour period (every action that triggers a create, update, or delete operation on the PSR Object Table will count against the API limit)
Rest API
Rest API (calls originated by the Routing Adapter). A general overview for your specific organization can be found here.
Relevant limits are:
- Concurrent API Request Limits (this value is also configurable for the Routing Adapter in order to reach optimal performance)
- The amount of available API calls per 24 hours period depends on the Salesforce organization and the number of licenses purchased. An overview can be found inside the Salesforce organization, under Setup | Monitor | System Overview. Please refer to the section Monitoring Your API Usage for more information.
- Every route request counts as one (1) API request against the API limit. When a task is re-routed two (2) additional API requests are needed to determine the routing reason and get the latest field values (Can be disabled).
- Additional API calls for fail-over
Cisco Finesse Failover
If Cisco Finesse manages to recover from a failure, it is possible that the agent be logged out of the Connects Gadget.
Task Routing Channels change to “WORK” after Finesse Failover
After a Finesse failover the state of any Task Routing channel state is initially set to “WORK” and remains like that until the connection between Finesse and CCE is fully established.
Cisco documents this behavior in the chapter “Agent States for Nonvoice Media” that can be found under https://developer.cisco.com/docs/finesse/#agent-state-nonvoice-media.
Multichannel sequencing when changing to READY state
With b+s Connects for Salesforce 5.1, a sequencing mechanism has been introduced that is triggered when the agent uses the “Overall button” to go READY in all channels.
This mechanism ensures that the voice channel is always the first that is set to READY. Once the confirmation from Finesse that the voice state has successfully been changed to READY, the state requests to the remaining media channels are sent.
There is a timeout of two (2) seconds, after which the media state change requests are sent regardless of whether or not the voice state was successfully changed to READY. This ensures that the media channels are not being blocked if there are any issues with the voice channel.
Salesforce Shield Platform Encryption Limitations
b+s Connects for Salesforce 5.1 fully supports Salesforce Shield Platform Encryption. The same limitations as documented in the General Shield Platform Encryption Considerations also apply here. https://developer.salesforce.com/docs/atlas.en-us.securityImplGuide.meta/securityImplGuide/security_pe_considerations_general.htm
Important: when upgrading the b+s Connects package from a version older than 5.3, if the Shield Platform Encryption with Encryption for custom fields in Managed Packages has been activated and at least one of User object's fields is encrypted (Agent_Phone_Extensionc and/or Agent_Phone_Extension_v2c), the migration of the values from Agent_Phone_Extensionc to Agent_Phone_Extension_v2c will be skipped in the PostInstall script, since the fields' content is not readable.
It is required to deactivate the encryption on the b+s Connects package fields before upgrading or to manually migrate the values from Agent_Phone_Extensionc to Agent_Phone_Extension_v2c after the upgrade.