Thank you for your feedback.
Form temporarily unavailable. Please try again or contact to submit your comments.

Create a Virtual Agent topic

Log in to subscribe to topics and get notified when content changes.

Create a Virtual Agent topic

Use Virtual Agent Designer 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.

Before you begin

  • To create a topic, you should have a basic knowledge of the ServiceNow platform and application table structures, scripting (JavaScript), HTML, and REST integrations. If you enabled Natural Language Understanding for your instance, you should be familiar with the intents, entities, and utterances defined in your NLU models before creating or updating topics.
  • If you're using Natural Language Understanding, be sure that you enabled NLU and selected an NLU service provider (General Settings).
  • Verify that you are in the appropriate application scope before you create or update a topic. For example, if you are creating ITSM topics, verify that you are in the ITSM Virtual Agent Conversations scope (and not the scope for the ITSM NLU Model for Virtual Agent Conversations).
  • Role required: virtual_agent_admin or admin

About this task

Define the flow of user inputs, bot responses, and actions performed in a bot conversation. The main steps in topic creation are:
  1. Define the topic-level properties.
  2. Build the topic flow with user inputs, bot responses, and utilities. For each control, specify the properties that determine how the control functions in the conversation. Save the topic frequently as you build the flow.
  3. Preview and test the topic as you build it.
  4. Save the topic flow.
Note: When you create a topic, the topic is in the inactive state until you publish it. Publishing a topic changes the topic state to Active and automatically deploys the topic to your Virtual Agent clients.


  1. Navigate to Collaboration > Virtual Agent > Designer, and in the Topics page, click + Add a topic.
  2. In the Topic Properties page, enter the topic properties.
    Field Description
    Name Unique name for the topic that reflects its business purpose.
    Description Brief explanation of the topic purpose and functionality.

    [Keyword mode only]

    List of key phrases or terms that users enter to initiate the conversation with the virtual agent. Press Enter after each phrase.

    If Natural Language Understanding is enabled, this field is not displayed.

    NLU Model

    [NLU only]

    The Natural Language Understanding model to be applied to the topic. The model contains the user utterances associated to the trained intents and entities that enables your bot to understand what a user says.
    Associated Intent

    [NLU only]

    The intent, when recognized by the virtual agent, that launches this topic.
    Category Type of topic, used to identify and group related topics. For example, setup or small talk topics.
    Resume topic flow Switch for enabling or disabling the option for a user to return to the original conversation after changing topics during a conversation. Applicable to keyword or NLU mode.
    Condition Expression logic that uses one or more conditions to control who sees a topic in the Virtual Agent client. If left blank, the expression is true.
    Roles Roles that an end user must have to view and run the topic. If a topic is public (available to users, including guest users, who are not authenticated in ServiceNow), select only the Public role.
    Live Agent variables The Live Agent variables defined in Chat Setup. Select the variables that provide dynamic context (information from the Virtual Agent chat) transferred from the conversation to a live agent.
  3. Click Save.
  4. Click Edit Topic flow.
    The Virtual Agent Designer page opens.
  5. To add a user input, bot response, or utility:
    1. Drag the input, bot response, or utility control from the Designer palette and drop it in the canvas. The item becomes a node in the conversation flow.
    2. Complete the properties for the node. For details on each control and the corresponding properties that you define, see User inputs, Bot responses, and Utilities.
    3. Click Save.
    4. To see how the topic runs in the Preview window, click Preview.
      To see details on how each node in the flow is processed, click Show Log in the Preview window. For more information on using the Preview logs, see Debug a Virtual Agent topic.
    5. To move a node, click the node and then drag it to the new location and click Save.
    6. Repeat adding the various controls, previewing, and saving until the conversation flow is complete.
  6. To delete a user input, bot response, or utility:
    1. Click the X in the upper right corner of the node.
    2. Confirm that you want to delete the node.
    3. Click Save.
    Note: You cannot delete a node that has a script variable used by subsequent JavaScript expressions in the flow. Also, a decision node can be deleted only when it has a single leaf branch.

What to do next

Publish the topic to deploy it to your Virtual Agent clients.