---
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


---

# Maximizing code reuse with topic blocks

# Maximizing code reuse with topic blocks {#ariaid-title1}

Release version: Australia  
Updated March 12, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 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 Maximizing code reuse with topic blocks

Topic blocks in Virtual Agent are reusable components that enable ServiceNow customers to streamline and standardize common tasks and conversational elements within Virtual Agent conversations.
They function as subflows that can be created, tested, and published using Virtual Agent Designer, facilitating easier maintenance and consistent execution of standard procedures across multiple conversation topics.
Show full answer Show less  

## Key Features

* **Reusable Subflows:** Topic blocks perform specific actions or conversation tasks and can be incorporated into multiple calling topics or nested within other topic blocks, enhancing modularity and reducing duplication.
* **Creation and Management:** Use Virtual Agent Designer to set properties, define controls (nodes), test, preview, and publish topic blocks. Once published, they can be reused across topics.
* **Non-Discoverable by LLM/NLU:** Topic blocks are not accessible directly through natural language understanding or keywords; they must be invoked by a calling topic.
* **Pre-built Topic Blocks:** The platform provides pre-built topic blocks for common functions such as transferring to a live agent, running surveys, gathering geolocation data, inserting pauses, tracking deflection metrics, and contextual search. These pre-built blocks can be duplicated and customized within appropriate application scopes.
* **Nesting and Loop Prevention:** Topic blocks can call other topic blocks but cannot call themselves, preventing infinite loops. The system detects infinite loops and ends the conversation if one occurs.
* **UI and Filtering:** Topic blocks can be filtered and managed within Virtual Agent Designer, with updates to UI depending on installed ServiceNow plugins.

## Practical Application and Next Steps

* **Create Reusable Topic Blocks:** Build components that perform common, reusable functions to simplify topic authoring and maintenance.
* **Add Topic Blocks to Calling Topics:** Incorporate reusable topic blocks into parent topics or other topic blocks, specifying inputs and reviewing outputs to ensure proper integration.
* **Maintain and Update:** When updating published topic blocks, Virtual Agent Designer provides checks and messages to help identify necessary adjustments to calling topics that depend on them.

By leveraging topic blocks, ServiceNow customers can achieve efficient conversation design, reduce redundancy, and maintain consistency across Virtual Agent implementations, resulting in streamlined conversational workflows and easier upkeep.  
Topic blocks are reusable components that you can create to run common tasks and
conversational elements in Virtual Agent conversations. Topic
blocks simplify the topic authoring and maintenance process by enabling you to reuse standard
procedures or actions across conversation topics.

## How reusable topic blocks work {#topic-blocks-overview__section_ayr_x4g_1kb}

A topic block is basically a subflow that performs certain actions or conversational tasks in a topic. For example, you can build a topic block that creates or retrieves certain types of records. You create topic blocks with Virtual Agent Designer, similar to the way that you build conversation topics. With Virtual Agent Designer, you can do the following:

* Set topic block properties.
* Define the controls (nodes) used in the block.
* Test or preview the block.
* Publish the block to make it available for use in topics or other topic blocks.
{#topic-blocks-overview__ul_bzp_vwv_1pb}

Unlike topics, topic blocks are not discoverable by a large language model (LLM), Natural Language Understanding (NLU), or keywords. The topic block's functionality can only be accessed by a topic.

A conversation that uses (consumes) a topic block is referred to as the calling topic. A topic block can call another topic block, but it cannot call itself. You can "nest" topic blocks in this manner, even if the
flow returns to the initial topic, as in this example:  
Figure 1. Chain of nested topic blocks  
Note:  
If Virtual Agent detects an infinite loop, the conversation ends.

The Virtual Agent platform and applications provide pre-built topic blocks for common tasks or subflows. You can use these pre-built topic blocks in your conversation topics "as is" in the appropriate application
scope by duplicating them. You can then customize these pre-built topic blocks as needed. Some of the common topic blocks include the following.  
{#topic-blocks-overview__table_dxm_wkw_jkb__entry__2}

| Pre-built topic blocks | Application scope |
|-|-|
| * Transfer to Live Agent: Transfers a bot conversation to a live agent. * Survey: Presents a survey for collecting feedback for an agent. * Geolocation: Gathers information about the user's location. * Pause: Insert a pause (in seconds) in the conversation. * Deflection: Tracks deflection metrics for the Virtual Agent. {#topic-blocks-overview__ul_nty_d5y_jkb} | Global. Provided with the Glide Virtual Agent plugin (com.glide.cs.chatbot). |
| Contextual search: Uses a search phrase to return search results in a card format, such as knowledge articles and catalog items. | Common topic block used by the CSM, HR Service Delivery, and ITSM business applications. Provided with the Service Management Virtual Agent Topic Blocks plugin (com.glideapp.cs.sm_topic_blocks). This plugin is included with the [Virtual Agent conversation plugins](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.") for these business applications. |
[Table 1. Examples of pre-built topic blocks]

{#topic-blocks-overview__table_dxm_wkw_jkb}  
Note:  
An updated Assistant Designer Asset library user interface is available when you install ServiceNow Otto in Virtual Agent. This content assumes that you can see the list view. If ServiceNow Otto in Virtual Agent is not installed, you see the legacy UI and topics page. For more information, see [Virtual Agent Designer legacy topics page](https://www.servicenow.com/docs/eKqBAMdp0dJqYGORLs9Lhw "The Virtual Agent Designer legacy home page lists cards for available topics in your instance.").

On the home page, you can use the filter icon ![Filter icon.]() to filter and view only the topic blocks.

After you create and publish a topic block, the block is available for use as a Topic Block utility in Virtual Agent Designer. You can add the topic block to a calling topic or to another topic block. In the following example, the calling topic uses the Contextual Search topic block. When a topic calls the
Contextual Search topic block, the conversation flow contained in the topic block executes.

## What to do next {#topic-blocks-overview__section_nk4_43h_1kb}

Working with topic blocks involves the following steps:

1. [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.")

   Build a conversation component that performs a common function that
   can be reused in Virtual Agent conversations.
2. [Add a reusable topic block to a
   calling topic or topic block.](https://www.servicenow.com/docs/tZFXpnTYMOhndUlNFJLWbg "Add a reusable topic block to a calling (parent) topic or topic block to run a specific function or task in the calling topic. You specify input parameters used in the topic block, and you specify output parameters that are used by the calling topic.")

   To run a specific subflow, add a reusable topic
   block to a calling (parent) topic or topic block. Specify the inputs that are used in
   the topic block and review outputs that are returned from the topic block.
3. [Maintain topic blocks and associated calling
   topics (as needed).](https://www.servicenow.com/docs/gqbYrxIViHuUyePcjKp1KQ "When you update topic blocks, Virtual Agent Designer provides built-in checks to help you identify changes to topic blocks that affect the calling topics that use them. Updates include changing input and output parameters, deleting topic blocks, and publishing inactive and active topic blocks and calling topics.")

   When you update a published topic block, Virtual Agent Designer performs certain checks. Displayed messages inform
   you of changes that you may want to make to calling topics that use the updated
   block.
{#topic-blocks-overview__ol_gpj_m1p_fpb}

