Expected Behavior for External Routing for Omni-Channel
Verify that the behavior you observe while testing and using your implementation of
external routing matches the following expected behavior scenarios.
- Agent accepts the work:
-
- Chat visitor initiates a chat request from the external routing button.
- PendingServiceRouting is created.
- Partner is notified by a pushTopic event (EventType=Create, isPushed=false).
- Partner creates AgentWork using the PSR.
- Agent is routed the chat request (AgentWork Status = Assigned).
- Agent accepts the chat request (AgentWork Status = Accept).
- Omni-Channel deletes the PendingServiceRouting after Agent accepts the work.
- Partner is notified by a pushTopic event (EventType=Delete).
- Agent declines the work through Omni-Channel:
-
- Agent declines the assigned AgentWork.
- Salesforce updates the PendingServiceRouting.
- Partner is notified by a pushTopic event (EventType=Update, LastDeclinedAgentSession=agent’s session id in Chat (not the Salesforce session), isPushed=false).
- Partner creates a new AgentWork using the updated PendingServiceRouting for rerouting.
- Agent doesn’t accept the work due to push time-out:
-
- Existing PendingServiceRouting is updated.
- Partner is notified by a pushTopic event (EventType=Update, PSR Fields updated: isPushed=false, LastDeclinedAgentSession=agent’s liveagent session id).
- Partner creates a new AgentWork for rerouting.
- Agent transfers the work to an external routing queue:
-
- New PendingServiceRouting for the transfer is created.
- Partner is notified by a pushTopic event (EventType=Create, isTransfer=true, isPushed=false).
- The routing process is repeated.
- Agent transfers the work to another agent :
-
- The PendingServiceRouting from the original chat request is deleted.
- A new PendingServiceRouting isn’t created when the work is transferred. Subscribe to AgentWork and LiveChatTranscript to determine whether the work was transferred to an agent.
- Two AgentWorks are created for the LiveChatTranscript:
- First AgentWork with the Status = Opened
- Second AgentWork with the Status = Assigned
- The LiveChatTranscript is updated with the Status = In Progress and the Owner = second Agent.
- To determine if the Transfer to Agent has occurred, check that the second AgentWork isn’t inserted into the same LiveChatTranscript as the first AgentWork.