Getting Started with Watson Assistant: Finishing Touches

We’ll show you how to connect Watson Assistant to your existing content and to human agents (3/5)

Blake McGregor
IBM watsonx Assistant
9 min readApr 14, 2021

--

Photo by Brett Jordan on Unsplash

Looks like you’ve gotten past most of the work building your assistant—should be smooth sailing from here! Now we’ll put all of the finishing touches on your assistant before you start to test it with other people!

And, just as a reminder, here are the set of steps you’ve already completed and the few you have left. We’re getting closer to launch! How exciting is that?

First-Assistant Getting Started Steps

  1. Plan it — a few hours (you already did this!)
  2. Build it — half of a day (you already did this!)
  3. Complete it — a few hours (you are here)
  4. Test and improve it — half of a day
  5. Launch it — a few hours

Your assistant needs a fallback strategy

Congrats—your assistant can now handle three to five of your most frequent topics with ease. However, these topics probably represent only 20–40% of the total questions that will be received by your assistant. What about every other on-domain question that it might get from your users? For all of those, your assistant needs a fallback strategy.

Fallback simply means that when the intents in your dialog skill don’t match a request your user has, the assistant should try the following (in this order) to get the user what they need without hitting a dead end:

Method 1: Search existing help content to find answers (optional but recommended). Here’s an example of what a search skill output looks like in web chat:

Example search skill result in Web Chat

Method 2: Handoff to customer service agents for everything else. Here’s an example of what escalating looks like in web chat:

Example human agent escalation in Web Chat

Let’s dive deeper into how you can setup each of these.

Fallback method 1: search existing help content (optional but recommended)

To set up your assistant to search against your existing help content, you should go back to the content inventory you created in step 4 of the planning process (below).

Take a look at your content inventory for a moment and assess the types of content you have within the domain you’ve chosen. We recommend you start by choosing only content that is publicly available on the internet (as a web page) so that the search skill can easily crawl it and stay in sync with any updates made to that web content.

Screen shot of Watson Assistant connector to Watson Discovery, for enabling search.
Search Skill web crawl/sync settings

Pro tip: The search skill can handle two types of web content well: short FAQs and long-form help articles. Keep this in mind as you decide which pages to crawl. You can also get to other content types (e.g. PDFs, Word docs, etc.) in the future, but web content is the best place to start.

Remember that the search skill acts as a fallback to the most frequent topics your assistant can handle natively in the dialog skill. It’s tempting to think that the dialog skill should handle the top 20–30 topics right out of the gate, but when we’ve seen customers do this, most of their initial dialog goes unused and has to be refactored once real usage starts.

As your assistant usage increases, you’ll start to see where questions that hit your search skill could’ve been better handled by the dialog skill. This will give you more confidence in investing training time in particular dialog topics.

Pro tip 2: You only should build dialog for a given topic when 1) it comes up frequently and 2) you think that you can provide your user with a more efficient interaction than from the search skill (i.e., less time reading).

Search Skill setup steps

  1. To get moving, start by creating a search skill within your assistant:

2. Follow the process to have the system create a new Watson Discovery free plan for you, and then create a new collection. Follow the first few minutes of this video to see the detailed steps involved with crawling your content and finalizing the search skill setup.

3. You should now have a search skill with properly mapped fields for body, title, and URL, which means you’re almost good to go! Before finishing up, we recommend that you add the following text to the “no results found” message to instruct users to ask for an agent if no results are available:

I searched my knowledge base, but didn’t find anything to help with your question. Try rephrasing or just ask me for an agent to connect to someone!

Once you’ve done that, hit create to keep moving!

4. Open up the web chat integration again and test it. The assistant should be able to answer your top topics with a dialog-style interaction and handle everything else with a search. If you have any issues with the format or quality of the results, check out this guide, which can help you troubleshoot.

Fallback method 2: hand off to customer service agents (required)

Every assistant needs a path to a human when it can’t handle something on its own. But you know this — we discussed it back in the first post when you decided on your handoff strategy!

Think back to that post for a moment and remember what you decided for your agent handoff. Follow the section below that’s applicable to your decision:

Web chat — in-line chat handoff

The best possible handoff experience for your users is one where the assistant seamlessly escalates to a human agent with full context. Meaning, the agent can pick up exactly where the assistant left off. Something like this:

Once the handoff occurs, notice that the agent has context of the lemon order and of the quantity of lemons to purchase.

What’s cool about our web chat client is that you can set up this kind of interaction with just about any service desk you already use. Here are the setup steps you’ll want to go through to get this working.

Pro tip: Before you start, make sure to involve the right people to help you complete the one-time setup process. This includes the person with administrative access to the service desk tool and, for tools other than Salesforce and Zendesk, a developer.

  1. Open your web chat setup, navigate to the “live agent” tab.

2. Choose the tool you want to use and follow the instructions to connect it to your assistant. If you don’t see your tool listed, choose “bring your own” and have a developer follow the instructions to set everything up.

3. Set up some dialog nodes to recognize that someone wants to speak to an agent and then handoff. We already added this to the sample you used in the last post, so check out how that works as an example.

4. In some cases, you might want to intentionally escalate a conversation to a human agent after gathering some up front information. To do this, check out pattern 3 in the sample skill (buying a fruit).

Web Chat — Email address/phone number handoff

In this scenario, instead of directing the user to an agent in-line, you’ll simply provide the user with the correct phone phone number or email address based on the topic at hand. Simply follow steps 3 and 4 above, but provide the user with a text output of the phone number/email instead of the “connect to human agent” response.

Phone—Transfer to agent handoff

Over the phone, your transfer to a human will follow a similar pattern as above, but with a specific command to transfer the phone call. The overall phone integration setup (to align with the way your contact center is already setup) is documented here.

Once the phone integration is setup, the specific command to use, vgwActTransfer, to transfer a phone call to a human agent within your contact center can be found here.

Pro tip: The phone integration relies on a SIP handoff back to your telephony system to transfer your users to your existing service agents. The vgwActTransfer contains all the parameters needed to guide your telephony system on which teams or destinations to transfer to. Make sure you pull in the contact center/telephony expert in your organization to set all of this up!

Greet your users with more than “ask me anything”

Your greeting is essential—so don’t skimp! It sets the context and tone for the interaction between the user and the assistant, and a bad opening can lead to incorrect expectations, frustration, and poor engagement.

For example, it’s frustrating for users to see greetings like, “Hello, how can I help you? without any additional information. Given a vague opening like this, users typically assume that the assistant can do just about anything, try to ask a number of questions, and continually see “I don’t know how to answer that” in response. Lame!

Our advice here is to give the user an idea of what domain of topics the assistant can handle and even a few suggestions for topics to start right away.

Based on the channel integration, your assistant has two ways it can greet someone:

  • Home screen in web chat (just applicable to web chat integration)
  • Welcome message in dialog skill (most channel integrations)

Home screen in Web Chat

If you’re using the Web Chat integration, you can add a welcome message and starter topics directly to the home screen. If you use this feature, just make sure you assistant can recognize the text inputs for the 3 quick-start options.

Welcome message in dialog

For every other channel, like over the phone, the message at the top of your dialog tree is where you setup the opening for a given conversation. Should look something like this in the fruit stand sample:

Add chit chat and basic conversation control

Although we aren’t big on making assistants seem human for the sake of seeming human, we do believe that interactions should feel fun and natural for your users. Meaning… if someone happens to say “thanks” after the assistant does something useful, it’d be great for the assistant to respond “no problem!” instead of saying… “Hmmm… I didn’t understand you.

The good news here is that we already loaded all of the chit chat essentials into the sample skill you grabbed from the last post on building out your dialog! All you need to do is replace the response content we used with words that match the unique persona of your assistant.

And for future reference, here are the basics we think every assistant needs to handle before launching:

Chit Chat

  • Hello
  • Goodbye
  • Thanks
  • Okay

Basic Information

  • What can you do?
  • Are you a human?
  • Tell me about yourself?

Conversation Control

  • Switch topics/cancel
  • Hold on for a second
  • Get me a human agent

For reference, all of the intents above can be found in the content catalog section of your dialog skill. Check out the “bot control” and “general” categories.

Watson Assistant content catalog within the Dialog Skill

Wrapping Up

You now have a truly complete assistant with 3–5 top topics handled, the fallback methods setup, basic chit chat in place, and a welcome message ready to go! This is an amazing accomplishment!! Now it’s time to test it with friends and coworkers to make sure it meets your (and their) expectations. Ready to keep moving?

➡️ Next Up: Test and improve it (4/5) ➡️

--

--

Blake McGregor
IBM watsonx Assistant

I love to ski, eat, travel, and eat. And in my spare time, I work in the natural language/AI space as the product management lead on IBM Watson Assistant.