With Contact Center AI Platform, a virtual agent can transfer a chat session to another virtual agent without intervention by a human agent. This improves scalability for complex multi-flow virtual agent designs. Only support agents support virtual agent to virtual agent transfers. Other virtual agent types, such as virtual task assistants, don't support this type of transfer.
Virtual agent to virtual agent transfers don't work with deflections.
Terminology
Transfer: The reassignment of an agent handling a session.
Escalation: A type of transfer where a virtual agent is "escalated" to another agent.
Data parameters: Parameters passed to a virtual agent when a session starts. These are passed to Dialogflow using
/get_welcome_message.Session variables: Variables from Intent Response and End User Response. Session variables are stored for a call or chat session and persist until the session ends. The
capture_typesession variable includes thedata_parametersvalue, which is passed to a newly assigned virtual agent.hide_va_to_va_system_messages: A parameter in
PATCH /v1/settings/chatthat lets you hide from end-users the system messages from the web SDK and mobile SDKs for virtual agent to virtual agent transfers.
Virtual agent to virtual agent transfers
This section explains virtual agent to virtual agent transfers at a high level.
Initiation: A virtual agent transfers a chat session to another virtual agent assigned to a queue.
allow_virtual_agentmust betrueand there must be a virtual agent available in the destination queue. For more information, Session variable.Data transfer: Key-value pairs of session variables with the
data_parameterscapture type are passed from the source virtual agent to the destination virtual agent.New participant : A new participant is created with a
waitingstatus, and theChatProviderServicemakes the new virtual agent join the chat. TheChatProgressServicethen updates the participant status toconnected.Status updates: The chat status is updated to
va_assigned, and a connection to Dialogflow is established.Escalation cancellation: The previous escalation is canceled if it's escalating in
Chatbot::EscalationServiceListener::on_escalation_created.Message suppression:
hide_va_to_va_system_messageslets you suppress chat transfer system messages to end-users using the web SDK and mobile SDKs.
Hide transfer messages in chat sessions
You can configure whether system messages for virtual agent to virtual agent transfers appear in chat sessions. Hiding the system transfer messages can create a more seamless experience for the end-user when their chat session is transferred.
To hide transfer messages in chat sessions, follow these steps:
In the CCAI Platform portal, click Settings > Chat. If you don't see the Settings menu, click Menu.
Go to the Web & Mobile Chat Settings pane.
For Transfers, select the Hide chat transfer system messages to consumers for VA to VA transfers checkbox.
Click Save Chat Details.
Dialogflow custom payloads
This section contains examples of Dialogflow custom payloads.
Escalation payload
Escalation payload example:
{
"ujet": {
"type": "action",
"action": "escalation",
"escalation_reason": "by_virtual_agent", // "by_consumer" or "by_virtual_agent"
"allow_virtual_agent": true,
"menu_id": 100,
"language": "ko"
}
}
Set allow_virtual_agent to true to allow transfer to a virtual agent.
Session variable
Session variable example:
{
"ujet": {
"session_variable": {
"capture_target": "payload",
"capture_type": ["comment", "data_parameters"],
"payload": {
"value_one": "$session.params.payload_value_one",
"value_two": "$session.params.payload_value_two"
}
},
...
}
}
Important considerations
- Reporting and metadata: Using queued status between
va_assignedensures correct reporting and metadata.