--- title: "Group Input Operator" slug: "group-input-operator" updated: 2025-09-26T05:48:07Z published: 2025-09-26T05:48:07Z canonical: "docs.unqork.io/group-input-operator" --- > ## 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. # Group Input Operator UDesignerClassic Designer The **Group Input operator** lets you combine data from multiple sources into a single object in your [Data Workflow.](/v1/docs/introduction-to-data-workflow) ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/groupinputUdesigner_thumb_0_0.png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A08Z&se=2026-11-09T17%3A59%3A08Z&sr=c&sp=r&sig=hANbqYivygB%2FSOd4P6r6m3VUvMriGem8Z0UCgmEw1PI%3D) For example, let's say you need to collect the name, phone number, and email address data points from your end-user. You'll gather each in separate components and use a Group Input operator to combine all three. One Group Input operator can reference up to six components. It always serves as an input to your Data Workflow and therefore only has an output port. You’ll find the Group Input operator under the [I/O group](/v1/docs/introduction-to-data-workflow-io-operators) to the left of the [Data Workflow](/v1/docs/introduction-to-data-workflow) canvas. ## About the Info Window And here's a breakdown of each setting in the Info window: | **Setting** | Description | | --- | --- | | **Category** | Grayed out and non-adjustable setting indicating the operation type. | | **Component** | A component storing the data you'll bring into your Data Workflow. Here, you'll see a drop-down containing every component's Property ID in your module. Select the component you want to reference from the drop-down list. After selecting a Property ID, the Component field remains editable. You can type in the Component field to define a property path or target fields nested under the selected Property ID. Your selection displays as the operator's label. > [!NOTE] > You must make a selection here for the operator to function as expected. Be sure to select one of the components you're referencing here. You'll reference the others in the following Component fields. > The Data Workflow component supports using grid referencing syntax to target the [Dynamic Grid](/v1/docs/dynamic-grid-component), [Uniform Grid](/v1/docs/uniform-grid-component), and [Freeform Grid](/v1/docs/freeform-grid-component) components. Grid referencing syntax supports targeting at the component, column, row, and cell level. To learn more, view the following articles in our Documentation Hub: [Dynamic Grid: Targeted Logic and Referencing Syntax](/v1/docs/dynamic-grid-targeted-logic-and-referencing-syntax) and [Uniform Grid and Freeform Grid: Logic and Referencing Syntax](/v1/docs/uniform-grid-logic-and-referencing-syntax). | | **Component 1-5** | Add the additional components you want to include with your selection above. Remember, the Group Input operator can have multiple inputs. Each extra field lets you choose a component to reference in your Data Workflow. You'll select a unique Property ID from each drop-down. If you're referencing fewer than five extra components, you'll leave the rest empty. | | **Required** | When set to **Yes**, your Data Workflow does not begin until a value is present in each of your chosen components. So, if you select a [Text Field](/v1/docs/text-field-component) and [Email](/v1/docs/email-component) component, your Data Workflow does not run if either field is empty. When set to **No**, the Data Workflow runs with or without a value in your chosen components. The result is an empty string for each blank value. By default, the Required drop-down is set to **Yes**. | ### Manually-Defined Inputs In some cases, you might want to reference an input that does not display in the Info window's **Component** drop-down. For example, Property IDs of components in imported modules. To reference an input that doesn't display in the Component drop-down: 1. Select your **G****roup Input** operator. 2. In the operator's **Info** window, select any Property ID from the Component drop-down. The Property ID displays below the **G****roup Input** operator as a label. 3. On the Data Workflow canvas, double-click the **G****roup Input** operator's label. The field becomes editable. 4. Enter the Property ID to use as an input. 5. Click outside the field to save your manually-defined input. > [!NOTE] > Reopening the [Data Workflow](/v1/docs/introduction-to-data-workflow) component might not display your manually-defined input on the canvas, though the connection still exists. Consider using the Data Workflow component's Comment field to note the input. ## Adding a Group Input Operator To demonstrate a Group Input operator, you'll take values from three [Text Field](/v1/docs/text-field-component) components and combine them into a single object. ### Configure the Text Field Components You'll use these fields to enter information related to dogs, including name, breed, and color. 1. In the Module Builder, drag and drop three **T****ext Field** components onto your canvas. 2. In each component's **Property ID** and **Label Text** field, enter the following: | # | Property ID | Label Text | | --- | --- | --- | | 1 | name | Name | | 2 | breed | Breed | | 3 | color | Color | 3. Click **Save Component** for each component as you add it. ### Configure the Hidden Component Next, configure a [Hidden](/v1/docs/hidden-component) component to store the Data Workflow's output data. 1. Drag and drop a **H****idden** component onto your canvas, placing it below your **color** **T****ext Field** component. 2. In the **Property ID** and **Label Text** fields, enter `dwfGroupInputOutput`. 3. Click **Save Component**. ### Configure the Data Workflow Component Now, add a [Data Workflow](/v1/docs/data-workflow-component) component to process the data. 1. Drag and drop a **D****ata Workflow** component, placing it between your **color** **T****ext Field** and **dwfGroupInputOutput** **H****idden** components. 2. In the **Property ID** and **Canvas Label Text** fields, enter `dwfDogs`. #### Configure the Group Input Operator 1. Drag and drop a **G****roup Input** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Info | | --- | | Category | Group Input | | Component | name | | Component 1 | breed | | Component 2 | color | | Component 3 | | | Component 4 | | | Component 5 | | | Required | Yes | #### Configure the Output Data Operator 1. Drag and drop an **O****utput** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Info | | --- | | Category | Output | | Component | dwfGroupInputOutput | | Action | Value | 3. Connect the output port (right) of the **G****roup Input** operator to the input port (left) of the **O****utput** operator. 4. Click **Save Component**. Here's how the completed Data Workflow looks: ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Screenshot 2025-06-30 131332_thumb_0_0.png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A08Z&se=2026-11-09T17%3A59%3A08Z&sr=c&sp=r&sig=hANbqYivygB%2FSOd4P6r6m3VUvMriGem8Z0UCgmEw1PI%3D) ### Configure the Button Component Lastly, add a [Button](/v1/docs/button-component) component to trigger the Data Workflow. 1. Drag and drop a **Button** component onto your canvas, placing it below your **dwfDogs** **D****ata Workflow** component. 2. In the **Property ID** field, enter `btnTrigger`. 3. In the **Label Text** field, enter `Trigger Data Workflow`. 4. From the **Action Type** drop-down, select **Event**. 5. From the **On Click** drop-down, select **dwfDogs**. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/buttonGroupinput_thumb_0_0.png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A08Z&se=2026-11-09T17%3A59%3A08Z&sr=c&sp=r&sig=hANbqYivygB%2FSOd4P6r6m3VUvMriGem8Z0UCgmEw1PI%3D) 6. Click **Save Component**. 7. Save your module. Here's how the completed example looks in the Module Builder: ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/groupinput final_thumb_0_0(1).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A08Z&se=2026-11-09T17%3A59%3A08Z&sr=c&sp=r&sig=hANbqYivygB%2FSOd4P6r6m3VUvMriGem8Z0UCgmEw1PI%3D) Here's how the completed example works in Express View, including a look at the DevTools Console: ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Dwf_GroupInputOperator_Express_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A08Z&se=2026-11-09T17%3A59%3A08Z&sr=c&sp=r&sig=hANbqYivygB%2FSOd4P6r6m3VUvMriGem8Z0UCgmEw1PI%3D) **Preview** your module in Express View and complete your end-user input fields. With your DevTools Console open, click Trigger Data Workflow. The Data Workflow combines the values from each of your Text Field components and puts the resulting value in your Hidden component. The **Group Input operator** lets you combine data from multiple sources into a single object in your [Data Workflow.](/v1/docs/introduction-to-data-workflow) ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Dwf_Inputs_GroupInput_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A08Z&se=2026-11-09T17%3A59%3A08Z&sr=c&sp=r&sig=hANbqYivygB%2FSOd4P6r6m3VUvMriGem8Z0UCgmEw1PI%3D) For example, let's say you need to collect the name, phone number, and email address data points from your end-user. You'll gather each in separate components and use a Group Input operator to combine all three. One Group Input operator can reference up to six components. It always serves as an input to your Data Workflow and therefore only has an output port. You’ll find the Group Input operator under the [I/O group](/v1/docs/introduction-to-data-workflow-io-operators) to the left of the [Data Workflow](/v1/docs/introduction-to-data-workflow) canvas. ## About the Info Window And here's a breakdown of each setting in the Info window: | **Setting** | Description | | --- | --- | | **Category** | Grayed out and non-adjustable setting indicating the operation type. | | **Component** | A component storing the data you'll bring into your Data Workflow. Here, you'll see a drop-down containing every component's Property ID in your module. Select the component you want to reference from the drop-down list. After selecting a Property ID, the Component field remains editable. You can type in the Component field to define a property path or target fields nested under the selected Property ID. Your selection displays as the operator's label. > [!NOTE] > You must make a selection here for the operator to function as expected. Be sure to select one of the components you're referencing here. You'll reference the others in the following Component fields. > The Data Workflow component supports using grid referencing syntax to target the [Dynamic Grid](/v1/docs/dynamic-grid-component), [Uniform Grid](/v1/docs/uniform-grid-component), and [Freeform Grid](/v1/docs/freeform-grid-component) components. Grid referencing syntax supports targeting at the component, column, row, and cell level. To learn more, view the following articles in our Documentation Hub: [Dynamic Grid: Targeted Logic and Referencing Syntax](/v1/docs/dynamic-grid-targeted-logic-and-referencing-syntax) and [Uniform Grid and Freeform Grid: Logic and Referencing Syntax](/v1/docs/uniform-grid-logic-and-referencing-syntax). | | **Component 1-5** | Add the additional components you want to include with your selection above. Remember, the Group Input operator can have multiple inputs. Each extra field lets you choose a component to reference in your Data Workflow. You'll select a unique Property ID from each drop-down. If you're referencing fewer than five extra components, you'll leave the rest empty. | | **Required** | When set to **Yes**, your Data Workflow does not begin until a value is present in each of your chosen components. So, if you select a [Text Field](/v1/docs/text-field-component) and [Email](/v1/docs/email-component) component, your Data Workflow does not run if either field is empty. When set to **No**, the Data Workflow runs with or without a value in your chosen components. The result is an empty string for each blank value. By default, the Required drop-down is set to **Yes**. | ### Manually-Defined Inputs In some cases, you might want to reference an input that doesn't display in the Info window's **Component** drop-down. For example, Property IDs of components in imported modules. To reference an input that doesn't display in the Component drop-down: 1. Select your **G****roup Input** operator. 2. In the operator's **Info** window, select any Property ID from the Component drop-down. The Property ID displays below the **G****roup Input** operator as a label. 3. On the Data Workflow canvas, double-click the **G****roup Input** operator's label. The field becomes editable. 4. Enter the Property ID to use as an input. 5. Click outside the field to save your manually-defined input. > [!NOTE] > Reopening the [Data Workflow](/v1/docs/introduction-to-data-workflow) component might not display your manually-defined input on the canvas, though the connection still exists. Consider using the Data Workflow component's Comment field to note the input. ## Adding a Group Input Operator To demonstrate a Group Input operator, you'll take values from three [Text Field](/v1/docs/text-field-component) components and combine them into a single object. ### Configure the Text Field Components You'll use these fields to enter information related to dogs, including name, breed, and color. 1. In the Module Builder, drag and drop three **T****ext Field** components onto your canvas. 2. In each component's **Property ID** and **Label Text** field, enter the following: | Property ID | Label Text | | --- | --- | | name | Name | | breed | Breed | | color | Color | 3. **Save & Close** each component as you add it. ### Configure the Hidden Component Next, configure a [Hidden](/v1/docs/hidden-component) component to store the Data Workflow's output data 1. Drag and drop a **H****idden** component onto your canvas, placing it below your **color** **T****ext Field** component. 2. In the **Property ID** and **Label Text** fields, enter `dwfGroupInputOutput`. 3. Click **Save & Close**. ### Configure the Data Workflow Component Now, add a [Data Workflow](/v1/docs/data-workflow-component) component to process the data. 1. Drag and drop a **D****ata Workflow** component onto your canvas, placing it between your **color** **T****ext Field** and **dwfGroupInputOutput** **H****idden** components. 2. In the **Canvas Label Text** and **Property Name** fields, enter `dwfDogs`. #### Configure the Group Input Operator 1. Drag and drop a **G****roup Input** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Group Input | | Component | name | | Component 1 | breed | | Component 2 | color | | Component 3 | | | Component 4 | | | Component 5 | | | Required | Yes | #### Configure the Output Data Operator 1. Drag and drop an **O****utput** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Output | | Component | dwfGroupInputOutput | | Action | Value | 3. Connect the output port (right) of the **G****roup Input** operator to the input port (left) of the **O****utput** operator. 4. Click **Save**. Here's how the completed Data Workflow looks: ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Screenshot 2025-06-30 131332_thumb_0_0(1).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A08Z&se=2026-11-09T17%3A59%3A08Z&sr=c&sp=r&sig=hANbqYivygB%2FSOd4P6r6m3VUvMriGem8Z0UCgmEw1PI%3D) ### Configure the Button Component Lastly, add a [Button](/v1/docs/button-component) component to trigger the Data Workflow. 1. Drag and drop a **Button** component onto your canvas, placing it below your **dwfDogs** **D****ata Workflow** component. 2. In the **Property ID** field, enter `btnTrigger`. 3. In the **Label Text** field, enter `Trigger Data Workflow`. 4. Set the **Action Type** as **Event**. 5. From the **On Click** drop-down, select **dwfDogs**. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/buttonGroupinput_thumb_0_0(1).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A08Z&se=2026-11-09T17%3A59%3A08Z&sr=c&sp=r&sig=hANbqYivygB%2FSOd4P6r6m3VUvMriGem8Z0UCgmEw1PI%3D) 6. Click **Save & Close**. 7. **Save** your module. Here's how the completed example looks in the Module Builder: ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/groupinput final_thumb_0_0(3).png?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A08Z&se=2026-11-09T17%3A59%3A08Z&sr=c&sp=r&sig=hANbqYivygB%2FSOd4P6r6m3VUvMriGem8Z0UCgmEw1PI%3D) Here's how the completed example works in Express View, including a look at the DevTools Console: ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Dwf_GroupInputOperator_Express_thumb_0_0(1).jpg?sv=2026-02-06&spr=https&st=2026-11-09T16%3A59%3A08Z&se=2026-11-09T17%3A59%3A08Z&sr=c&sp=r&sig=hANbqYivygB%2FSOd4P6r6m3VUvMriGem8Z0UCgmEw1PI%3D) **Preview** your module in Express View and complete your end-user input fields. With your DevTools Console open, click Trigger Data Workflow. The Data Workflow combines the values from each of your Text Field components and puts the resulting value in your Hidden component. 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. 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. 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. The DevTools Console helps you securely store, build, test, and deploy your software.