--- title: "How to: Block Missing Data Using a Gate Operator" slug: "gate-operator-block-missing-data" updated: 2025-12-23T15:41:31Z published: 2025-12-23T15:41:31Z canonical: "docs.unqork.io/gate-operator-block-missing-data" --- > ## 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: Block Missing Data Using a Gate Operator UDesignerClassic Designer The **Gate operator** blocks the progress of data in a [Data Workflow](/v1/docs/data-workflow-component) unless it meets your criteria. If the data does not match, it stops the progress. For example, if you have a data set with company account names and values, you can use the Gate operator to display only the value for the name the end-user selects. Any values that do not exist in the data set are blocked, which prevents a circular reference error. > [!TIP] > For more information on troubleshooting circular reference errors, view to [Troubleshooting: Circular Reference Errors in Data Workflow](https://academy.unqork.com/data-workflow-troubleshooting/620190) article. ## Configuration In this how-to guide, you’ll create a [Data Workflow](https://docs.unqork.io/docs/data-workflow-component) that uses [Filter](https://docs.unqork.io/docs/filter-operator) and [Gate](https://docs.unqork.io/docs/gate-operator) operators to block values that are missing or are less than one. Then, it’ll display the account value that meets your criteria. ### Configure the Data Table Component First, you'll set up a [Data Table](https://docs.unqork.io/docs/data-table-component) component with sample data you’ll bring into your Data Workflow. 1. In the Module Builder, drag and drop a **Data Table** component onto your canvas. 2. In the **Property ID** and **Label Text** fields, enter `dtCompanies`. 3. In the data table, enter the following: | accountName | accountValue | | --- | --- | | Unqork | 100000 | | Johnson & Johnson | 400000 | ![A static image displaying the dtCompanies Data Table component in UDesigner.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Get%20op_Data%20Table_dtCompanies.png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) 4. Click **Save Component**. ### Configure the Radio Buttons Component Next, you'll add a [Radio Buttons](https://docs.unqork.io/docs/radio-buttons-component) component so the end-user can select an option to pass to the Data Workflow component. 1. Drag and drop the **Radio Buttons** component onto your canvas, placing it below the `dtCompanies` **Data Table** component. 2. In the **Property ID** field, type `filter`. 3. In the **Label Text** field, enter `Filter by Company`. 4. Set your **Label** and **Value** as shown below: | Option Label | Value to Store in Submission Data | | --- | --- | | Unqork | Unqork | | Johnson & Johnson | Johnson & Johnson | | Other | Other | ![A static image displaying the configuration of the filter Radio Buttons component in UDesigner.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Get%20op_Radio%20Buttons__filter.png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) 5. Click **Save Component**. ### Configure the Button Component Next, add a [Button](https://docs.unqork.io/docs/button-component) component to trigger an [Initializer](https://docs.unqork.io/docs/initializer-component) component you’ll set up in a later step. 1. Drag and drop a **Button** component onto your canvas, placing it below the `Filter by Company` **Radio Buttons** component. 2. In the **Property ID** field, enter `btnGetAccountValue`. 3. In the **Label Text** field, enter `Get Account Value`. 4. Set the **Action Type** as **Event**. 5. From the **On Click** drop-down, select **initOnClick**. 6. Navigate to the component’s **Advanced** settings. 7. Set **Disable on Invalid Forms** to ![files](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/toggle_ON(12).png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) **(****ON****)**. ![A static image displaying the configuration of the btnGetAccountValue Button component in UDesigner.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Get%20op_Button__btnGetAccountValue.png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) 8. Click **Save Component**. ### Configure the Number Component Now, you'll display the account value associated with its account name. You'll add a [Number](https://docs.unqork.io/docs/number-component) component to display unblocked data. 1. Drag and drop a **Number** component onto your canvas, placing it below the `btnGetAccountValue` **Button** component. 2. In the **Property ID** field, enter `accountValue`. 3. In the **Label Text** field, enter `Account Value`. 4. Set **Show Thousands Separator** to ![files](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/toggle_ON(12).png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) **(****ON)**. 5. Click **Save** **Component**.![A static image displaying the configuration of the accountValue Number component in the UDesigner.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Get%20op_Number__accountValue.png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) ### Configure the Initializer Component Then you'll want to add an [Initializer](/v1/docs/initializer-component) component to run the application every time the end-user clicks the button. That way, the application returns different results without refreshing the page. 1. Drag and drop an **Initializer** component onto your canvas, placing it below the `btnGetAccountValue` **Button** component. 2. In the **Property ID** and **Canvas Label Text** fields, enter `initOnClick`. 3. In the **Outputs** table, enter the following: | Property ID | Type | Value | | --- | --- | --- | | accountValue | clear | yes | | dwfFilterWithGate | trigger | GO | ![A static image displaying the configuration of the initOnClick Initializer component in UDesigner.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Get%20op_Initializer_initOnClick.png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) 4. Click **Save Component**. ### Configure the Data Workflow Component Next, you'll add a [Data Workflow](/v1/docs/data-workflow-component) component to retrieve data from the `dtCompanies` **Data Table** component and filter it through your [Filter](/v1/docs/filter-operator) and [Gate](/v1/docs/gate-operator) operators. The results will display in the `accountValue` **Number** component. 1. Drag and drop a **Data Workflow** component onto your canvas, placing it below the `initOnClick` **Initializer** component. 2. In the **Property ID** and **Canvas Label Text** fields, enter `dwfFilterWithGate`. #### Configure the First Input Operator 1. Drag and drop an **Input** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Input | | Component | filter | | Required | Yes | | Source | Default | #### Configure the Second Input Operator 1. Drag and drop another **Input** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Input | | Component | dtCompanies | | Required | Yes | | Source | Default | #### Configure the Filter Operator Next, you'll add a [Filter](/v1/docs/filter-operator) operator so that when the input matches the Filter operator's expression, it passes through the **true** output port. For this example, the input is the data from the `dtCompanies` **Data Table** component and the expression is the end-user's Radio Buttons component selection. 1. Drag and drop a **Filter** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Filter | | Label | Account Name | | Do Not Sanitize Formula | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Checked_Box(7).png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) (checked) | | Expression | accountName = _arg | 3. Connect the output port (right) of the `filter` **Input** operator to the argument port (top) of the `Account Name` **Filter** operator. 4. Connect the output port (right) of the `dtCompanies` **Input** operator to the input port (left) of the `Account Name` **Filter** operator. #### Configure the First Console Operator This [Console](/v1/docs/console-operator) operator displays the Data Workflow's progress after your data passes through the `Account Name` **Filter** 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 | Filter True | 3. Connect the upper output port (right) of the `Account Name` **Filter** operator to the input port (left) of the `Filter True` **Console** operator. #### Configure the Second Console Operator This Console operator lets you determine if your data returns **false** as it passes through the `Account Name` **Filter** 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 | Filter False | 3. Connect the lower output port (right) of the `Account Name` **Filter** operator to the input port (left) of the `Filter False` **Console** operator. #### Configure the Size Operator You’ll use a [Size](https://docs.unqork.io/docs/sizeoperator) operator to convert your data into a number value. The `dtCompanies` **Data Table** component stores your data as an array. A Size operator measures the length of an array and assigns it a number value. For this module, the data stores one data set, so the size is **1**. If the data does not exist, the operator returns a **0**. You’ll use the Size number value as the argument for the Gate operator you’ll add later. 1. Drag and drop a **Size** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Size | | Label | Convert Number Value | 3. Connect the upper output port (right) of the `Account Name` **Filter** operator to the input port (left) of the `Convert Number Value` **Size** operator. #### Configure the Gate Operator Next, you'll add a [Gate](/v1/docs/gate-operator) operator to block all values that are **0** or that do not exist. 1. Drag and drop a **Gate** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Gate | | Label | _arg > 0 | | Do Not Sanitize Formula | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Checked_Box(7).png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) (checked) | | Condition | _arg > 0 | 3. Connect the upper output port (right) of the `Account Name` **Filter** operator to the input port (left) of the `_arg > 0` **Gate** operator. 4. Connect the output port (right) of the `Size of Result` **Size** operator to the argument port (top) of the `_arg > 0` **Gate** operator. #### Configure the Third Console Operator Then, you'll add another Console operator to view your data's progress after passing through the Gate 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 | Gate Output | 3. Connect the output port (right) of the `_arg > 0` **Gate** operator to the input port (left) of the `Gate Output` **Console** operator. #### Configure the Get Operator At this point, your data consists of the account name and value. You only want to output the account value for the end-user to view. You'll use the [Get](/v1/docs/get-operator) operator to separate the account value from the data and then pass it to the output. 1. Drag and drop a **Get** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Get | | Label | accountValue | | Path | [0].accountValue | 3. Connect the output port (right) of the `_arg > 0` **Gate** operator to the input port (left) of the `accountValue` **Get** operator. #### Configure the Fourth Console Operator You'll add one more Console operator to view your data's progress after passing through the Get 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 | Get [0] accountValue | 3. Connect the lower output port (right) of the `accountValue` **Get** operator to the input port (left) of the `Get [0] accountValue` **Console** operator. #### Configure the Output Operator 1. Drag and drop an **Output** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Output | | Component | accountValue | | Action | value | 3. Connect the output port (right) of the `accountValue` **Get** operator to the input port (left) of the `accountValue` **Output** operator. ![A static image displaying the configuration of the dwfFilterWithGate Data Workflow component in UDesigner.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Get%20op_Data%20Workflow_dwfFilterWithGate.png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) 4. Click **Save Component**. 5. **Save** the module. Here's how the completed example looks in the Module Builder: ![A static image displaying the configuration of the module in UDesigner.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/UD_Get%20op_module.png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) Preview the module in Express View and open the DevTools Console. Begin by selecting the **Unqork** radio button. Then, click the **Get Account Value** button to see the account value display in the **Account Value** field. ![A static image displaying the Express View and DevTools Console output for Unqork selection.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/CD_Gate%20op_DevTools%20Console_True%20selection.png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) Now, try using the criteria that do not exist in the data set. Select the **Other** radio button and click the **Get Account Value** button. Now, you'll see that no value displays in the **Account Value** field. ![A static image displaying the Express View and DevTools Console output for Other selection.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/CD_Gate%20op_DevTools%20Console_False%20selection.png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) The **Gate operator** blocks the progress of data in a [Data Workflow](/v1/docs/data-workflow-component) unless it meets your criteria. If the data does not match, it stops the progress. For example, if you have a data set with company account names and values, you can use the Gate operator to display only the value for the name the end-user selects. Any values that do not exist in the data set are blocked, which prevents a circular reference error. > [!TIP] > For more information on troubleshooting circular reference errors, view to [Troubleshooting: Circular Reference Errors in Data Workflow](https://academy.unqork.com/data-workflow-troubleshooting/620190) article. ## Configuration In this how-to guide, you’ll create a [Data Workflow](https://docs.unqork.io/docs/data-workflow-component) that uses [Filter](https://docs.unqork.io/docs/filter-operator) and [Gate](https://docs.unqork.io/docs/gate-operator) operators to block values that are missing or are less than one. Then, it’ll display the account value that meets your criteria. ### Configure the Data Table Component First, you'll set up a [Data Table](https://docs.unqork.io/docs/data-table-component) component with sample data you’ll bring into your Data Workflow. 1. In the Module Builder, drag and drop a **Data Table** component onto your canvas. 2. In the **Property ID** and **Canvas Label Text** fields, enter `dtCompanies`. 3. In the data table, enter the following: | accountName | accountValue | | --- | --- | | Unqork | 100000 | | Johnson & Johnson | 400000 | ![A static image displaying the configuration of the dtCompanies Data Table component in Classic Designer.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/CD_Gate%20op_Data%20Table__dtCompanies.png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) 4. Click **Save & Close**. ### Configure the Radio Buttons Component Next, you'll add a [Radio Buttons](https://docs.unqork.io/docs/radio-buttons-component) component so the end-user can select an option to pass to the Data Workflow component. 1. Drag and drop the **Radio Buttons** component onto your canvas,placing it below the `dtCompanies` **Data Table** component. 2. In the **Property ID** field, type `filter`. 3. In the **Label Text** field, enter `Filter by Company`. 4. Set your **Option Label** and **Value to Store in Submission Data** as shown below: | Option Label | Value to Store in Submission Data | | --- | --- | | Unqork | Unqork | | Johnson & Johnson | Johnson & Johnson | | Other | Other | ![A static image displaying the configuration of the filter Radio Button component in Classic Designer.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/CD_Gate%20op_Radio__filter.png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) 5. Click **Save & Close**. ### Configure the Button Component Next, add a [Button](https://docs.unqork.io/docs/button-component) component to trigger an [Initializer](https://docs.unqork.io/docs/initializer-component) component you’ll set up in a later step. 1. Drag and drop a **Button** component onto your canvas, placing it below the `Filter by Company` **Radio Buttons** component. 2. In the **Property ID** field, enter `btnGetAccountValue`. 3. In the **Label Text** field, enter `Get Account Value`. 4. Select **Event** as the **Action Type**. 5. In the **Trigger on Click** field, type `initOnClick`. 6. Set the **Disable on Invalid Forms** toggle to ![files](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/toggle_ON(13).png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) (ON). ![A static image displaying the configuration of the btnGetAccountValue Button component in the Classic Designer.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/CD_Gate%20op_Button__btnGetAccountValue.png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) 7. Click **Save & Close**. ### Configure the Number Component Now, you'll display the account value associated with its account name. You'll add a [Number](https://docs.unqork.io/docs/number-component) component to display unblocked data. 1. Drag and drop a **Number** component onto your canvas. Place it below the `btnGetAccountValue` **Button** component. 2. In the **Property ID** field, enter `accountValue`. 3. In the **Label Text** field, enter `Account Value`. 4. Set **Show Thousands Separator** to ![files](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/toggle_ON(13).png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) (ON). ![A static image displaying the configuration of the accountValue Number component in Classic Designer.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/CD_Gate%20op_Number_accountValue.png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) 5. Click **Save & Close**. ### Configure the Initializer Component Then you'll want to add an [Initializer](/v1/docs/initializer-component) component to run the application every time the end-user clicks the button. That way, the application returns different results without refreshing the page. 1. Drag and drop an **Initializer** component onto your canvas, placing it below the `btnGetAccountValue` **Button** component. 2. In the **Property ID** and **Canvas Label Text** fields, enter `initOnClick`. 3. In the **Outputs** table, enter the following: | Property ID | Type | Value | | --- | --- | --- | | accountValue | clear | yes | | dwfFilterWithGate | trigger | GO | ![A static image displaying the configuration fo the intiOnClick Initializer component in Classic Designer.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/CD_Gate%20op_Initializer_initOnClick.png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) 4. Click **Save & Close**. ### Configure the Data Workflow Component Next, you'll add a [Data Workflow](/v1/docs/data-workflow-component) component to retrieve data from the `dtCompanies` **Data Table** component and filter it through your [Filter](/v1/docs/filter-operator) and [Gate](/v1/docs/gate-operator) operators. The results will display in the `accountValue` **Number** component. 1. Drag and drop a **Data Workflow** component onto your canvas, placing it below the `initOnClick` **Initializer** component. 2. In the **Canvas Label Text** and **Property Name** fields, enter `dwfFilterWithGate`. #### Configure the First Input Operator 1. Drag and drop an **Input** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Input | | Component | filter | | Required | Yes | | Source | Default | #### Configure the Second Input Operator 1. Drag and drop another **Input** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Input | | Component | dtCompanies | | Required | Yes | | Source | Default | #### Configure the Filter Operator Next, you'll add a [Filter](/v1/docs/filter-operator) operator so that when the input matches the Filter operator's expression, it passes through the **true** output port. For this example, the input is the data from the `dtCompanies` **Data Table** component and the expression is the end-user's Radio Buttons component selection. 1. Drag and drop a **Filter** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Filter | | Label | Account Name | | Do Not Sanitize Formula | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Checked_Box(7).png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) (checked) | | Expression | accountName = _arg | 3. Connect the output port (right) of the `filter` **Input** operator to the argument port (top) of the `Account Name` **Filter** operator. 4. Connect the output port (right) of the `dtCompanies` **Input** operator to the input port (left) of the `Account Name` **Filter** operator. #### Configure the First Console Operator This [Console](/v1/docs/console-operator) operator displays the Data Workflow's progress after your data passes through the `Account Name` **Filter** 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 | Filter True | 3. Connect the upper output port (right) of the `Account Name` **Filter** operator to the input port (left) of the `Filter True` **Console** operator. #### Configure the Second Console Operator This Console operator lets you determine if your data returns **false** as it passes through the `Account Name` **Filter** 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 | Filter False | 3. Connect the lower output port (right) of the `Account Name` **Filter** operator to the input port (left) of the `Filter False` **Console** operator. #### Configure the Size Operator You’ll use a [Size](https://docs.unqork.io/docs/sizeoperator) operator to convert your data into a number value. The `dtCompanies` **Data Table** component stores your data as an array. A Size operator measures the length of an array and assigns it a number value. For this module, the data stores one data set, so the size is **1**. If the data does not exist, the operator returns a **0**. You’ll use the Size number value as the argument for the Gate operator you’ll add later. 1. Drag and drop a **Size** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Size | | Label | Convert Number Value | 3. Connect the upper output port (right) of the `Account Name` **Filter** operator to the input port (left) of the `Convert Number Value` **Size** operator. #### Configure the Gate Operator Next, you'll add a [Gate](/v1/docs/gate-operator) operator to block all values that are **0** or that do not exist. 1. Drag and drop a **Gate** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Gate | | Label | _arg > 0 | | Do Not Sanitize Formula | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Checked_Box(7).png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) (checked) | | Condition | _arg > 0 | 3. Connect the upper output port (right) of the `Account Name` **Filter** operator to the input port (left) of the `_arg > 0` **Gate** operator. 4. Connect the output port (right) of the `Size of Result` **Size** operator to the argument port (top) of the `_arg > 0` **Gate** operator. #### Configure the Third Console Operator Then, you'll add another Console operator to view your data's progress after passing through the Gate 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 | Gate Output | 3. Connect the output port (right) of the `_arg > 0` **Gate** operator to the input port (left) of the `Gate Output` **Console** operator. #### Configure the Get Operator At this point, your data consists of the account name and value. You only want to output the account value for the end-user to view. You'll use the [Get](/v1/docs/get-operator) operator to separate the account value from the data and then pass it to the output. 1. Drag and drop a **Get** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Get | | Label | accountValue | | Path | [0].accountValue | 3. Connect the output port (right) of the `_arg > 0` **Gate** operator to the input port (left) of the `accountValue` **Get** operator. #### Configure the Fourth Console Operator You'll add one more Console operator to view your data's progress after passing through the Get 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 | Get [0] accountValue | 3. Connect the lower output port (right) of the `accountValue` **Get** operator to the input port (left) of the `Get [0] accountValue` **Console** operator. #### Configure the Output Operator 1. Drag and drop an **Output** operator onto your Data Workflow canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Output | | Component | accountValue | | Action | value | 3. Connect the output port (right) of the `accountValue` **Get** operator to the input port (left) of the `accountValue` **Output** operator. ![A static image displaying the configuration of the dwfFilterWithGate Data Workflow in Classic Designer.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/CD_Gate%20op_Data%20Workflow_dwfFilterWithGate%20(1).png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) 4. Click **Save**. 5. **Save** the module. Here's how the completed example looks in the Module Builder: ![A static image displaying the configuration of the Module in the Module Builder of the Classic Designer.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/CD_Gate%20op_Module.png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) Preview the module in Express View and open the DevTools Console. Begin by selecting the **Unqork** radio button. Then, click the **Get Account Value** button to see the account value display in the **Account Value** field. ![A static image displaying the Express View and DevTools Console output for Unqork selection.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/CD_Gate%20op_DevTools%20Console_True%20selection.png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) Now, try using the criteria that do not exist in the data set. Select the **Other** radio button and click the **Get Account Value** button. Now, you'll see that no value displays in the **Account Value** field. ![A static image displaying the Express View and DevTools Console output for Other selection.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/CD_Gate%20op_DevTools%20Console_False%20selection.png?sv=2026-02-06&spr=https&st=2026-11-08T10%3A17%3A57Z&se=2026-11-08T11%3A17%3A57Z&sr=c&sp=r&sig=Tal3PIt7lpXIl%2FAkEU%2FTdGLAML%2BtbCusYtcnDoLsJYw%3D) 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. 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. In Unqork an application is a program used to perform specific tasks. An application can be one of two types: workflow or module. An array is a type of object that stores one or more data types. Data types supported in arrays include numbers, strings, and objects. 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.