Service Catalog topic blocks in Virtual Agent powered by NLU

  • Release version: Xanadu
  • Updated August 1, 2024
  • 6 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Service Catalog topic blocks in Virtual Agent powered by NLU

    This topic explains how ServiceNow customers can design Virtual Agent conversations powered by Natural Language Understanding (NLU) to handle service catalog requests using reusable topic blocks. These blocks enable users to search for catalog items and submit requests directly within a Virtual Agent conversation, improving user experience and automation.

    Show full answer Show less

    Key Features

    • Search Catalog Item Block: Allows searching for catalog items based on keywords and catalogs. If multiple results are found, users can select an item from a carousel view. Output includes the selected item's unique ID and type.
    • Request Catalog Item Block: Enables users to submit requests for catalog items by specifying the item ID. Supports options like contextual search, user confirmation, and displaying end state cards with request details.
    • Virtual Agent Render Types: Catalog items can be presented in different formats within Virtual Agent:
      • Conversation: Users answer questions inline to complete requests. This mode supports a limited number of questions (default 10), specific UI policies, and a subset of variable types (e.g., attachments, checkboxes, date/time, multiple choice without pricing, reference fields with limits).
      • Inline Form: For non-conversational items with up to 20 questions without custom variables, allowing users to fill and submit forms directly within the chat.
      • Pop-up: For non-conversational items with more than 20 questions or without custom/UI page variables, the form opens as a pop-up within Virtual Agent without leaving the conversation.
      • Window: For items containing custom or UI page variables or specific types (e.g., order guides, change templates), the request opens in the Service Portal in a new window.

    Practical Considerations for ServiceNow Customers

    • Catalog items designed for conversational requests must adhere to variable and scripting restrictions (e.g., no Now Mobile or Service Portal client scripts, limited variable types).
    • Variable attributes such as order, attachment limits, and allowed extensions are supported, but many other variable features are ignored in Virtual Agent.
    • Default values and data lookups are supported but must be configured carefully to ensure proper conversational flows.
    • Certain question types cannot be skipped during a request to ensure data completeness.
    • When using Virtual Agent in collaboration tools like Microsoft Teams, searching choice fields is limited, but reference fields are handled through conversational questions.
    • System properties control limits on questions per catalog item and rendering behavior, allowing customization of user experience.

    Expected Outcomes

    By leveraging these Service Catalog topic blocks in Virtual Agent powered by NLU, customers can:

    • Provide intuitive, natural language-enabled catalog item search and request capabilities directly through chat interfaces.
    • Improve request submission efficiency by enabling conversational or form-based input within Virtual Agent without navigating away.
    • Control and customize the presentation and flow of catalog item requests based on item complexity and variable configurations.
    • Extend Virtual Agent support to collaboration platforms while managing limitations in UI interactions.

    You can design a topic conversation in the Virtual Agent powered by Natural Language Understanding (NLU) by including reusable topic blocks to perform request submission tasks.

    Search Catalog Item

    You can use this topic block to search for a catalog item based on the search criteria. If there are multiple search results, you can select one from a carousel view.
    Table 1. Input parameters
    Parameter Description
    query_term Keyword to search for a catalog item. For information on configuring keyword search for a catalog item, see Configure keyword search for catalog items.
    catalogs Comma-separated list of catalogs where a catalog item should be searched for.
    result_limit Number of search results that should be displayed. By default, this number is set to 5.
    Table 2. Output parameters
    Parameter Description
    catalog_item_id If a catalog item is selected, sys_id of the item is returned.

    If no catalog item is selected, that is, None of these option is selected, -1 is returned.

    item_type sys_class_name of the catalog item that the user selected.
    is_conversational Specifies if the catalog item can be requested in the conversation mode in Virtual Agent.

    Request Catalog Item

    You can use this topic block to request for a catalog item.

    Table 3. Input parameters
    Parameter Description
    catalog_item_id sys_id of the catalog item that should be requested.
    execute_contextual_search Option to specify if the contextual search should be run for a record producer based on its configuration. For information on defining contextual search for a record producer, see Define contextual search for record producer.
    confirm_catalog_item Option to specify whether the user must confirm the catalog item before continuing with the next step. If this is set to false, user can answer the catalog items questions by skipping the confirmation.
    show_end_state_card Option to display the end state card information about the generated record to the user.
    Table 4. Output parameters
    Parameter Description
    record_id sys_id of the record that is generated after the item submission.

    If the catalog item is not supported in the conversation mode or if the user does not have access to the item, -1 is returned.

    record_table Name of the table in which the record is generated.
    variables Questions related to the catalog item.

    Virtual Agent render types

    A catalog item can be rendered in Virtual Agent as a conversation, window, pop-up, or inline.

    Catalog item request using a conversation render type

    A user can submit a request in the conversation mode (by answering the questions in line).
    Virtual Agent rendered as a conversation

    The following conditions must be met when a user requests a catalog item in the conversation mode in Virtual Agent powered by NLU.

    • A catalog item cannot have more than the number of questions specified in the glide.sc.conversational.request.question.limit property. By default, this number is set to 10. For more information about this property, see Service Catalog properties.
    • A catalog item can have non-scripted catalog UI policies. These UI policies should be defined such that variables are affected sequentially, that is, only a variable with the lower order affects a variable with the higher order.
    • A catalog item cannot have catalog client scripts that are defined for Now Mobile or Service Portal.
    • Only the following variables are supported:
      • Attachment
      • Check box (A group of check box variables isn't supported)
      • Date
      • Date/Time
      • Email
      • IP Address
      • Label
      • Lookup Multiple Choice (without pricing implications and advanced reference qualifier)
      • Lookup Select Box (without pricing implications and advanced reference qualifier)
      • Multiple Choice (without pricing implications)
      • Multi Line Text
      • Numeric Scale (without pricing implications)
      • Reference (without pricing implications and advanced reference qualifier)
        Note:
        Reference type variables that correspond to a table that has more than 7000 records are not supported. The upper limit for the number of records can be specified in the glide.sc.va.reference_question_choices.limit property. By default, it is set to 7000.
      • Requested For (without pricing implications and advanced reference qualifier)
      • Rich Text Label
      • Select Box (without pricing implications)
      • Single Line Text
      • URL
      • Wide Single Line Text
      • Yes / No
      • Container variables
    • The following variable attributes are supported:
      • ref_ac_order_by
      • allowed_extensions
      • max_file_size
      Note:
      All the other variable attributes are ignored in Virtual Agent.
    • A catalog item can have a single-row variable set but not a multi-row variable set.
    • If a catalog item has a default value configured for a question, the default value is displayed in Virtual Agent, which enables the user to proceed with the default value without having to select it manually. The user can also choose a different value other than the default value.
    • If a catalog item has a data lookup configured for a question, the setter value is displayed in Virtual Agent, which enables the user to proceed with the setter value or choose a different value. A catalog item with data lookup is not supported as a conversational item when the setter question precedes the matcher question.
    • User cannot skip the following type of questions for a catalog item:
      • Lookup Multiple Choice
      • Select Box
      • Lookup Select Box
      • Yes/No
      • Numeric Scale (If Do not select first choice configuration is not selected)
      • Multiple Choice (If Do not select first choice configuration is not selected, or Include none choice configuration is selected)
    • If the user is using Virtual Agent in a different supported collaboration tool like Microsoft Teams:
      • Searching for a value using the search icon in choice type of fields is not supported.
        Figure 1. Choice type fields in Microsoft Teams
        Searching for a choice field in Microsoft Teams
        Figure 2. Choice type fields in Virtual Agent
        Searching for choice field in Virtual Agent
      • Searching for a value in reference type of fields is performed in the form of a question.
        Figure 3. Reference type fields in Microsoft Teams
        Searching for reference fields in Microsoft Teams
        Figure 4. Reference type field in Virtual Agent

        Searching for reference field in Virtual Agent
    If the catalog item is non-conversational, the request form can appear as any of these render types:
    • Inline
    • Pop-up
    • Window
    The conditions determine whether the catalog item form for the non-conversational catalog item will appear as inline, pop-up, or window.
    Note:
    Based on the number of questions, a glide.sc.va.inline_render.question.limit property determines whether the catalog item form appears as inline or pop-up. By default, the property's value is 20.
    The catalog item form appears as Conditions
    Inline
    • The catalog item doesn’t contain custom or UI page variables.
    • If the catalog item contains 20 or fewer questions, the item form appears as inline. The default value of the glide.sc.va.inline_render.question.limit property is 20.
    • The catalog item doesn’t contain multi-row variable set (MRVS).
    Pop-up
    • The catalog item doesn’t contain custom or UI page variables.
    • If the catalog item contains more than 20 questions, the item form appears as a pop-up. The default value of the glide.sc.va.inline_render.question.limit property is 20.
    Window
    • The catalog item contains custom or UI page variables.
    • The glide.sc.va.render_type.legacy property is set to true.

    Catalog item request using an inline render type

    Catalog item requesters can submit a catalog item by filling the form inline in the Virtual Agent powered by NLU. While requesting a catalog item that’s marked with inline render type, the requester can fill the item and its options within the Virtual Agent conversation.

    For example, a requester can fill a form inline in the Virtual Agent conversation and submit the item.
    Figure 5. Inline request of a catalog item

    Inline request of a catalog item

    Inline request of a catalog item

    Inline request of a catalog item

    Catalog item request using a pop-up render type

    A user can submit a catalog item request as a pop-up for items, which are not conversational. In a pop-up, Virtual Agent provides a link for the user to submit the request in a pop-up without navigating to a new tab. A non-conversational catalog item can be rendered as a pop-up only if it does not have any Custom, Custom with label, or UI Page variables.
    Note:
    If you do not want to render your Virtual Agent conversation as a pop-up, set the glide.sc.va.render_type.legacy property to true, which renders all non-conversational catalog items in the configured portal in a new tab.
    Virtual Agent rendered as a popup

    Catalog item request using a window render type

    A user can submit a catalog item request in a window. In a window, Virtual Agent provides a link for the user to submit the request in the Service Portal defined in the sn_itsm_va.com.snc.itsm.virtualagent.portal_url property. A non-conversational item is rendered as a window if it has a Custom, Custom with label, or UI Page variable.

    A catalog item is rendered as a window if it is of the following types:
    • Content Item
    • Order Guide
    • Wizard Launcher
    • Standard Change Template
    Virtual Agent rendered as a window