--- title: "How to: Use a Has Operator With the Group Input Operator" slug: "has-operator-confirming-the-path-of-multiple-objects" description: "Learn to configure Hidden components and the Has operator in your Data Workflow, ensuring accurate Boolean outputs based on key matches." updated: 2025-11-11T18:50:44Z published: 2025-11-12T14:27:26Z canonical: "docs.unqork.io/has-operator-confirming-the-path-of-multiple-objects" --- > ## 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. # How to: Use a Has Operator With the Group Input Operator UDesignerClassic Designer ![Info panel displaying category, label, and path fields for a 'Has' element.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(258).png?sv=2026-02-06&spr=https&st=2026-11-08T18%3A05%3A07Z&se=2026-11-08T19%3A05%3A07Z&sr=c&sp=r&sig=SCQlaSrheLCjQALO5Zc6a3HJseMOKI8JT9VXxlOS1pE%3D)The **Has operator** inputs an object and outputs a **true** or **false** Boolean value. The output is dependent on the object's key. If the operator's key matches the object's key, the output is **true**. If not, the output is **false**. In this how-to guide, you’ll set up four Hidden components to input data to your Data Workflow component. Then, you'll group it using a Group Input operator and pass it to a Has operator. You'll set up the Has operator to look in the Group Input operator for a specific key. If the Has operator locates a match, the output is **true**. If the operator does not locate a match, the output is **false**. In this example, you'll configure the Has operator's key to be one of your Hidden components. > [!NOTE] > Remember, you must spell the key correctly or the output will be **false**. For example, if your key is `value2`, entering `value` gives you a **false** output. ### Configure the Hidden Components First, you'll set up four [Hidden](/v1/docs/hidden-component) components to store your inputs. For each component, you'll enter a different question in the Default Value field. 1. In the Module Builder, drag and drop four **Hidden** components onto your canvas, placing them one after the other. 2. Enter the following **Property ID**, **Label Text**, and **Default Value** values: | Property ID | Canvas Label Text | Default Value | | --- | --- | --- | | value1 | value1 | Who can have the Has? | | value2 | value2 | Or is it, who has the Have? | | value3 | value3 | Does the Get get the Has? | | value4 | value4 | Or, does the Has have the Get? | 3. Click **Save Component** as you add each component. ### Configure the Data Workflow Component Now, you'll set up your [Data Workflow](/v1/docs/using-unqorks-dataworkflow). First, you'll add a Group Input operator so you can input all four Hidden components as objects. Then you'll pass these objects through your Has operator, looking specifically for `value2`. Because the `value2` **Hidden** component exists, your Data Workflow's output is `true`. You'll set up a couple of Console operators to watch the progress. 1. Drag and drop a **Data Workflow** component onto your canvas, placing it below your `value4` **Hidden** component. 2. In the **Property ID** and **Canvas Label Text** fields, enter `dwfHasGroupInput`. #### Configure the Group Input Operator 1. Drag and drop a **Group Input** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Group Input | | Component | value1 | | Component 1 | value2 | | Component 2 | value3 | | Component 3 | value4 | | Component 4 | | | Component 5 | | | Required | Yes | #### Configure the Has Operator 1. Drag and drop a **Has** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Has | | Label | Has value2 | | Path | value2 | 3. Connect the output port (right) of the **Group Input** operator to the input port (left) of the **Has** operator. #### Configure the First Console Operator 1. Drag and drop a **Console** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Console | | Label | Group Input | 3. Connect the output port (right) of the **Group Input** operator to the input port (left) of the `Group Input` **Console** operator. #### Configure the Second Console Operator 1. Drag and drop another **Console** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Console | | Label | Group Input Has value2? | 3. Connect the lower output port (right) of the `Has value2` **Has** operator to the input port (left) of the `Group Input Has value2?` **Console** operator. ![Workflow diagram showing data input and console outputs with highlighted elements.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(256).png?sv=2026-02-06&spr=https&st=2026-11-08T18%3A05%3A07Z&se=2026-11-08T19%3A05%3A07Z&sr=c&sp=r&sig=SCQlaSrheLCjQALO5Zc6a3HJseMOKI8JT9VXxlOS1pE%3D) 4. Click **Save Component**. ### Configure the Button Component Now, add a [Button](/v1/docs/button-component#resources) component to trigger your Data Workflow component. 1. Drag and drop a **Button** component onto your canvas, placing it below your Data Workflow. 2. In the **Property ID** field, enter `btnHasGroupInput`. 3. In the **Label** **Text** field, enter `Get the Has`. 4. From the **Action Type** drop-down, select **Event.** 5. In the **Trigger on Click** field, enter `dwfHasGroupInput`. ![Button configuration with action type and triggers for user interaction settings.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(257).png?sv=2026-02-06&spr=https&st=2026-11-08T18%3A05%3A07Z&se=2026-11-08T19%3A05%3A07Z&sr=c&sp=r&sig=SCQlaSrheLCjQALO5Zc6a3HJseMOKI8JT9VXxlOS1pE%3D) 6. Click **Save Component**. 7. **Save** your module. Here's how your module looks in the Module Builder: ![Input fields for values and a highlighted section for group input functionality.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(259).png?sv=2026-02-06&spr=https&st=2026-11-08T18%3A05%3A07Z&se=2026-11-08T19%3A05%3A07Z&sr=c&sp=r&sig=SCQlaSrheLCjQALO5Zc6a3HJseMOKI8JT9VXxlOS1pE%3D) Test out your Data Workflow by opening and expanding the DevTools Console. Click the **Get the Has** button. The first Console displays all four Hidden component values, and the second Console displays the result of the Has operator. You can see the output is **true** because the `value2` object exists in the Group Input operator. To confirm other keys, you'll change your Has operator to look for another hidden value. ![Console output showing group input values and a true status message.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF_Has_11.jpg?sv=2026-02-06&spr=https&st=2026-11-08T18%3A05%3A07Z&se=2026-11-08T19%3A05%3A07Z&sr=c&sp=r&sig=SCQlaSrheLCjQALO5Zc6a3HJseMOKI8JT9VXxlOS1pE%3D) ![Information panel displaying category, label, and path details for the 'Has' element.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(260).png?sv=2026-02-06&spr=https&st=2026-11-08T18%3A05%3A07Z&se=2026-11-08T19%3A05%3A07Z&sr=c&sp=r&sig=SCQlaSrheLCjQALO5Zc6a3HJseMOKI8JT9VXxlOS1pE%3D)The **Has operator** inputs an object and outputs a **true** or **false** Boolean value. The output is dependent on the object's key. If the operator's key matches the object's key, the output is **true**. If not, the output is **false**. In this how-to guide, you’ll set up four Hidden components to input data to your Data Workflow component. Then, you'll group it using a Group Input operator and pass it to a Has operator. You'll set up the Has operator to look in the Group Input operator for a specific key. If the Has operator locates a match, the output is **true**. If the operator does not locate a match, the output is **false**. In this example, you'll configure the Has operator's key to be one of your Hidden components. > [!NOTE] > Remember, you must spell the key correctly or the output will be **false**. For example, if your key is `value2`, entering `value` gives you a **false** output. ### Configure the Hidden Components First, you'll set up four [Hidden](/v1/docs/hidden-component) components to store your inputs. For each component, you'll enter a different question in the Default Value field. 1. In the Module Builder, drag and drop four **Hidden** components onto your canvas, placing them one after the other. 2. Enter the following **Property ID**, **Canvas Label Text**, and **Default Value** values: | Property ID | Canvas Label Text | Default Value | | --- | --- | --- | | value1 | value1 | Who can have the Has? | | value2 | value2 | Or is it, who has the Have? | | value3 | value3 | Does the Get get the Has? | | value4 | value4 | Or, does the Has have the Get? | 3. **Save & Close** each component as you add it. ### Configure the Data Workflow Component Now, you'll set up your [Data Workflow](/v1/docs/using-unqorks-dataworkflow). First, you'll add a Group Input operator so you can input all four Hidden components as objects. Then you'll pass these objects through your Has operator, looking specifically for `value2`. Because the `value2` **Hidden** component exists, your Data Workflow's output is `true`. You'll set up a couple of Console operators to watch the progress. 1. Drag and drop a **Data Workflow** component onto your canvas, placing it below your `value4` **Hidden** component. 2. In the **Canvas Label Text** and **Property Name** fields, enter `dwfHasGroupInput`. #### Configure the Group Input Operator 1. Drag and drop a **Group Input** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Group Input | | Component | value1 | | Component 1 | value2 | | Component 2 | value3 | | Component 3 | value4 | | Component 4 | | | Component 5 | | | Required | Yes | #### Configure the Has Operator 1. Drag and drop a **Has** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Has | | Label | Has value2 | | Path | value2 | 3. Connect the output port (right) of the **Group Input** operator to the input port (left) of the **Has** operator. #### Configure the First Console Operator 1. Drag and drop a **Console** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Console | | Label | Group Input | 3. Connect the output port (right) of the **Group Input** operator to the input port (left) of the `Group Input` **Console** operator. #### Configure the Second Console Operator 1. Drag and drop another **Console** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Console | | Label | Group Input Has value2? | 3. Connect the lower output port (right) of the `Has value2` **Has** operator to the input port (left) of the `Group Input Has value2?` **Console** operator. ![Data workflow interface showing group input and console components with options.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF_Has_10.jpg?sv=2026-02-06&spr=https&st=2026-11-08T18%3A05%3A07Z&se=2026-11-08T19%3A05%3A07Z&sr=c&sp=r&sig=SCQlaSrheLCjQALO5Zc6a3HJseMOKI8JT9VXxlOS1pE%3D) 4. Click **Save**. ### Configure the Button Component Now, add a [Button](/v1/docs/button-component#resources) component to trigger your Data Workflow component. 1. Drag and drop a **Button** component onto your canvas, placing it below your Data Workflow. 2. In the **Property ID** field, enter `btnHasGroupInput`. 3. In the **Label** field, enter `Get the Has`. 4. Under **Action Type**, select **Event.** 5. In the **Trigger on Click** field, enter `dwfHasGroupInput`. ![Button settings for saving, validating, and triggering events in a workflow module.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF_Has_13.jpg?sv=2026-02-06&spr=https&st=2026-11-08T18%3A05%3A07Z&se=2026-11-08T19%3A05%3A07Z&sr=c&sp=r&sig=SCQlaSrheLCjQALO5Zc6a3HJseMOKI8JT9VXxlOS1pE%3D) 6. Click **Save & Close**. 7. **Save** your module. Here's how your module looks in the Module Builder: ![Module editor interface displaying components and input fields for configuration.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF_Has_08.jpg?sv=2026-02-06&spr=https&st=2026-11-08T18%3A05%3A07Z&se=2026-11-08T19%3A05%3A07Z&sr=c&sp=r&sig=SCQlaSrheLCjQALO5Zc6a3HJseMOKI8JT9VXxlOS1pE%3D) Test out your Data Workflow by opening and expanding the DevTools Console. Click the **Get the Has** button. The first Console displays all four Hidden component values, and the second Console displays the result of the Has operator. You can see the output is **true** because the `value2` object exists in the Group Input operator. To confirm other keys, you'll change your Has operator to look for another hidden value. ![Console output showing group input values and a true status message.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF_Has_11.jpg?sv=2026-02-06&spr=https&st=2026-11-08T18%3A05%3A07Z&se=2026-11-08T19%3A05%3A07Z&sr=c&sp=r&sig=SCQlaSrheLCjQALO5Zc6a3HJseMOKI8JT9VXxlOS1pE%3D) An object is a type of data structure that represents a single, self-contained entity that acts as a container for the characteristics of that entity. Triggers activate another component when certain requirements are met. Trigger types include Concurrent, Post, and Error. Some components do not have the ability to trigger others. The DevTools Console helps you securely store, build, test, and deploy your software. ## Related - [Data Workflow Operators](/data-workflow-operators.md) - [Data Workflow Component](/data-workflow-component.md) - [Introduction to Data Workflow](/introduction-to-data-workflow.md)