--- title: Add a custom control to a Virtual Agent topic or topic block description: Add a custom control to a Virtual Agent topic or topic block. During the conversation, you can gather inputs from the user or display outputs to the user. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/conversational-interfaces/virtual-agent/embed-custom-control.html release: australia product: Virtual Agent classification: virtual-agent topic_type: task last_updated: "2026-03-12" reading_time_minutes: 2 keywords: [Add, custom control, Virtual Agent, topic, block] breadcrumb: [Customizing Virtual Agent with custom controls, Exploring other Virtual Agent features, Build and deploy, Virtual Agent, Conversational Interfaces] --- # Add a custom control to a Virtual Agent topic or topic block Add a custom control to a Virtual Agent topic or topic block. During the conversation, you can gather inputs from the user or display outputs to the user. ## Before you begin Do the following before you start this task: - [Create and publish the custom input or response control](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/create-custom-control.md). - Create a calling topic or topic block in which the custom control will be embedded. Role required: virtual\_agent\_admin or admin ## Procedure 1. Navigate to **All** > **Conversational Interfaces** > **Assistant Designer**. 2. Select the **Asset library** tab. 3. Open the topic where you will add the custom control. 4. In the **Flow** tab, drag the Custom Control icon from the Utilities section of the palette to the appropriate position in the topic flow. **Note:** If you selected **Available on the palette** in the custom control Properties page, the Custom Control displays as its own icon in the Utilities section of the palette. 5. Select the custom control node. 6. On the form, fill in the fields.
| Property | Description |
|---|---|
| Custom control | The name of a custom control asset that has been published in the Assistant Designer Asset library. |
| Node name | The name of the custom control you selected. |
| Input mapping | The variables to be used as input to the selected custom control. For example, the following image has example variables: \[Omitted image "map-cc-input-values-topic-block.png"\] Alt text: Input mapping variables on this custom control include transaction date and time, customer name, and product issue. The contents of this area change according to the custom control you selected. Options may include string input, referenced records, scripts, and so forth. |
| Output mapping | The variables to be output by the selected custom control. For example, the following image has example variables that are enabled: \[Omitted image "cc-output-mapping-topic.png"\] Alt text: Output mapping variables for this custom control include issue and username. The contents of this area change according to the custom control you selected. |
| Advanced | |
| Hide this node | |
| Conditionally use this node if | A no-code condition statement or low-code script that specifies a condition for presenting this node in the conversation. The condition must evaluate to true. |