---
sourceDocument: Yokohama Conversational Interfaces
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/yokohama/conversational-interfaces

 Release :

    - yokohama

ft:locale :

    - en-US

ft:publication_title :

    - Yokohama 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: Yokohama  
Updated January 30, 2025  
![](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 ServiceNow Virtual Agent are reusable components designed to perform common tasks or conversational actions within multiple conversation topics.
They help simplify topic authoring and maintenance by allowing you to reuse standardized procedures or actions across different conversations, improving efficiency and consistency.
Show full answer Show less  
Created and managed using Virtual Agent Designer, topic blocks act like subflows that can be called by topics or other topic blocks, enabling nested flows without self-calling. However, topic blocks themselves are not directly accessible via Natural Language Understanding (NLU), keywords, or large language models (LLMs); they can only run when invoked by a calling topic.

## Key Features

* **Creation and Management:** Build topic blocks with Virtual Agent Designer by setting properties, defining nodes, testing, previewing, and publishing for reuse.
* **Reusability:** Use topic blocks within multiple topics or nest them inside other topic blocks to modularize conversation logic.
* **Pre-built Topic Blocks:** Leverage pre-existing topic blocks provided by the platform for common functions like transferring to a live agent, conducting surveys, gathering geolocation data, inserting pauses, tracking deflection, and performing contextual searches.
* **Application Scope:** Some topic blocks are global, while others are tailored for specific applications such as Customer Service Management (CSM), HR Service Delivery, and IT Service Management (ITSM).
* **UI and Filtering:** The updated Assistant Designer Asset library user interface allows filtering to view only topic blocks, improving navigation and management.
* **Maintenance Support:** When updating published topic blocks, Virtual Agent Designer notifies you of any impacts on calling topics, facilitating effective maintenance.

## Practical Use and Next Steps

* **Create reusable topic blocks** to encapsulate common conversation components that can be shared across multiple topics.
* **Add topic blocks** to parent topics or other topic blocks to execute specific subflows, specifying inputs and reviewing outputs as needed.
* **Maintain and update** topic blocks and their associated calling topics to ensure consistent functionality and reflect changes promptly.

By using topic blocks, ServiceNow customers can maximize code reuse, streamline Virtual Agent development, and maintain conversational consistency while reducing duplication of effort across their virtual agent implementations.  
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 ![Topic Block 1 calls TB 2, which in turn calls TB 3. Topic Block 3 can then call Topic Block 1 again.]()  
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://servicenow-prod.fluidtopics.net/QuXjCrDl25lOWt2b8K3Yeg "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 Now Assist in Virtual Agent and turn on the Now Assist Topics skill. This content assumes that you have activated this skill and can see the list view. If this skill is not activated, you see the legacy UI and topics page. For more information, see [Virtual Agent Designer legacy topics page](https://servicenow-prod.fluidtopics.net/l6ImSw1aVoCkZHHKByMvrQ "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://servicenow-prod.fluidtopics.net/nNmPLYtnb2qzDipWny2xlw "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://servicenow-prod.fluidtopics.net/NGxe04aV2kWNamMUKEsO8Q "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://servicenow-prod.fluidtopics.net/MVqc5BEaqJwC1Zu1axxcDw "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}

