---
sourceDocument: Australia Conversational Interfaces
sourceDocumentLink: https://www.servicenow.com/docs/r/australia/conversational-interfaces

 Release :

    - australia

ft:locale :

    - en-US

ft:publication_title :

    - Australia Conversational Interfaces

ft:clusterId :

    - convint

bundleId :

    - convint

workflow :

    - Platform


---

# Designing a Virtual Agent topic

# Designing a Virtual Agent topic {#ariaid-title1}

Release version: Australia  
Updated September 21, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 10 minutes to read
Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) 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 Designing a Virtual Agent topic

This guide walks ServiceNow customers through designing a Virtual Agent topic that enables users to view incidents they submitted and optionally add comments.
It highlights using Virtual Agent design controls and conversation flows to automate common self-service tasks without human intervention.
Leveraging pre-built topics, ServiceNow Otto's generative AI, and natural language understanding (NLU) models can accelerate topic creation and improve user experiences.
Show full answer Show less  

## Key Features

* **Pre-built Resources:** Utilize predefined Virtual Agent topics, reusable topic blocks, and NLU models tailored for common business tasks, which can be duplicated and customized to fit your organization's needs.
* **Topic Recommendations:** The Topic Recommendations app analyzes your organization's data to suggest relevant prebuilt topics and identify new topic opportunities.
* **Conversation Design Tools:** Assistant Designer provides controls like Dynamic Choice, Card, Boolean, Decision, Text Input, and Record Action to build interactive conversation flows incrementally and test frequently.
* **Integration with AI:** ServiceNow Otto uses large language models (LLMs) to enhance conversation naturalness and success rates; customers can configure data collection and small talk handling in LLM or NLU-based conversations.
* **Topic Properties and Publishing:** Define topic scope, target portals or assistants (LLM or NLU), and improve topic discovery through detailed descriptions and metadata.
* **Example Incident Status Topic:** Includes user prompts to select an incident, view status, decide on leaving a comment, input comment text, and update the incident record accordingly.

## Design and Implementation Guidance

* **Plan Use Case and Audience:** Define what the conversation will achieve and who will use it. Understand common user requests by analyzing support data.
* **Structure the Conversation:** Design a flow with a clear beginning, middle, and end, including branching logic for different user responses and topic switching scenarios.
* **Configure Controls:** Use Dynamic Choice to select records, Card control to display record details, Boolean for yes/no prompts, Decision nodes to branch conversations, and Record Action to update records.
* **Test Frequently:** Use the Test feature in Assistant Designer to validate conversation functionality and user experience throughout development.
* **Technical Knowledge Recommended:** Familiarity with ServiceNow platform, LLMs, NLU concepts, and scripting (HTML, JavaScript, REST) enhances customization and integration capabilities.

## Expected Outcomes

By following this design approach, ServiceNow customers can create efficient Virtual Agent topics that empower end users to independently track their incidents and contribute comments, reducing support workload and improving self-service satisfaction. The modular and AI-enhanced design tools enable continuous refinement and scaling of conversational capabilities tailored to organizational needs.  
Walk through the design of an example Virtual Agent topic that enables users to view incidents they submitted. The example highlights the design controls that you can use to build the conversation flow.
Using Virtual Agent tools and features, you can develop conversations that address many issues that can be resolved without human intervention. After you become familiar with the product and its capabilities, your
creativity is an important tool for developing conversations.  
To get started more quickly, the following resources are available for Virtual Agent:

[ServiceNow Otto for Virtual Agent](https://www.servicenow.com/docs/fRJhtfRRIHaGBVwf2iScHA "Use generative AI skills in your conversational experiences. ServiceNow Otto for Virtual Agent uses large language models (LLMs) to create a natural-language conversational experience that can improve the success of your self-service workflows.")
:   Create natural-language--based conversations with ServiceNow Otto. Virtual Agent uses large language models (LLMs) to improve conversation experience and self-service workflow success by using generative AI skills.

[Pre-built Virtual Agent topics, topic
blocks, and ServiceNow NLU models](https://www.servicenow.com/docs/YbjQhahsh8YEN05l~IUMHg "Prebuilt Virtual Agent conversations (topics), reusable topic blocks, and ServiceNow NLU models are available for the Virtual Agent platform and various business applications, such as Customer Service Management, HR Service Delivery, IT Service Management, and more.")

:   These predefined conversations help users with common self-service tasks in each business area, such as creating or updating cases or providing answers to frequently asked questions. [Duplicate the pre-built topics](https://www.servicenow.com/docs/Zed3KxvoUDZItNujeBp3QA "Create a topic or topic block by copying an existing Virtual Agent topic or topic block and customize it.") you want to use, and then customize them for your organization.

[Virtual Agent Topic Recommendations](https://www.servicenow.com/docs/9wPVV1yIB5n5akbjYK3f3A "Use the Topic Recommendations app to identify pre-built Virtual Agent topics that can be quickly implemented in your organization. Topic Recommendations uses Intent Discovery to analyze data from your organization and to find relevant pre-built topics that your organization can benefit from, and new topics that would be useful to create.")
:   Use the Topic Recommendations app to identify prebuilt Virtual Agent topics that you can implement quickly in your organization. Topic Recommendations uses Intent Discovery to analyze your organization's data. It identifies relevant pre-built topics to implement and new topics to create.

## Getting started with conversation design {#design-va-topic__section_qjx_ltg_wdb}

Use Assistant Designer controls and reusable conversational elements to create the dialogue for your conversations between Virtual Agent and the end user. Before you begin, make sure you do the following:

Identify the use case for a conversation.

:   Determine who uses a conversation topic and the goal, such as solving a user problem or assisting with a self-service task. Besides gathering key requirements for your topic, identify the information that you need from the user to
    complete the goal.

    For example, you can review your support requests over time and other available metrics to determine common issues, use cases, and customer requests or goals. You can predict recurring requests or issues that a virtual
    agent could help with.

Determine the structure of a conversation.

:   As you think about your conversation flow, identify the direct path to resolution. Consider alternative paths where the conversation might branch, depending on the information supplied by the user. Consider how to handle each branch and
    whether users might loop back to an earlier point in the conversation.

    Conversations have a beginning (the greeting), a middle, and an end, which may include a
    survey or an incident number to follow up on. In the middle, consider how the user might need
    to switch topics, depending on the issue.

    If you're using LLM, consider whether to add or restrict data collection from the user through means such as additional instructions to the LLM or customized slot-filling.

    If you're using Natural Language Understanding (NLU), consider scenarios where a user might want to switch topics during a conversation session. For example, a user might want to change topics entirely. Or a user might get sidetracked
    and ask a question that seems out of context, maybe to engage in "small talk" with the virtual agent. Determine whether to let the user resume the original conversation after switching topics during the
    conversation.

    Consider setting small talk filters to redirect user statements in LLM conversations, or creating small talk topics in both LLM and NLU or keyword conversations. For details on configuring small talk filters and
    creating small talk topics, see [Configure small talk filters](https://www.servicenow.com/docs/access?context=configure-small-talk-filters&version=australia&pubname=australia-intelligent-experiences&ft:locale=en-US) and [Create a small talk topic](https://www.servicenow.com/docs/hJdp7~FszIWa60kgOFwS6A "Build small talk topics that let Virtual Agent engage in casual conversation with users. A small talk topic provides a response to a casual question that users might ask during a conversation, such as the time or date. A small talk topic can occur anytime within a conversation session and can be unrelated to the original conversation intent.").

    You can also review the prebuilt setup topics, conversation topics, and topic blocks (reusable subflows that perform certain design steps and logic). Determine whether you can use these prebuilt items and consider
    customizing them as needed.

Understand the design process in Assistant Designer.
:
    When you create a topic in Assistant Designer Asset library, the design process involves these basic steps:

    1. Decide what use case the topic will address.
    2. Create the topic and set properties that define the scope, and what portal it will be published in (what assistant will be used). Include a thorough topic description that will be used for discovery.
    3. Build the conversation flow in Assistant Designer's Asset library topic flow tab.
    4. Test and fine-tune the conversation flow.
    5. Publish your topic.
    {#design-va-topic__ol_vc1_qcn_tjc}

:   The topic properties determine the different ways in which a topic is designed and used. For example, you can control who uses the topic and any conditions that affect how or when the topic is used. You can associate
    your topic with an LLM assistant to make the topic available to that assistant. You can also improve topic discovery for your LLM topic by using as much relevant detail as possible in the topic's description.

    If you're using ServiceNow
    Natural Language Understanding (NLU), you can associate an NLU model and intent with your topic.

    For details on the properties that you define for various assets, see [Creating a Virtual Agent topic](https://www.servicenow.com/docs/pgkFzTLQcACoaBJJwOjPSA "Use Assistant Designer Asset library to create and modify Virtual Agent topics (conversations). Build your topic to meet a specific objective or goal, such as fulfilling a user's request or helping a user complete a task."), [Create a reusable topic block](https://www.servicenow.com/docs/zeVgjJwE0JffuICcjKlvHA "Build a reusable component that performs a specific subflow of tasks and conversational elements in Virtual Agent conversations."), and [Create a custom control](https://www.servicenow.com/docs/v3xk2WCDoc4sPjN_KzHJhg "Build a custom input or response control that topic authors can use in topics or topic blocks. In Virtual Agent conversations, an input control gathers information from end users, while a response control displays information to end users.").

Have knowledge in the following areas.
:
    * General knowledge of the ServiceNow platform and application table structures.
    * If you're using LLM, an understanding of how large language models and LLM assistants work.
    * If you're using NLU, an understanding of how intents, entities, and utterances are used in your NLU models.
    * If you're using scripts in conversation design, an understanding of HTML, JavaScript, and REST integrations.
    {#design-va-topic__ul_a5g_ssj_3mb}

## Plan the structure and purpose of a conversation {#design-va-topic__section_uzl_1bg_k2b}

The first step in implementing a Virtual Agent topic is to decide what the topic covers. Consider the intended audience and what you want the audience to accomplish when using the conversation. The goal of this example topic is to create a
flow that enables end users to see the status of incidents they submitted. The topic includes an option for the user to add a comment to the incident.  
With this goal in mind, the topic requires the following elements:

* A prompt for the user to select an incident
* An output showing the status of the incident
* A prompt to ask if the user wants to leave a comment
* A utility control to branch the conversation on that answer
* A prompt for the user to enter a comment
* A utility control to add the user input as a comment in the incident
{#design-va-topic__ul_s44_cbg_k2b}

There are extra considerations when creating topics for LLM conversations. For guidelines on writing LLM instructions, see [LLM description and instruction guidelines for Virtual Agent topics](https://www.servicenow.com/docs/Equ02gjazThj0QZ4PwY_pg "When you create large language model (LLM) topics, you provide instructions that determine the behavior of the LLM and a description that determines how the topic is discovered by the LLM.") and [General guidelines for writing instructions for generative AI large language models (LLMs)](https://www.servicenow.com/docs/access?context=llm-instruction-guidelines&version=australia&pubname=australia-intelligent-experiences&ft:locale=en-US).

## Build the conversation flow with Virtual Agent controls {#design-va-topic__section_e2f_gbg_k2b}

The conversation looks similar to the following dialogue flow.  
Important:  
This flow is intended to give you a general idea of how a completed flow looks. Keep in mind that you build your topic incrementally and test it frequently, so it's not necessary to build the entire layout first. Make sure to consider both functionality and user experience in your testing.  
Figure 1. Completed conversation flow

## Configure controls within the conversation {#design-va-topic__section_lbs_scg_k2b}

This example begins with defining the conversation flow in Assistant Designer Asset library, after you set the topic properties. The conversation begins with a Start node and finishes with an End node.

1. In your Virtual Agent topic, add a Dynamic Choice control node to the conversation flow. Use this control to select the incident.
   1. Enter <kbd class="ph userinput">Choose an incident</kbd> for the Node name property. The variable name `choose_an_incident` is automatically generated for the control.
   2. In the Prompt property, enter the text the user sees before selecting an incident. For example, Please choose an incident record.
   3. In the Populate choices by property, select Record.
   4. In the Table property, select Incident \[incident\].
   5. In the Filter choices property, select the Condition option, and create a condition:
      * Active is true AND Assignment group is Hardware AND Category is Database
      * AND
      * State is New OR State is In Progress

      {#design-va-topic__ul_szs_z4d_kyb}Figure 2. Example condition builder
   {#design-va-topic__ol_zlc_wcg_k2b}
2. Add a Card control to the flow. This control shows information from the record selected by the Dynamic Choice in the previous step.
   1. Enter <kbd class="ph userinput">Status Card</kbd> for the Node name property.
   2. In the Card type property, select Record.
   3. In the Record property, select Choose an Incident. This choice refers to the Dynamic Choice control created in the previous step, so the data displayed comes from the record chosen there.
   4. In the fields control, select a field. The choices are the fields on the chosen record. In this case, you can see the fields on the incident table.
   5. After you select a field, select the Add Field option to add more fields to the card. To delete fields from the card, select the delete icon for the field.
   {#design-va-topic__ol_amc_wcg_k2b}
3. Add a Boolean control to the flow. Use this control to prompt the customer with a yes or no question. In this case, the control checks whether the user wants to leave a comment on the selected incident record.
   1. Enter <kbd class="ph userinput">Leave Comment?</kbd> for the Node name property. The variable name `leave_comment_` is automatically generated for the control.
   2. In the Prompt property, enter the text the user sees before the prompt. For example, Do you want to leave a comment for this incident?
   {#design-va-topic__ol_bmc_wcg_k2b}
4. Add a Decision control to the flow. This control branches the conversation into two possible paths. The path the conversation follows depends on the choice the user made in the previous step.
   1. There are no properties on the decision control; however, there are properties on the branches below the decision. By default, there is a single branch labeled Always. Select the plus icon at the bottom of the decision control. A second branch appears that is also labeled Always.
   2. Select one of the branches to access the properties for this branch.
   3. Change the name to <kbd class="ph userinput">Leave Comment</kbd>.
   4. In the condition property, select the Condition option and select the Add Condition button. Use the condition builder to create a condition as shown in the following screenshot.

      If the value of the Leave Comment? variable is true, this condition is met. This variable comes from the Boolean control in the previous step. If the user selects Yes at that prompt, the conversation follows this branch.
   5. Select the other branch of the decision to access the properties for this branch.
   6. Change the name to <kbd class="ph userinput">No Comment</kbd>.
   7. In the condition property, select the Condition option and select the Add Condition button. Use the condition builder to create a condition as shown in the following screenshot.

      If the value of the Leave Comment? variable is false, this condition is met. This variable comes from the Boolean control in the previous step. If the user selects No at that prompt, the conversation follows this branch.
   8. One of the two branches you have created points to the End node of the conversation. The second branch should also lead to this node. Select the arrow at the bottom of that branch and drag it to the End node.
   {#design-va-topic__ol_cmc_wcg_k2b}
5. Add a Text Input control to the Leave Comment branch of the conversation. Use this control to request text input from the user.
   1. Enter <kbd class="ph userinput">Get Comment</kbd> for the Node name property. The variable name `get_comment` is automatically generated for the control.
   2. In the Prompt property, enter the text the user sees before the prompt. For example, Please enter your comment.
   3. Optionally, you can enter a value in the AdvancedConfirmation messagesInput completion confirmation property. This value appears after the user enters a comment.
   {#design-va-topic__ol_dmc_wcg_k2b}
6. Add a Record Action control to the conversation below the Get Comment control. Use this control to add the text entered in the previous control as a comment on the selected incident.
   1. Enter <kbd class="ph userinput">Update Incident</kbd> for the Node name property.
   2. In the Action Type property, select Update a Record.
   3. In the Record property, select Choose an Incident. This choice refers to the Dynamic Choice control created in the previous step, so the record chosen there is the one that this Record Action control updates.
   4. In the Field property, select Add Field. You can select and give values to fields from this record in the pop-up window that appears.

   5. Select the Additional Comments field from the list.
   6. Select the data pill picker icon ![Data pill picker icon.](), and then select the Get Comment input variable from the list. This option refers to the value entered by the user in the Text Input control in the previous step.
   7. Select Save.
   {#design-va-topic__ol_emc_wcg_k2b}
{#design-va-topic__ol_ylc_wcg_k2b}

## Test the conversation {#design-va-topic__section_ovd_c4g_k2b}

Use the Test button to test the flow of the conversation. Preview topics often throughout the design process to find errors or unexpected behavior quickly. For further information on identifying and
resolving issues with topics, see [Debug a Virtual Agent topic](https://www.servicenow.com/docs/kM5UjvzlIjMeEWrPlDhXBg "Investigate and resolve unexpected behavior in your custom Virtual Agent topics, topic blocks, and controls.").

*[\>]: and then


