- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-05-2022 02:22 AM
Hi all,
I'm hoping to get some feedback on how people have laid out their Virtual Agent topics and advice on what the ServiceNow best practise is. We have multiple 'report an issue' record producers in our Service Catalog and therefore created multiple topics in Virtual Agent to match these. It was seen as 'messy' when all these topics were laid out in the 'Show me everything' Topic picker (as seen in Option 2) and we were therefore asked to create an overarching 'Report an issue' topic which within it, points to all the different report an issue topic blocks (as per Option 1).
From an aesthetical point of view it does look better, however I am concerned that all utterances for these 'sub-topics' now need to be linked to the 'Report an issue' topic and I fear that this method is not recommended.
Option 1 - Categorised into 'Sub-topics':
Option 2 - All in the 'Show me everything' Topic picker:
Can anyone share if they have done something similar, or any ServiceNow gurus advise what the best practise is? Should the initial Topic Picker just be a big long list?
Thanks in advance.
Rich
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-05-2022 04:57 AM
So I have them as topics and not topic blocks which then enables the NLU. I then use a static choice to determine which specific topic is needed with a script - vaSystem.switchTopic('') to deflect to the individual topics.
In order to hide the specific topics from the main topic picker, I navigate to sys_cs_topic.list table and set the "is topic visible" = false. This hides it from the topic picker but still enables NLU to work when directly searching for the topic.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-05-2022 04:57 AM
So I have them as topics and not topic blocks which then enables the NLU. I then use a static choice to determine which specific topic is needed with a script - vaSystem.switchTopic('') to deflect to the individual topics.
In order to hide the specific topics from the main topic picker, I navigate to sys_cs_topic.list table and set the "is topic visible" = false. This hides it from the topic picker but still enables NLU to work when directly searching for the topic.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-05-2022 05:08 AM
That's a great idea, thanks for sharing this. When I tried I was hiding the Topics by setting the Topic condition to return false which stopped me from using NLU, I didn't think of instead making the 'is topic visible' field on the table to false instead!
Really appreciate your input, if you ever want to discuss VA knowledge/ideas by all means get in touch 🙂
Rich
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-05-2022 05:36 AM
Thanks Rich and the same to yourself. I've only been working on VA since Jan, but I've built quite a complex system that works quite well so far.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-29-2022 11:42 AM
Andy's suggestions were right on point, but I want to make some quick additions:
- Don't use vaSystem.switchTopic() - that's deprecated and prevents certain functionality, namely being able to start a new conversation. On Quebec+, use vaSystem.switchTopicById()
- For the sake of UX, I wouldn't necessarily hide specific report issue topics from the topic picker. Since your topics seem to have a consistent naming convention (Report a... issue), they all appear together in the alphabetical list which would allow the user to see all the related topics and choose the most relevant ones. If this wasn't the case, I'd recommend you use topic categories to bring these all together - but you can still use categories regardless.
- Having them all as distinct topics (not blocks) - provided they all have different flows to be worthwhile of course - is a good design and makes for good UX:
For users that know exactly what they want, they can either type in what they want, i.e. "i have a smartphone issue" or they can click the topic in the list. For users that don't know what they want (or don't specify), i.e. "i have an issue", it may not be a bad idea to keep that generic "Report an issue" topic and, like suggested, use it to switch topics AND provide some other fallback (can you create a generic incident for a Level 1 support group?).
If you didn't have the specific topics visible in the list and/or accessible via NLU, then you're just doing your users a disservice by forcing them into the generic "Report an issue" topic which requires extra time and clicks.
- Having them all as distinct topics (not blocks) - provided they all have different flows to be worthwhile of course - is a good design and makes for good UX:
- "Should the initial Topic Picker just be a big long list?" From experience, this is perfectly ok. Once you have so many topics (50+?) that browsing becomes tedious and impractical, it actually incentivizes use of NLU which a) should be a better and quicker chatbot user experience and b) is better for VA/NLU admins because it will be revealing into exactly what problems/questions/etc. users are having and allow you more data power to update your NLU model and/or update/create topics.
- Plus, it doesn't hurt to be transparent to users. Having a list of topics makes it clear what topics the VA is knowledgeable about and also doesn't make it seem like an all-knowing AI (which in this case is a good thing I think).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-04-2022 12:32 AM
Hi Chris
Thanks for providing more info on this. You mention using vaSystem.switchTopicById(). I haven't heard of this option, I am assuming you pass the sysid? Could you give an example of this please?
I am aware of the limitations in using switchtopic such as starting a new conversation but it works well for me at the moment. I have also tried the below, but it causes conflict with the NLU model.