--- title: "Hidden Component" slug: "hidden-component" updated: 2025-12-04T19:16:59Z published: 2025-12-04T19:16:59Z canonical: "docs.unqork.io/hidden-component" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.unqork.io/llms.txt > Use this file to discover all available pages before exploring further. # Hidden Component UDesignerClassic Designer The **Hidden component** acts as a holding place for any data type or data structure in your application. This data can include numbers, objects, arrays, or arrays of objects. This flexibility makes the Hidden component perfect for storing data. Hidden components are only visible in the Module Builder. Being invisible to your end-users makes Hidden components great for storing and passing in information behind the scenes. A few scenarios lend themselves particularly well to using Hidden components. You can use them to support interactions with logic and data-type components: [Calculators](/v1/docs/calculator-component), [Decisions](/v1/docs/decisions-component), [Initializers](/v1/docs/initializer-component), and [Data Workflows](/v1/docs/introduction-to-data-workflow). For example, saving the **id** or **exportId** values of a [ViewGrid](https://docs.unqork.io/Content/A04-ModEditor-Display_Layout/A04010-ViewGrid_Component.htm?Highlight=viewgrid) row to a Hidden component. After saving, you can reference that row using a logic component. After saving this value, you can reference the module ID in a [Plug-In](/v1/docs/plug-in-component) component's Get Submissions call. To avoid hard-coding the module ID in a Plug-In, you can reference the Hidden component instead. Hidden components offer a simplified approach to setting the default value. Other components (for example, [Text Field](/v1/docs/text-field-component) components) need an Initializer component to work. It's important to note that you should always use Hidden components when storing non-primitive [data types](/v1/docs/introduction-to-data-types-and-structures), like arrays and objects. Using other components to store non-primitives, like an array in a Text Field component, can lead to unpredictable and non-deterministic behavior. You'll find the component under the [Secondary Fields](/v1/docs/secondary-fields) group to the left of the [Module Builder](/v1/docs/introduction-to-the-module-builder). ## What You'll Learn After completing this article, you’ll know when to use a Hidden component, how to configure its settings, and how to use it in an Unqork application. ## About the Configuration Window > [!TIP] > To learn more about general component settings and those that display when a component is associated with Data Models, view our [General Component Settings](/v1/docs/general-component-settings) article. ### Display Panel #### Field Text [![A static image displaying the UDesigner Hidden component's Field Text settings.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Hidden_Comp_Display_FieldText_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD%20Hidden%20Comp%20Display%20FieldText.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) | Setting | Description | | --- | --- | | **Label Text** | A component’s Label Text indicates the purpose of the corresponding field or component. For non-input components, the Label Text isn't end-user facing, and only appears in the Module Builder. User-friendly labels make your module more accessible. Keep labels short and descriptive (a word or two) using title case. For longer entries, use sentence case. | ### Data Panel #### Data Storage [![A static image displaying the UDesigner Hidden Component's Data Storage settings.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Hidden_Comp_Data_DataStorage_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD%20Hidden%20Comp%20Data%20DataStorage.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) | Setting | Description | | --- | --- | | **Store Data in Database** | The Store Data in Database setting affects how data persists through your application. When set to ![A toggle switch indicating an on/off state for a user interface element.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 1.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) **(ON)**, Unqork stores values entered into the field to the database (server-side submission). This occurs in three scenarios: - Navigating between Panels in a Navigation component. On navigation between pages (Panels), the component’s value saves to the database. - Triggering a module save event using a Button component with an Action Type of Save. - Navigating between screens of a workflow. On navigation between screens, the component’s value saves to the database. > [!NOTE] > By default, workflows persist data from all fields in the client-side submission when navigating between screens. However, only values from fields with Store Data in Database enabled store in the server-side submission. Set the toggle to ![A toggle switch in the 'on' position, indicating an active setting or feature.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 2(1).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) **(OFF)** when you don’t want to store the values from this field in the database. > [!NOTE] > When using a Plug-In to remote execute a module, ensure data moving between modules is persistent. You can optionally enable Store Data in Database for components in the source module. But any components in the API module whose values are included in an API response must have Store Data in Database enabled. When a component’s data is not persistent, the data isn't included in an API call's response. So, Plug-Ins or external services requesting data from the API module can't receive non-persistent data in the response. > [!TIP] > Store Data in Database also affects what data is tracked using Unqork’s built-in tracker. When the **Enable Tracker** and **Track Value** toggles are set to ![A toggle switch indicating an on/off state for a user interface element.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 1.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) **(ON)** in Module Settings, only values from fields with Store Data in Database enabled are tracked. | | **Default Value** | Enter a value to store in the Hidden component by default. Using a Default Value is a simple way to define and store data, which you can then reference in another component. For example, defining a specific module ID to reference in a Plug-In’s Get Submissions call. You can still pass values into the Hidden component to overwrite the Default Value. > [!NOTE] > The Hidden component can only store Default Values as strings. | ### Validation Panel #### Input Required [![A static image displaying the UDesigner Hidden Component's User Input settings.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Hidden_Comp_Validation_InputReq_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD%20Hidden%20Comp%20Validation%20InputReq.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) | Setting | Description | | --- | --- | | **Required** | When set to ![A toggle switch indicating an on/off state for a user interface element.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 1.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) **(ON)**, the end-user must enter a value in the component's visible fields. When set to ![A toggle switch in the 'on' position, indicating an active setting or feature.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 2(1).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) **(OFF)**, the input is optional. By default, Required is set to ![A toggle switch in the 'on' position, indicating an active setting or feature.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 2(1).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) **(OFF)**. | ## Adding a Hidden Component Let's add a Hidden component as the output of a Data Workflow. These instructions assume that you have an open module saved with a title. 1. In the Module Builder, drag and drop a **H****idden** component onto your canvas. 2. In the Property ID field, enter **dwfOutput**. 3. In the Canvas Label Text field, enter `dwfOutput`. [![Static image of the dwfOutput Property ID and Label Text in the Hidden component configuration settings window.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Hidden_Comp_Example_Hidden_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD%20Hidden%20Comp%20Example%20Hidden.jpg?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) 4. Click **Save Component**. 5. Save your module. Now that you've configured your Hidden component, use it as an output for your Data Workflow. For more information, see the [Data Workflow component](/v1/docs/introduction-to-data-workflow) article in our Documentation Hub. Because the Hidden component is hidden from the end-user, it doesn't in Express View. However, you can use the angular command in Express View to see the Hidden component data. ## Resources - [Modify the Hidden component using the toolbar settings.](/v1/docs/component-toolbar-settings) - [Additional Secondary Field components](/v1/docs/introduction-to-secondary-fields). - [Learn about the Data Workflow component](/v1/docs/introduction-to-data-workflow). - [Learn how to output data from a Data Workflow using the Output operator](/v1/docs/output-operator). The **Hidden component** acts as a holding place for any data type or data structure in your application. This data can include numbers, objects, arrays, or arrays of objects. This flexibility makes the Hidden component perfect for storing data. Hidden components are only visible in the Module Builder. Being invisible to your end-users makes Hidden components great for storing and passing in information behind the scenes. A few scenarios lend themselves particularly well to using Hidden components. You can use them to support interactions with logic and data-type components: [Calculators](/v1/docs/calculator-component), [Decisions](/v1/docs/decisions-component), [Initializers](/v1/docs/initializer-component), and [Data Workflows](/v1/docs/introduction-to-data-workflow). For example, saving the **id** or **exportId** values of a [ViewGrid](/v1/docs/viewgrid-component) row to a Hidden component. After saving, you can reference that row using a logic component. After saving this value, you can reference the module ID in a [Plug-In](/v1/docs/plug-in-component) component's Get Submissions call. To avoid hard-coding the module ID in a Plug-In, you can reference the Hidden component instead. Hidden components offer a simplified approach to setting the default value. Other components (for example, [Text Field](/v1/docs/text-field-component) components) need an Initializer component to work. It's important to note that you should always use Hidden components when storing non-primitive [data types](/v1/docs/introduction-to-data-types-and-structures), like arrays and objects. Using other components to store non-primitives, like an array in a Text Field component, can lead to unpredictable and non-deterministic behavior. You'll find the component under the [Secondary Fields](/v1/docs/secondary-fields) group to the left of the [Module Builder](/v1/docs/introduction-to-the-module-builder). [Video of the Hidden component being dragged and dropped in the Module Editor canvas.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Hidden_Gif.mp4?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) ## What You'll Learn After completing this article, you’ll know when to use a Hidden component, how to configure its settings, and how to use it in an Unqork application. ## About the Configuration Window > [!TIP] > To learn more about general component settings and those that display when a component is associated with Data Models, view our [General Component Settings](/v1/docs/general-component-settings) article. ### Display Panel [![A static image dispaying the Hidden component's Display settings.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Hidden_02_thumb_0_0.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Hidden%2002.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) #### Field Text | Setting | Description | | --- | --- | | **Canvas Label Text** | A component’s Label Text indicates the purpose of the corresponding field or component. For non-input components, the Label Text isn't end-user facing, and only appears in the Module Builder. User-friendly labels make your module more accessible. Keep labels short and descriptive (a word or two) using title case. For longer entries, use sentence case. | ### Data Panel [![A static image dispaying the Hidden component's Data settings.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Hidden_03_thumb_0_0.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Hidden%2003.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) #### Data Storage | Setting | Description | | --- | --- | | **Store Data in Database** | The Store Data in Database setting affects how data persists through your application. When set to ![A toggle switch indicating an on/off state for a user interface element.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 1.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) **(ON)**, Unqork stores values entered into the field to the database (server-side submission). This occurs in three scenarios: - Navigating between Panels in a Navigation component. On navigation between pages (Panels), the component’s value saves to the database. - Triggering a module save event using a Button component with an Action Type of Save. - Navigating between screens of a workflow. On navigation between screens, the component’s value saves to the database. > [!NOTE] > By default, workflows persist data from all fields in the client-side submission when navigating between screens. However, only values from fields with Store Data in Database enabled store in the server-side submission. Set the toggle to ![A toggle switch in the 'on' position, indicating an active setting or feature.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 2(1).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) **(OFF)** when you don’t want to store the values from this field in the database. > [!NOTE] > When using a Plug-In to remote execute a module, ensure data moving between modules is persistent. You can optionally enable Store Data in Database for components in the source module. But any components in the API module whose values are included in an API response must have Store Data in Database enabled. When a component’s data is not persistent, the data isn't included in an API call's response. So, Plug-Ins or external services requesting data from the API module can't receive non-persistent data in the response. > [!TIP] > Store Data in Database also affects what data is tracked using Unqork’s built-in tracker. When the **Enable Tracker** and **Track Value** toggles are set to ![A toggle switch indicating an on/off state for a user interface element.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 1.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) **(ON)** in Module Settings, only values from fields with Store Data in Database enabled are tracked. | | **Default Value** | Enter a value to store in the Hidden component by default. Using a Default Value is a simple way to define and store data, which you can then reference in another component. For example, defining a specific module ID to reference in a Plug-In’s Get Submissions call. You can still pass values into the Hidden component to overwrite the Default Value. > [!NOTE] > The Hidden component can only store Default Values as strings. | ### Validation Panel [![A static image dispaying the Hidden component's Validation settings.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Hidden_04_thumb_0_0.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Hidden%2004.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) #### Input Required | Setting | Description | | --- | --- | | **Required** | When set to (ON), the end-user must enter a value in the component's visible fields. When set to ![A toggle switch in the 'on' position, indicating an active setting or feature.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 2(1).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) **(OFF)**, the input is optional. By default, Required is set to ![A toggle switch in the 'on' position, indicating an active setting or feature.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Group 2(1).png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) **(OFF)**. | ## Adding a Hidden Component Let's add a Hidden component as the output of a Data Workflow. These instructions assume that you have an open module saved with a title. 1. In the Module Builder, drag and drop a **Hidden** component onto your canvas. 2. In the Property ID and Canvas Label Text fields, enter dwfOutput. [![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Hidden_05_thumb_0_0.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Hidden%2005.png?sv=2026-02-06&spr=https&st=2026-11-09T03%3A51%3A08Z&se=2026-11-09T04%3A51%3A08Z&sr=c&sp=r&sig=tLTQFMmHOxjmv%2FfShnBbGFVa0wUORjLxZ6xCBofZhy8%3D) 3. Click **Save & Close**. 4. **Save** your module. Now that you've configured your Hidden component, use it as an output for your Data Workflow. For more information, see the [Data Workflow component](/v1/docs/introduction-to-data-workflow) article in our Documentation Hub. Because the Hidden component is hidden from the end-user, it doesn't in Express View. However, you can use the angular command in Express View to see the Hidden component data. ## Resources - [Modify the Hidden component using the toolbar settings.](/v1/docs/component-toolbar-settings) - [Additional Secondary Field components](/v1/docs/introduction-to-secondary-fields). - [Learn about the Data Workflow component](/v1/docs/introduction-to-data-workflow). - [Learn how to output data from a Data Workflow using the Output operator](/v1/docs/output-operator). End-users, also known as Express Users, are the individuals accessing an application through Express View. In most cases, end-users are the customers using the product. A Property ID is the unique field ID used by Unqork to track and link components in your module. Canvas Label Text indicates the purpose of the corresponding field or component. For non-input components, the Canvas Label Text isn't end-user facing, and only appears in the . Express View is how your end-user views your application. Express View also lets you preview your applications to test your configuration and view the styling. This is also the view your end-users will see when interacting with your application. After configuring a module, click Preview in the Module Builder to interact with the module in Express View.