Live Agent - Message Brokering

🚧

This covers Moveworks Copilot

Moveworks Copilot is the latest conversational experience

Overview

Live Agent Message Brokering (also known as “Message Brokering”) is a variant of the Moveworks Live Agent handoff skill, which connects users to agents upon request. While most live agent handoffs redirects the user to a browser, a chatbot, or another Copilot, before starting the conversation between the user and the agent, Message Brokering connects users to agents in the same chat as the Moveworks Copilot for the most popular systems, e.g. ServiceNow, Amazon Connect, etc.).

This approach is generally easy to set up and works for numerous systems, however, there are advantages to keeping users in the same chat as the Moveworks Copilot.

  1. Pulling agents directly into the chat is the most seamless handoff experience possible.
  2. It reinforces the idea that the Moveworks Copilot is the destination for all kinds of support, including getting connected to agents.

This experience is not only seamless for users of the Moveworks Copilot, but also seamless for the agents as well. They need not learn any new tools or interfaces, they simply work in the same place and manner that they always do, and it will feel just like a user has opened up a chat natively with them.

Requirements

In order for Message Brokering to be enabled, Moveworks Copilot must be configured with the following:

  1. One of the 3 live agent platforms:
    1. Amazon Connect
    2. 8x8
    3. ServiceNow Agent Chat, e.g. Advanced Work Assignment + Agent Workspace or Service Operations Workspace
      1. Prerequisite: Access to the “Virtual Agent API” plugin—most commonly available to organizations that have purchased a ServiceNow ITSM Pro license
  2. One of the 3 chat platforms:
    1. Moveworks for Web: Fully supported ✅ 
    2. Microsoft Teams: Fully supported ✅ 
    3. Slack: Mostly supported ☑️
      1. Limitations: Attachments not currently supported

The experience

There are three phases to the Message Brokering experience: starting the chat, chatting, and ending the chat.

Starting the chat

How does a user connect to an agent?

To connect to a live agent, a user can ask the Moveworks Copilot directly (e.g. “chat with a live agent”) then the following will happen:

  • First, Moveworks Copilot will prompt the user to provide more details of the issue

    • If there are solutions, Moveworks Copilot will serve those first to promote self-service resolution.

  • Next, Moveworks Copilot will draft the Issue Description as part of the handoff to the live agent, all within chat

    • Users also have the option to add more context via the Edit/Add Details button
    • In this example, Moveworks Copilot did not have any solution, so it immediately drafted the Issue Description

Visibility of the “Start Agent Chat” button

The Moveworks Copilot will always show the button, irrespective of the agents' availability. If the user clicks the button but no agents are available, Moveworks Copilot will respond with “There are currently no agents available to handle your request.”

Dynamic queue routing

Moveworks does not maintain queuing logic. Queues are defined and controlled in the external live agent chat system. However, when Moveworks attempts to connect to the external system, it can pass along additional key value pairs of context variable data that your live agent chat system may be able to use to route the user appropriately.

For example, if you maintain two queues, one for French speakers and one for English speakers, Moveworks can pass that context as something like language: french and your system may be able to be configured to parse that and route the user to the French queue.

Moveworks supports several common context variables out of the box, such as domain, language, and region. Custom keys can also be configured. Work with your Moveworks CSE if you have additional requirements.

To learn how to configure Dynamic Queue Routing, visit the Moveworks Setup documentation.

Getting connected (from the user’s perspective)

Assuming agents are available, upon clicking the “Start Agent Chat” button the following occurs:

  1. The user is placed into a queue in the external system and asked to wait for an agent to accept the request.
    • Note: In this state, the user can still make full use of the Moveworks Copilot; they are not blocked from doing anything. The waiting is done in the background.
  2. Once an agent accepts the chat request, the chat session has begun and the Moveworks Copilot is no longer participating in the conversation, with a few exceptions (documented in the Moveworks Copilot interactions during the live agent chat session section above).
  3. System messages are passed to the user from the external system, including any automated greetings you’ve configured to be on behalf of the agent, and then both the user and agent are free to converse.

Getting connected (from the agent’s perspective)

This will vary system by system, but typically an agent will receive a notification of an inbound chat request that can be accepted or rejected.

The chat request’s title will be set to the main utterance the user used in starting the agent chat.

image.png

Upon accepting the chat request:

  • The chat session will begin
  • The chat request will be attributed to the Moveworks user (if supported by the external system)
  • System messages will be delivered
  • By default, the agent will receive the last 6 messages, including messages from both the user, and the Copilot. (chat history can be disabled if desired).
image.png

Message Types

  • Moveworks messages will be displayed without any agent attribution.
  • External system messages will be displayed without any agent attribution.
  • External system messages sent on behalf of agents (e.g. automated standard greetings) will be attributed to the agent that accepts the chat request.
  • Agent messages will be attributed to the agent that sent them.
image.png

Agent Attribution

Each message will contain the name of the agent, pulled from that agent’s profile in the external system. In the case pictured here, the agent’s first and last name is “Moveworks IT” as defined in his ServiceNow user profile. The agent’s image can also be pulled from the external system and displayed to the user. However, this is optional and can be disabled. You may choose to disable this for anonymity purposes, because you do not have agent pictures, or because the images are not accessible to Moveworks via API (e.g. hosted behind a company VPN).

image.png

Queue Timeouts

Moveworks supports queue wait timeouts from the external live agent chat system in addition to maintaining one itself.

  • Each external system will have its own way of defining a timeout period and relaying that event to Moveworks.
  • Moveworks queue wait timeout period is 2 minutes - The user is not blocked from doing anything with the Moveworks Copilot while waiting in queue, so this timeout period is intended to be long enough to accommodate most timeouts an organization might reasonably define in its external system. This timeout is simply a fallback.

Chatting

Sending messages

Users and agents can send text messages, including standard emojis, back and forth.

📘

Note on emojis

Some chat systems, like Microsoft Teams, make use of nonstandard or custom emojis. These will be stripped from the message sent to the user.

Attachments

Sending and receiving file attachments is supported to varying degrees depending on the live agent chat system and the user chat platform. The following is a summary of capabilities by system:

SystemDisplay: Unfurl imageDisplay: Link to fileCopy and pasteDrag and dropPaperclip
Moveworks for Web
Microsoft Teams
Slack
ServiceNown/an/an/an/a
Amazonn/an/an/an/a
8x8n/an/an/an/a

Most standard file formats are supported. Moveworks does not actively disallow any file type, as this configuration typically lives in the live agent chat system. Some platforms support unfurling image attachments in the chat, and all other attachments are displayed as links to files that can be clicked to open them. By default, there is no size limit.

Rich Form Support

Unfurling Ticket and KBA Links

When an agent sends a KB number or ticket number (RITM, INC, etc.) during a live chat session, the message will first be passed immediately to the user, then it will be followed by a card containing a clickable direct link. If available, the resource’s short description will also be included. When the user clicks on the link, it will bring them to the resource in ServiceNow.

Moveworks Copilot interactions during the live agent chat session

Beyond brokering messages between users and agents, during the chat session the Moveworks Copilot can also do the following:

  • Act on the “Stop chat” command to end the chat from the user side. This is a case insensitive keyword-based way for users to end the chat. It is deterministic rather than NLU-based so as to make it unlikely to unintentionally trigger.

  • Deliver notifications and communication broadcasts. If a user receives any kind of notification or communications campaign during the live agent conversation, the Moveworks Copilot will deliver it (to the user only, not the agent), however, any buttons or other ways to reply to them will be disabled while in the live agent conversation session. This is to ensure that no important notifications are missed by the user, while minimizing confusion as to with whom the user is chatting (Moveworks Copilot or agent).

Ending the chat

Both agents and users may end the chat at any time.

  • A user can end the chat by typing the keyword "Stop chat" to the Moveworks Copilot.
  • An agent can end the chat, by using the chat platform native capabilities to end the chat, and this will be communicated back to the end user within Moveworks.
    • Within Amazon Connect, an agent would select End chat to end the chat with the user.

Configuration Options

Chat History

  • Max number of messages to pass: You can override the 6 default messages to include more or less messages in the chat history by configuring Max number of messages to pass.
  • Remove links from history: This removes hyperlinks before sending it to the agent.
  • Remove user utterances from history: For security purposes, you may opt to remove user utterances from history, and only include pass off the messages from the Moveworks Copilot in the context history.

https://files.readme.io/c71172a-image.png

Dynamic Translation Service / DTS for Message Brokering

If your organization leverages MLS (Multilingual Support), any chat messages sent between users and agents can be translated dynamically on the fly. This is a configurable option within MW Setup.

  • Translation is non-english (user) to english (agent). In other words, all languages are translated to English and that's the only option.

  • Also, a "Do Not Translate" keyword setting can be configured as well from agent to user ONLY. To be specific, the agent can prevent translation happening after a keyword. For example, the agent can type DNT //path//folder//file to the user and bypass the translation service.

File Size

Maximum file size for attachments can be enabled. e.g: 5 MB

Maximum number of attachments allowed per live agent session.

FAQ

Q: What security measures are applied to transcript data?

A: The transcript feature won’t be turned on by default. When turned on, Moveworks will persist the transcript in an internal s3 bucket with a TTL of 1 day. Also, the transcript data will mask PII.

Q: I have access to Moveworks on multiple chat platforms and on the web. Are agent chat sessions independent or shared across them?

A: A user can be talking to an agent in Slack and simultaneously talk to the Moveworks Copilot in Teams, and open up another live agent chat on Moveworks for Web. As a reminder, Moveworks for Web is consider one Moveworks Copilot if it is embedded on multiple websites, so one could, for example, start a live agent chat in Moveworks for Web embedded on ServiceNow and then navigate to the Moveworks Copilot embedded on SharePoint Online and continue the same live agent conversation.

My system allows multiple agents to join chats with users. Does Message Brokering support this?

A:

  • Yes, if another agent is invited to or barges into a conversation, all their public messages will be delivered to the user and attributed to each individual agent.
  • Private messages sent between agents will not be shared with the user.