Topic blocks to request catalog items through conversational experience
Summarize
Summary of Topic blocks to request catalog items through conversational experience
This feature enables ServiceNow customers to design conversational experiences using Virtual Agent powered by Now LLM to request catalog items through reusable topic blocks. It offers a streamlined, AI-driven method for users to submit catalog requests via natural language interactions.
Show less
Input and Output Parameters
The request catalog item topic block accepts key input parameters such as the catalog item's sysid, conversation context in JSON, options to run contextual searches, user confirmation prompts, and display of end state cards. Upon execution, it returns output parameters including the generated record's sysid and table, request status, related questions, messages for errors, and indication of whether Now LLM was used for slot filling.
Conditions for Conversational Catalog Items
- Catalog items must have fewer than a configurable limit of questions (default 500).
- Lookup select box variables cannot have advanced JavaScript reference qualifiers and must have fewer than 20 choices (configurable).
- Scripted UI policies and client scripts must use only supported methods and classes to remain conversational.
- Variables that affect pricing or exceed reference variable record limits (default 2,000,000) may impact performance or make the item non-conversational.
- Multi-row variable sets and UI page variables are not supported in conversational interfaces.
- Custom variables require associated topic blocks to be conversational; otherwise, they are excluded.
- Users cannot skip certain question types, such as lookup, multiple choice, or numeric scale (depending on configuration).
- Field messages are suppressed in cases of answered, hidden, read-only, or auto-filled questions.
Practical Notes for Customers
- Default values configured for questions appear in the conversational interface, allowing users to accept or change them.
- Choice-type field search is not supported in some collaboration tools like Microsoft Teams.
- Reference-type field searches appear as questions within conversations.
- Translation support for Now LLM can be enabled via the enablealternativetranslation property, helpful when user profile and session languages differ.
- Removing problematic variables from conversational interfaces is possible via the "Remove from Conversational Interfaces" option in the Availability tab of the question form.
Why This Matters
By leveraging topic blocks for catalog requests, ServiceNow customers can deliver more intuitive, efficient, and AI-enhanced conversational experiences for users, reducing friction in service requests and improving engagement. Understanding the constraints and configuration options ensures catalog items are compatible with conversational flows and perform optimally.
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 through 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.
| 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. |
| 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. |
Things to remember that make items conversational or non-conversational
- 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.
- Lookup select box variables can't have an advanced reference qualifier, such as a reference qualifiers containing JavaScript. If a catalog item with the Lookup select box contains such advanced reference qualifiers, the item becomes non-conversational. Also, if a catalog item contains the Lookup select box variable with more than 20 choices, the item becomes non-conversational. This behavior is managed by a value of the sn_now_assist_cr.llm.lookup_select_choice_limit system property, which has a default value as 20.
- 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 Figure 2. Choice type fields 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 Figure 4. Reference type field in Virtual Agent
- Searching for a value using the search icon in choice type of fields is not supported.
Translation of Now LLM
When the user profile language and session language differ, the Now LLM translated_text call doesn’t appear. However, if the system property is enabled, the Now LLM call displays and translation occurs.
The following conditions must be met when a user requests a catalog item in the conversation mode in Virtual Agent powered by Now LLM.