IC2
Tera Expert

Some of you have requested examples of small talk topics for the Virtual Agent. That´s why I wanted to share some ideas about this concept.

What is small talk?

A small talk topic provides a response to a casual question that users might ask during a conversation, such as the time or date. A small talk topic can occur anytime within a conversation session and can be unrelated to the original conversation intent.

Small talk topics run in NLU conversations that enable users to temporarily switch topics and return to the original conversation topic

This is one of the interesting capabilities of the small talk topics. With this you can switch to another topic to get extra information and get back to your previous conversation to complete your request.

Small talk example:

For example, you could be requesting PTO trough Virtual Agent and in the middle of the flow ask for today´s date:

find_real_file.png

 

One of the things we have to consider for the above example is to enable the VA to switch to other topics on the middle of the conversation. In this specific case, we will activate it on the Date Time user input block. For this, we have to switch on the "Enable NLU at input Node" on our user input block.

 

find_real_file.png

 

To configure the conversation to come back where you left it, you have to switch on the "Resume topic flow" in your small talk topic. In this case, get the date topic.

 

find_real_file.png

 

Finally, you will have to create an intent and train your NLU model to recognize when you want to switch to your "get date" small talk topic.

 

 Small Talks Ideas:

 

  Get the date: This is the script I used to return today´s date in a response:

(function execute() {

    var gdt = new GlideDateTime();
    
    return gdt;

})()

 

Tell me a joke: With the below script you can display random jokes to the end user. Just add the Jokes you want to display to your end users in the allJokes array.

 

(function execute() {
    var allJokes = [
          "Joke 1",
          "Joke 2",
          "Joke 3",
          "Joke 4",
          "Joke 5"
          ];
    var joke = allJokes[Math.floor(Math.random() * allJokes.length)];
    return joke;
})()

 

With the above approach you can randomly display answers for other small topic examples:

How are you?

Tell me a quote?

What do you like?

Could you recommend me a book?

For the above examples (and any other that implies random answers) you can use the same script we used for the jokes:

(function execute() {
    var allAnswers = [
          "Answer 1",
          "Answer 2",
          "Answer 3",
          "Answer 4",
          "Answer 5"
          ];
    var vaAnswer = allAnswers[Math.floor(Math.random() * allAnswers.length)];
    return vaAnswer;
})()

 

Small talk is a great way to give some personality to your Virtual Agent and get better user engagement. That´s why you could have responses for the following topics:

Tell me more about you?

Where were you born?

How old are you?

What is your name?

 

The examples we have covered were unidirectional, the VA answers but it does not ask about yourself. You could also build bidirectional conversations, as the below:

find_real_file.png

These were some of the small talk topics you can implement for your Virtual Agent to enhance the user experience. But now is your turn to get creative 😉

 

 

 

 

Comments
NaAs
ServiceNow Employee
ServiceNow Employee

Great article Greg! very clear.

rajeev17
Mega Guru

Hi @Greg D , 

Can you show the flow screen shot , i cannot able to create emoji can you please help on this.

Thanks

Rajeev

IC2
Tera Expert

Hi Rajeev,

 

For the emojis I use a HTML response. This is the code for the above example:

<html>
    <body>

    <p>I´m doing great today!</p> 

    <span style='font-size:100px;'>&#128522;</span>

    </body>
</html>

In the following link you can find a repository of emojis you can use in HTML: Emoji Unicode Reference

Kind regards,

rajeev17
Mega Guru

Thanks Greg ! Great article ...

amnew
Tera Contributor

Hello @rajeev @rajeev @Rajeev  

Am new here for this Virtual agent i have exaxtly same requirement could any one of you help me how t o set up small topic?/

 

thanks.

Chris D
Kilo Sage
Kilo Sage

Good write-up.

This made me realize the flaw in my thinking though... we have a topic "Contact the Service Desk" which does a live agent transfer and I was thinking about enabling "Resume topic flow" on that topic so that a user could type in something like "i want to talk to a human" at any time and transfer to a human, but in order for that to work, you made me realize I'd effectively need to check the "Enable NLU at Input Node"... on every input node.

I have some topics with "Resume topic flow" enabled so I can program topic switching into certain other topics, but I'm struggling to see real value in "Enable NLU at Input Node" for anything besides Entity Extraction.

I think ServiceNow's definition of small talk - "A small talk topic can occur anytime within a conversation session and can be unrelated to the original conversation intent." - is a bit deceitful because, while technically true, it's simply not practical. Enabling NLU at every input node is waaaay too risky and no doubt bound to cause more problems than not and it kinda defeats the purpose of having mid-conversation small talk if you have to program each potential entry to small talk. Your first example is a good way to show the capabilities, but isn't a practical or helpful use case. Just my two cents.

Nuno Meira
Tera Contributor

Hi @IC2 

 

Do you mind to explain or share visual flow on how do you do the differentiation between a positive sentiment message and a message with a negative sentiment (in how are you)? Are you using NLU intent for this?

 

I have a similar requirement, (for both "how are you" and "emojis"), but I am still fresh in this subject and your answer was the best I find. 

 

Thank you

Marina_N
Tera Contributor

I am in the same boat as @Nuno Meira.

My task is to give some personality to our VA and get better user engagement.


We have already the OOTB Setup Topics configured greeting the user name, showing open tickets and displaying the topic picker.
What I aim to achieve is a user-friendly conversation to when the user says Hi or good afternoon, the VA is able to answer it and display the topic again.
There are some OOTB intents as #greetings and #what can you do from the Setup topics model that I haven't find a way to use it.

Is there anyone that could clarify if the best approach for my task is a small talk topic or if I should update the Custom Greetings & Setup in Conversational Interfaces?

~Many thanks in advance

Version history
Last update:
‎12-03-2020 11:28 AM
Updated by: