Michael Zizovsk
ServiceNow Employee
ServiceNow Employee

This document outlines the current support within Catalog and highlights some limitations to variables, variable attributes, and scripts supported for Now Assist in Conversational Catalog Request in Virtual Agent. This information can help customers make catalog items conversational by working around such limitations wherever possible.

 

This document also covers some information about Conversational Catalog usage and FAQs.

 

Reference Links for Conversational Catalog

The links here provide details about the Service Catalog. Such as how it can be configured for Now Assist and how effectively it’s used within the Virtual Agent to be conversational.

 

ServiceNow documentation

Community

 

Limitations around Some of the Supported Variables

Variable Type

Limitation

Checkbox

  • Cannot be grouped. A variable or container in between must be used. Future release aims to introduce support for a group of check boxes.
  • Without pricing implications.

Date

Supported formats: yyyy-mm-dd

Date/Time

Supported formats: yyyy-mm-dd HH24:MI:SS

Label

By design, this variable type must not be marked as mandatory, as it doesn't accept user input.

List Collector

  • Might run into issues if dynamic/scripted filters or choices/options are being populated using client scripts.
  • Without pricing implications.

Lookup Multiple Choice

User is unable to skip this question type.

Lookup Select Box

Without Pricing Implications.

 

Multiple Choice

Without Pricing Implications.

Reference

 

  • A user needs to modify the property to increase the return limit. Increasing the limit can cause performance degradation.
  • To increase the limit, use the property: glide.sc.va.reference_question_choices.limit
  • Without Pricing Implications.

 

Requested For

The user is unable to skip this question type.

 

Rich Text Label

The Rich media is stripped out, except for the URL.

Select Box

Without Pricing Implications.

 

Yes / No

For conversational use, ensure to check the ‘Include None’ option on the variable.

 

Containers

  • Do not mark the container mandatory on the variable form
  • Improper use of containers may result in an item being non-conversational.

 

Some limitations around some of the supported client script/UI Policy script methods

Method

Limitation

GlideAjax

It only works under certain client scripts: If you have onLoad and onChange Catalog Client Scripts on the catalog with an AJAX call, then the callback function should be written inside the onLoad or onChange function block. If it is not written inside the callback function, it is not detected/executed during the Catalog Conversation in Virtual Agent.

RegExp

Consider creating a new record in the question_regex table and leveraging the “Validation Regex” on the variable form under the Type specification tab. This field surfaces for text fields.

 

 

Conversational Catalog Overview Dashboard

With the Now Assist in Virtual Agent plugin installed, the Conversational Catalog Overview dashboard becomes available. This dashboard reports on Conversational Catalog supported vs. not supported and provides a preview of the most requested items by each bucket. The dashboard also provides a drill-down into each catalog item to help understand why an item is or is not supported.

 

MichaelZizovsk_0-1720707167204.png

 

 

For non-conversational items, the user is presented with a list of reasons why they are not conversational. Users can review the issues to make the item conversational.

MichaelZizovsk_1-1720707167210.png

 

 

When to make an item conversational

Items meeting the following criteria provide a streamlined experience and are well-suited for Now Assist Virtual Agent conversational interaction:

  • The item uses any of the variable types mentioned in the Variable Limitations table.
  • The item does not have any pricing implications.
  • The item has around 15 or fewer variables. It is recommended to stay within this range for the user experience. If more than 15 variables need to be asked to the user, update the sn_now_assist_cr.llm.conversational.request.question.limit in the Now Assist in Conversational Catalog Application scope. If the property does not exist, create it.
  • The item uses simple direct questions.
  • Does not include complex scripts, advanced UI Policies, custom variable types, dynamic or advanced reference qualifiers, or other unsupported configurations listed in the prior question.

When to make an item non-conversational

  • Use the “Turn off Now Assist” check box on catalog items with the following implications so that they are rendered non-conversationally in the Virtual agent for an optimal Now Assist user experience: The item does not use any of the types mentioned in the Variable Limitations table. Custom variable types are not supported.
  • The item has pricing implications.
  • The catalog item uses Catalog Client Scripts or Scripted UI Policies that do not use any of the methods mentioned.
  • Catalog Client scripts that use DOM manipulation should be avoided. If used, be sure to set the UI Type of the catalog client script to Desktop.
  • The Catalog item is a Content Item, Order guide, Wizard Launcher, or a Standard Change template will not be supported and rendered as a Window.
  • If the Catalog item has any form of customization along the lines of widgets, UI Pages, or UI Macros are not supported.
  • The Catalog Item description contains a set of instructions or terms and conditions that the user must read. These will not surface in the conversational catalog, so it is best to exclude them.

Conversational Catalog FAQ

  1. Which ServiceNow release is the Conversational Catalog dashboard available?
    • Starting Vancouver Patch 7 and Washington Patch 1 if the Now Assist in Virtual Agent plugin is installed.
  2. Can I select which variables surface during a conversational catalog conversation?
    • No, catalog developers are unable to select which variables surface during a conversation. Questions that have a default value already presented will not be asked during a conversation. Users will have the option to change the value of this variable at the end when the form summary is displayed to the user.
  1. What exactly gets captured from the Catalog Item during the conversation?
    • The following fields are captured and passed to the LLM during the conversation:
      • Item Name
      • Description
      • Variable Label and Value
    • Note: The description/instruction/hints of variables are not passed to the LLM.
  1. How can I manipulate the question format?
    • The description of the catalog item is the basis for the questions generated during the VA conversation. Ensure that the description in the catalog item is detailed enough to include context around relevant questions being asked of the user as part of the conversational item in VA. Also, make use of the variable’s Conversational Labels field in the catalog item definition to allow rephrasing of the question.
    • If the above recommendation is not viable, then a custom LLM VA Topic needs to be used, where the questions can be phrased and ordered according to needs.
  1. I want to show pictures of items during my catalog conversation. How can I achieve this?
    • If you wish to show pictures to the end user during your conversation, you can leverage the Rich Text Label variable.
  1. How can I increase the question limit?
    • To increase the question limit you can update or create the following variable in the Now Assist in Conversational Catalog Application Scope:
      • sn_now_assist_cr.llm.conversational.request.question.limit. Out of the box, the limit is defaulted to 15. This property is applicable to Vancouver Patch 7 and onwards.
  1. How can I increase the limit of the Reference field type?
    • To increase the limit of the reference field, type the following property that can be updated:
      • glide.sc.va.reference_question_choices.limit.Please note that increasing this property (beyond the default of 7000) can cause Virtual Agent performance degradation. When configuring variables with the Reference data type on a conversational catalog item, ensure filter conditions are applied to limit the number of returned results, improving performance and reducing load on the system.
  1. How can I make my non-conversational items render as a pop-up or window?
    • A non-conversational catalog item can be rendered as a pop-up only if it does not have any Custom or UI Page variables, and if the catalog item contains more than 20 variables. The default value of the glide.sc.va.inline_render.question.limit property is 20.
    • If the catalog item contains custom or UI page variables, rendering as a window is recommended.To change the render type of non-conversational catalog items to pop-up or window, the following property can be updated:
      • glide.sc.va.render_type.legacy

Setting this property to true will allow catalog items to be opened in a new window/tab in portal view. A false value will render the item as a pop-up.

 

  1. Why are some questions not asked during my conversation?
    • Questions with default values specified on the variable form will be skipped during the catalog conversation.
    • When the summary is presented to users, they will have the option to change the value of the question. They will have to type in what question they would like to change in order to re-ask the question.
  1. How can I change the question value after it has been accepted?
    • When the summary is presented to users, they will have the option to change the value of the question. They will have to type in what question they would like to change in order to re-ask the question.
  1. Are quantities supported in the conversational catalog?
    • Quantities are currently not supported
  2. Why use Validation Regex instead of heavy client-side scripting within catalog items?

Client scripts (especially onChange, onSubmit, or onLoad) run in the browser and can add latency, complexity, and maintenance overhead. Using Validation Regex in a variable or field (Type Specifications) directly offloads the validation logic to the platform.

  1. Where/When to use Validation Regex?

Use regex for input validation on Single Line Text, Masked, Email, URL, or IP Address variable types in a catalog item. Use regex where the validation is pattern-based and predictable. Reserve client scripts for complex or cross-field logic that cannot be expressed as a pattern.

Some examples:

  • Enforcing a phone number pattern
  • Validating a postal code and a URL
  • Validating a pass code (Masked)
  • Ensuring email format and IP Address range
  • Allowing only alphanumeric IDs

Refer to the guidance provided here on how to set up a regex for Service Catalog.

  1. What if I don't like the question label rephrased by LLM?

The “Conversation label” was introduced in the Yokohama release. The catalog author will have the option to overwrite the question label as needed.

Comments
PaulSylo
Tera Sage
Tera Sage

Thanks @Michael Zizovsk  .. Very interesting topic! let me try this !

 

 

Azim3
Tera Contributor

Hi @Michael Zizovsk Do you know already if reference variables support ref_ac_column attribute currently so we can show additonal fields from the referenced table in conversational catalog ordering experience in VA ?

Kartik Aysola
ServiceNow Employee
ServiceNow Employee

In the last few releases of Now Assist for Conversational Catalog Request, we have worked to remove a lot of these restrictions. Check out this document to keep a tab on the latest regarding the restrictions. In the latest release (November 2024), almost all the variable types are supported in VA including custom variable provided a topic block is attached to it.

Kevin Schultz
Tera Expert

Do you have any tips if the Catalog Conversational Coverage Dashboard (and the related plugins noted in the docs link) seemingly do not exist? I have followed nearly every link here and can't figure it out - we are on the right platform version, have licensed what seem to be the correct set of items based on what's written here - and yet, most of what's described in this article doesn't seem to actually exist. 

adriantoth
Tera Contributor

Hi @Kevin Schultz 

 

you may want to search for 'Conversational catalog overview' in the filter navigator,

or navigate to Service Catalog > Catalog Administration > Conversational catalog overview.

 

Warm regards,

Adrian

Version history
Last update:
2 weeks ago
Updated by: