---
sourceDocument: Yokohama Build or modify applications
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/yokohama/application-development

 Release :

    - yokohama

ft:locale :

    - en-US

ft:publication_title :

    - Yokohama Build or modify applications

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Development, Data, and Analytics


---

# Add properties to communicate with Virtual Agent

# Add properties to communicate with Virtual Agent {#ariaid-title1}

* Release version: Yokohama
* 
* Updated January 30, 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 minute to read

To develop a component for Virtual Agent, add specific properties and actions to interact with the Virtual Agent client interface. The properties required depend on the type of component you are creating.

## Before you begin

* Set up your environment. For instructions, see the [ServiceNow®
  Developer Site](https://developer.servicenow.com/dev.do#!/reference/next-experience/xanadu/cli/getting-started).
* Set up your component project. For instructions, see the [ServiceNow®
  Developer Site](https://developer.servicenow.com/dev.do#!/reference/next-experience/xanadu/cli/cli)
* Develop your component. For instructions, see the ServiceNow® Developer Site

{#add-va-properties__ul_wb3_xbn_tkb}

Role required: virtual_agent_admin or admin

## Procedure

1. In your component code, add the Virtual Agent properties to interact with the Virtual Agent client interface.  
   {#add-va-properties__table_k3t_nqd_lmb__entry__2}

   | Property | Description |
   |-|-|
   | controlData | Initial data that the Virtual Agent server sends to your component as the topic runs. Data type: JSON Object |
   | responseValue | Data sent to the component from the user's response, either from the client directly, or from the server if there is a refresh. Only use in components that require user input. Data type: JSON Object |
   | forceCloseControl | Flag that indicates whether the component can accept input. When true, the control closes and the user cannot interact with it. Monitor changes on the client to update this value. Only use in components that require user input. Data type: Boolean |
   [Table 1. Virtual Agent component properties]

   {#add-va-properties__table_k3t_nqd_lmb}
2. If creating an input component, use the `VA_CONTROL#VALUE_SENT` action to send user values to the server.  
   {#add-va-properties__table_pdz_frd_lmb__entry__2}

   | Action | Description |
   |-|-|
   | VA_CONTROL#VALUE_SENT | Response data from the client to send to the server. Only use in components that require user input. Data type: JSON Object |
   [Table 2. Virtual Agent component actions]

   {#add-va-properties__table_pdz_frd_lmb}

## What to do next

[Test a component for Virtual Agent](https://servicenow-prod.fluidtopics.net/d6DiihzFyxgXq7QLsbnC5g "Test your Virtual Agent custom component before deploying it to your instance.").
**Related concepts**   

* [Create custom components using ServiceNow CLI](https://servicenow-prod.fluidtopics.net/jTeyEvE9838m5UKKaMSp0Q "Develop custom components using the Next Experience UI Framework and the ui-component extension.")

