Service Catalog topic blocks in Virtual Agent powered by Now LLM

  • Release version: Xanadu
  • Updated August 1, 2024
  • 5 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 Now LLM

    ServiceNow customers can enhance Virtual Agent conversations by incorporating reusable Service Catalog topic blocks powered by Now LLM. These topic blocks enable users to request catalog items through an intuitive, AI-driven conversational experience, streamlining request submission and improving user engagement.

    Show full answer Show less

    Key Features

    • Request Catalog Item Topic Block: Allows users to request catalog items conversationally with generative AI assistance. Input parameters include catalog item ID, conversation context, confirmation options, and display preferences.
    • Output Parameters: Provide details such as the record ID generated after submission, request status, messages on failures, and whether Now LLM was used for slot filling during the request.
    • Conversational Rendering: Catalog items can be rendered directly in conversation mode with in-line question answering, subject to limits on question count (default 500) and supported client script methods. Unsupported scripts or variables make the item non-conversational.
    • Variable and Script Support: Only specific client script methods and UI policies are supported for conversational items. Pricing variables and multi-row variable sets are unsupported. Custom variables require corresponding topic blocks to be conversational.
    • Handling Non-Conversational Items: Items with unsupported variables or scripts can be submitted via pop-up or window render types. Pop-ups enable request submission without new tabs if no Custom or UI Page variables exist, while windows load the Service Portal for items with such variables.
    • User Interface Behavior: Field messages are not shown for answered or hidden questions. Default values for questions appear in Virtual Agent, allowing users to accept them or choose alternatives. Certain question types cannot be skipped.
    • Collaboration Tool Considerations: Searching choice fields in Microsoft Teams is limited, but reference field searching is supported as conversational questions.

    Practical Implications for ServiceNow Customers

    By leveraging these topic blocks, customers can create seamless, AI-enhanced catalog request experiences within Virtual Agent, reducing friction and improving request accuracy. Understanding the constraints on scripting, variable types, and rendering options ensures catalog items are appropriately configured for conversational use or alternative submission methods. This knowledge helps optimize catalog item design and user experience in Virtual Agent across various platforms, including collaboration tools like Microsoft Teams.

    You can design a topic conversation in Virtual Agent powered Now LLM by including reusable topic blocks to perform request submission tasks.

    Request catalog item (Now LLM)

    You can use this topic block to request for a catalog item through a conversational and streamlined experience based on generative AI. For information about configuring Now Assist in conversational catalog request, see Configure Now Assist in Conversational Catalog Request.

    Table 1. Input parameters
    Parameter Description
    catalog_item_id sys_id of the catalog item that should be requested.
    context_json Context of the conversation in JSON format.
    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 2. 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.
    status Status of the request. Possible options are success or error.
    variables Questions related to the catalog item.
    message Message that gives additional information in case of any failure.
    used_LLM Option that indicates if Now LLM was used while requesting the item, that is, if slot filling was done for questions defined in a catalog item using generative AI.

    Virtual Agent render types

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

    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 Now LLM.

    • A catalog item cannot have more than the number of questions specified in the sn_now_assist_cr.llm.conversational.request.question.limit property. By default, this number is set to 500. For more information about this property, see Service Catalog properties.
    • A catalog item can have scripted catalog UI policies. But when a catalog item has scripted UI policies containing unsupported methods or functions, the catalog item becomes non-conversational.
    • The following methods or classes are supported in the catalog client scripts or scripted UI policies for a catalog item to be conversational:
      • moment
      • window.location.href
      • top.location.href
      • top.window.open
      • window.open
      • open
      • Array
      • Boolean
      • Date
      • Error
      • GlideAjax
      • GlideRecord
      • JSON
      • Math
      • Number
      • Object
      • RegExp
      • String
      • alert
      • console.info
      • console.error
      • console.debug
      • console.warn
      • console.log
      • console.clear
      • console.count
      • console.countReset
      • console.dir
      • console.dirxml
      • console.table
      • decodeURI
      • decodeURIComponent
      • encodeURI
      • evalexec
      • g_form.addErrorMessage
      • g_form.addInfoMessage
      • g_form.addOption
      • g_form.clearMessages
      • g_form.clearOptions
      • g_form.clearValue
      • g_form.getActionName
      • g_form.getDisplayValue
      • g_form.getEditableFields
      • g_form.getIntValue
      • g_form.getReference
      • g_form.getSysId
      • g_form.getTableName
      • g_form.getUniqueValue
      • g_form.getValue
      • g_form.hasField
      • g_form.hideAllFieldMsgs
      • g_form.hideErrorBox
      • g_form.hideFieldMsg
      • g_form.isMandatory
      • g_form.isNewRecord
      • g_form.isReadOnly
      • g_form.isVisible
      • g_form.removeOption
      • g_form.save
      • g_form.setDisabled
      • g_form.setDisplay
      • g_form.setLabel
      • g_form.setLabelOf
      • g_form.setMandatory
      • g_form.setReadOnly
      • g_form.setReadonly
      • g_form.setValue
      • g_form.setVariablesReadOnly
      • g_form.setVisible
      • g_form.showErrorBox
      • g_form.showFieldMsg
      • g_form.submit
      • g_user
      • ga.addParam
      • ga.getXML
      • indexOf
      • isLoading
      • isNaN
      • newValue
      • oldValue
      • onChange
      • parseFloat
      • parseInt
      • this
      • toFixed
      • trim
      • undefined
      • escape
      • unescape
    • A catalog item can have catalog client scripts. But when a catalog item has catalog client scripts containing unsupported methods or functions, the catalog item becomes non-conversational.
    • The variables containing pricing implications aren't supported.
    • You can specify the upper limit for the number of records of reference type variables corresponding to a table in the sn_now_assist_cr.llm.reference_question_choices.limit property. By default, the limit is 2000000. If you specify the value more than 2000000, then it might impact the response time.
    • The UI page variable type is ignored in Virtual Agent like the UI page is ignored in Service Portal. For more information, see Types of service catalog variables.
    • To support the custom variables, users must associate topic blocks with the custom variables to represent them in the conversational interfaces. If the users don't associate topic blocks, the catalog item containing the custom variables, becomes non-conversational.
    • If you know that a variable makes a catalog item non-conversational, you can remove such variable from the conversational interfaces by selecting Remove from Conversational Interfaces option. Find the option in the Availability tab of the question form in ServiceNow AI Platform.
    • The field messages aren't shown to the requester in the following scenarios:
      • If the field message appears for the question that's already answered.
      • If the question is not shown to the requester because the question is read-only, hidden, or already auto-filled.
    • 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.
    • User can't 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
    Note:
    If you've installed the Now Assist in Conversational Catalog Request application, these conditions corresponds to the catalog item's conversational mode in the Virtual Agent powered by Now LLM.

    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