State Mapping
Limitations
The following limitations apply to the general state mapping:
- It is not supported to map multiple Salesforce states to the same Cisco Not Ready state
- It is not supported to map multiple Cisco Not Ready states to the same Salesforce state
- Changing to an unmapped state in Cisco will switch the agent to the default Busy state and overwrite the Cisco state with the default Not Ready state.
- Changing to an unmapped state in Omni during a call will switch the agent to the default Busy state after the call ended.
- When UQ is used: It is not supported to map specific Not Ready states for media channels. Instead, the same Not Ready state as for the Voice channel is used automatically
- When UQ is used: Changing to an unmapped state in Omni will switch the agent to the default Busy state (even outside of a call).
- When UQ is used: Changing to Ready in Finesse for a specific media channel which does not have any corresponding Salesforce
Availablepresence status will switch the agent state to the default Busy state. - When UQ is used: Changing one specific channel state from one Not Ready state to another Not Ready state will switch the agent state to the default Busy state.
- When UQ is used: Changing to a Ready state for only a part of the channels (e.g.
Available Voice) will switch the other channels' state in Cisco to either the mapped Not Ready state or to the default Not Ready state.
Configuration
For the state mapping to work properly, the following things need to be configured.
Presence Statuses
Create at least one Available state for the Phone channel and at least one Busy state.
If you wish to use a specific state for RONA, configure an additional Busy state for it.
If you use UQ with one or more media channels, we recommend the following:
- Create one
Availablestate containing all used channels (e.g.Available Allcontaining the channelsPhone,MessagingandCase) - Create one
Availablestate for each seperate channel (e.g.Available Voicecontaining thePhonechannel,Available Chatcontaining theMessagingchannel,Available Casecontaining theCasechannel) - Create one
Availablestate for each channel combination (e.g.Available Voice + Chatcontaining thePhoneandMessagingchannels,Available Voice + Casecontaining thePhoneandCasechannels,Available Chat + Casecontaining theMessagingandCasechannels)
This ensures that all possible Cisco Ready state combinations are covered. If you do not configure it like this, the agent might be changed to the Not Ready state configured in the Contact Center instead.
Ensure that the states are assigned to the corresponding permission set.
Presence Configuration
If you wish to use a specific state for RONA, you have to follow these steps:
- Create a new
Presence Configurationif you have not yet created one. As of today, b+s Connects for Service Cloud Voice cannot use theDefault Presence Configurationbecause of a known issue in the product. - Add the
Busystate which you wish to use during RONA into theUpdate Status on Push Timeoutfield. - Assign your agents or your agents' profiles.
- Click
Save.
Partner Telephony Contact Center
Configure the following fields in the Partner Telephony Contact Center of b+s Connects for Service Cloud Voice to which your agents are assigned to.
We recommend to create multiple Contact Center configurations if your agents don't use the same media channels.
E.g. if Agent 1 works with Voice + Chat and Agent 2 works with Voice only, they should have separate Contact Center configurations to ensure consistent state change behavior.
This is especially important for the UQ Configuration which is used to determine possible Available states of each channel.
Ready State Id
This field has to contain the id of the Available presence status in Salesforce which should be used by default. We recommend to either configure Available for Voice only or Available for all channels.
Not Ready State Id
This field has to contain the id of the Busy presence status in Salesforce which should be used by default.
Default Cisco Not Ready Reason
This field has to contain the id of the Not Ready state in Cisco which should be used by default. We recommend to use the same state which is already configured as default in Cisco.
Presence State Mapping
This field may contain additional Not Ready mappings. If you don't want to map any additional states, this field can stay empty.
Field format: <Salesforce Busy Status Id 1>,<Cisco Not Ready state id 1>;<Salesforce Busy Status Id 2>,<Cisco Not Ready state id 2>
You can add as many state mappings as you want. Ensure to separate the Salesforce and Cisco state by comma (,) as well as each mapping from one another by semicolon (;).
These mappings only apply to the Voice channel. Any media channel is set to the default Not Ready state configured within Cisco if it is not in Ready state.
Behavior
For this section, the following state configuration is used:
- The agent has access to these Omni Presence Status:
- Available All (for Service Channels
PhoneandCase) - Available Voice (only for Service Channel
Phone) - Default Busy
- Meeting
- RONA
- Available All (for Service Channels
- The Presence Configuration has set the
RONAstatus in theUpdate Status on Push Timeoutfield and the agent has access to the Presence Configuration. - The Partner Telephony Contact Center contains the following configuration:
- Ready State Id: <id of the
Available AllPresence Status> - Not Ready State Id: <id of the
Default BusyPresence Status> - Default Cisco Not Ready Reason: 99
- Presence State Mapping: <id of the
Available VoicePresence Status>,22;<id of theMeetingPresence Status>,33;<id of theRONAPresence Status>,44; - Salesforce Object API Names for Tasks: Case
- Ready State Id: <id of the
This leads to the following mapping table in the background:
| Omni State | Cisco Voice State | Cisco Case State |
|---|---|---|
| Available All | -1 | -1 |
| Available Voice | -1 | 22 |
| Default Busy | 99 | 99 |
| Meeting | 33 | 33 |
| RONA | 32767 | 44 |
State Change From Omni
| Start Omni State | Start Cisco State | Action | Resulting Cisco State |
|---|---|---|---|
| Default Busy | Voice: 99 Case: 99 | Agent sets Omni State to Available All | Voice: -1 Case: -1 |
| (*) Default Busy | Voice: 99 Case: 99 | Agent sets Omni State to Available Voice | Voice: -1 Case: 22 Note: If Available Voice is not specifically mapped in the Presence State Mapping, the Cisco Case State would be set to the Default Cisco Not Ready Reason. |
| Default Busy | Voice: 99 Case: 99 | Agent sets Omni State to Meeting | Voice: 33 Case: 33 Note: If Meeting is not specifically mapped in the Presence State Mapping, the Cisco Case State would be set to the Default Cisco Not Ready Reason. This would also change the Omni State back to Default Busy. |
| Available All | Voice: -1 Case: -1 | Agent sets Omni State to RONA (manually or automatically for missed Case routing) | Voice: 99 Case: 33 Manually changing into the RONA state for the Voice channel is not possible, therefore we use the Default Cisco Not Ready Reason. |
(*) It is planned to not overwrite the Not Ready state of channels which are already in Not Ready state if a Available mapping match (Available Voice) is found. This will be implemented in a future release.
State Change From Cisco
| Start Omni State | Start Cisco State | Action | Resulting Omni State | Resulting Cisco State |
|---|---|---|---|---|
| Default Busy | Voice: 99 Case: 99 | Cisco sets agent to Available All | Available All | Voice: -1 Case: -1 |
| (*) Default Busy | Voice: 99 Case: 99 | Cisco sets agent to Available Voice | Available Voice Note: If Available Voice is not specifically mapped in the Presence State Mapping, the Omni State would be set to the Not Ready State Id. | Voice: -1 Case: 22 Note: If Available Voice is not specifically mapped in the Presence State Mapping, the Cisco State would be set to the Default Cisco Not Ready Reason for all channels. |
| Available All | Voice: -1 Case: -1 | Cisco sets agent to Meeting for all channels | Meeting Note: If Meeting is not specifically mapped in the Presence State Mapping, the Omni State would be set to the Not Ready State Id. | Voice: 33 Case: 33 Note: If Meeting is not specifically mapped in the Presence State Mapping, the Cisco State would be set to the Default Cisco Not Ready Reason for all channels. |
| (**) Available All | Voice: -1 Case: -1 | Cisco sets agent to Meeting for one channel (e.g. Case) only | Available Voice Note: If Available Voice is not specifically mapped in the Presence State Mapping or does not exist, the Omni State would be set to the Not Ready State Id. | Voice: -1 Case: 22 Note: If Available Voice is not specifically mapped in the Presence State Mapping or does not exist, the Cisco State would be set to the Default Cisco Not Ready Reason for all channels. |
| Available All | Voice: -1 Case: -1 | Cisco sets agent to RONA in the Voice channel | RONA Note: If RONA is not specifically set in the Presence Configuration, the Omni State would be set to the Not Ready State Id. | Voice: 32767 Case: 44 Note: If RONA is not specifically set in the Presence Configuration, the Cisco State would be set to the Default Cisco Not Ready Reason for all channels. |
| Available All | Voice: -1 Case: -1 | Cisco sets agent to RONA in any media channel | Available Voice Note: If Available Voice does not exist, the Omni State would be set to the Not Ready State Id. Note 2: There is also an error message visible in the Omni Widget since this use case is not supported. | Voice: -1 Case: 22 Note: If Available Voice is not specifically mapped in the Presence State Mapping, the Cisco State would be set to Voice: 1, Case: Default Cisco Not Ready Reason. Note 2: If Available Voice does not exist, the Cisco State would be set to the Default Cisco Not Ready Reason for all channels. |
(*) It is planned to try to set the Omni State to Available All before using the Not Ready State Id. For Cisco this would lead to all channels being set to -1. This will be implemented in a future release.
(**) It is planned to try to set the Omni State to Meeting (= Busy all) before using the Not Ready State Id. For Cisco this would lead to all channels being set to Meeting/33. This will be implemented in a future release.