--- title: "Gate Operator" slug: "gate-operator" updated: 2025-09-26T04:25:31Z published: 2025-09-26T04:25:31Z canonical: "docs.unqork.io/gate-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. # Gate Operator UDesignerClassic Designer ## Overview The **Gate** operator filters your data based on given criteria. If your data does not meet the criteria, the Gate operator blocks it. Blocking the data frees up your application to improve performance elsewhere. Let's say you build a module that requires an end-user to enter a user name. Suppose you want to transfer an end-user's date of birth from a text field to a data table. Maybe you want to exclude displaying October birth dates. You can use the **Gate operator** to either block or transfer October birthdates. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/gateoperator_thumb_0_0.png?sv=2026-02-06&spr=https&st=2026-11-06T22%3A54%3A31Z&se=2026-11-06T23%3A54%3A31Z&sr=c&sp=r&sig=OsTu4tulrd8neSOeaqORBoNVnV1weFTwohL%2BWgEOyXo%3D) ### Similar Data Workflow Operators The Gate operator is similar to the [Filter](/v1/docs/filter-operator) and [Decision](/v1/docs/decision-operator) operators. Here are the operators compared: - **Gate operator**: Returns only the data that meets your Condition's criteria. If the data does not meet your criteria, the Gate operator blocks it. - **Filter operator**: Separates data that meets your Condition’s criteria from data that does not. Data that meets your criteria passes through one pathway while data that does not meet your criteria passes through another. - **Decision operator**: Separates data that meets your Condition’s criteria from data that does not. But, the Decision operator differs from the Filter operator because it only returns one output. If the input matches the criteria, it it passes through one pathway. If the input does not match the criteria, it passes through another pathway. > You'll find the Gate operator under the [Gateways](/v1/docs/introduction-to-data-workflow-gateways-operators) group to the left of your [Data Workflow](/v1/docs/data-workflow-component) canvas.. ## About the Info Window Here's a breakdown of each setting in the operator's Info window: | **Setting** | Description | | --- | --- | | **Category** | Grayed out and non-adjustable setting indicating the operation type. | | **Label** | Sets the label for your operator, displaying below the operator on your Data Workflow canvas. This field is optional, but set a label if you use more than one of the same operator type. A label helps you identify your operators without opening any Info windows. | | **Do Not Sanitize Formula** | When this checkbox is clear, the operator cleans values coming into or defined in the operator. For example, removing special characters. Some of those special characters include `'`, `$`, `#`, `&amp`. The operator also cleans up complex values. For example, logically breaking up strings of numbers and letters using underscores. A sample module ID can go from `5f6b4cdfabf886024d4de2d3` to `5f_6b_4cdfabf_886024d_4de_2d_3`. Sanitizing improves performance. But, it can also lead to unexpected data behavior. If your Create Field is not behaving as expected, try selecting this box. When selected, the operator uses your values and expressions as-is. This is best when working with complex values or values that should remain unchanged. By default, this setting is selected, which means the operator does not attempt to sanitize. | | **Preserve Argument Type** | When selected, this setting ensures the argument data type is respected when the operator executes. | | **Condition** | Defines the condition of the Gate operator based on the argument (`_arg`) used. When the condition is true, the Gate operator passes the input value to the output. When the condition is false, the Gate operator blocks the input value. When the Gate operator blocks a value, the Data Workflow stops. | ## Adding a Gate Operator You'll configure a module that transfers a username from one [Text Field](/v1/docs/text-field-component) component to another. The Gate operator lets end-users decide if they want their username transferred or not. If the end-user selects chooses not to transfer the username, the transfer is blocked. > [!NOTE] > These instructions assume you have a new module open, saved, and with a title. ### Configure the Text Field Components First, add two [Text Field](/v1/docs/text-field-component) components to your module. The first component collects a username from the end-user. The second displays the username if they choose to confirm it. 1. In the Module Builder, drag and drop two **T****ext Field** components onto your canvas. 2. In the Property ID and Label Text fields, enter the following: | Property ID | Label Text | | --- | --- | | gateInput | Please enter your username. | | gateOutput | Is this the username you'd like to use? | 3. Click **Save Component** for each component after you add it. ### Configure the Radio Buttons Components Next, add a [Radio Buttons](/v1/docs/radio-buttons-component) component so your end-user can select whether they want to confirm their username. 1. Drag and drop a **R****adio Buttons** component onto your canvas, placing it between the **gateInput** and **gateOutput** **T****ext Field** components. 2. In the Property ID field, enter **gateArg**. 3. In the Label Text field, enter `Confirm your username submission?`. 4. Set **Horizontal Layout** 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-06T22%3A54%3A31Z&se=2026-11-06T23%3A54%3A31Z&sr=c&sp=r&sig=OsTu4tulrd8neSOeaqORBoNVnV1weFTwohL%2BWgEOyXo%3D) **(ON)**. 5. In the **Label** and **Value** fields, enter the following: | | Label | Value | | --- | --- | --- | | 1 | Yes | Yes | | 2 | No | No | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/radiobutton_thumb_0_0(4).png?sv=2026-02-06&spr=https&st=2026-11-06T22%3A54%3A31Z&se=2026-11-06T23%3A54%3A31Z&sr=c&sp=r&sig=OsTu4tulrd8neSOeaqORBoNVnV1weFTwohL%2BWgEOyXo%3D) 6. Click **Save Component**. ### Configure the Data Workflow Component Now, add the [Data Workflow](/v1/docs/data-workflow-component) component to retrieve the data from your **gateInput** **T****ext Field** component and pass it through a Gate operator. Then, the results are passed and displayed in the **gateOutput** **T****ext Field** component. 1. Drag and drop a **D****ata Workflow** component onto your canvas, placing it between the **gateArg** **R****adio Buttons** and **gateOutput** **T****ext Field** components. 2. In the Property ID field, enter **dwfGate**. 3. In the Canvas Label Text, enter `dwfGate`. #### Configure the First Input Operator 1. Drag and drop an **I****nput** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Info | | --- | | Category | Input | | Component | gateArg | | Required | Yes | | Source | Default | #### Configure the Second Input Operator 1. Drag and drop an **I****nput** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Info | | --- | | Category | Input | | Component | gateInput | | Required | Yes | | Source | Default | #### Configure the Gate Operator 1. Drag and drop a **G****ate** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Info | | --- | | Category | Gate | | Label | _arg ='Yes' | | Do Not Sanitize Formula | (**checked**) | | Preserve Argument Type | ☐ (**unchecked**) | | Condition | _arg ='Yes' | > [!NOTE] > You'll connect the output port (right) of the **gateArg** **Input** operator to the argument port (top) of the **Gate** operator. The connection passes the Radio Buttons component criteria to the **Gate** operator. The Gate operator blocks the **'No'** criteria from the **gateArg** **Input** operator. 3. Connect the output port (right) of the **gateInput** **I****nput** operator to the input port (left) of the **_arg ='Yes'** **G****ate** operator. 4. Connect the output port (right) of the **gateArg** **I****nput** operator to the argument port (top) of the **_arg ='Yes'** **G****ate** operator. #### Configure the Console Operator 1. Drag and drop a **C****onsole** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Info | | --- | | Category | Console | | Label | Gates _arg='Yes' | 3. Connect the output port (right) of the **_arg ='Yes'** **G****ate** operator to the input port (left) of the **Gates _arg='Yes'** **C****onsole** operator. #### Configure the Output 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 | gateOutput | | Action | value | 3. Connect the output port (right) of the **_arg ='Yes'** **G****ate** operator to the input port (left) of the **gateOutput** **O****utput** operator. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/dataworkflow_thumb_0_0.png?sv=2026-02-06&spr=https&st=2026-11-06T22%3A54%3A31Z&se=2026-11-06T23%3A54%3A31Z&sr=c&sp=r&sig=OsTu4tulrd8neSOeaqORBoNVnV1weFTwohL%2BWgEOyXo%3D) 4. Click **Save Component**. 5. **Save** your module Here's how a completed example looks in the Module Builder: ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/gatefinal_thumb_0_0.png?sv=2026-02-06&spr=https&st=2026-11-06T22%3A54%3A31Z&se=2026-11-06T23%3A54%3A31Z&sr=c&sp=r&sig=OsTu4tulrd8neSOeaqORBoNVnV1weFTwohL%2BWgEOyXo%3D)Preview the module in Express View and open the DevTools Console. Enter `sample_User` in the first field and select **Yes**. When you click **Yes**, `sample_User` displays in the second field. [![This is the static image of the console where the argument is passed successfully.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF_Gate_16_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-06T22%3A54%3A31Z&se=2026-11-06T23%3A54%3A31Z&sr=c&sp=r&sig=OsTu4tulrd8neSOeaqORBoNVnV1weFTwohL%2BWgEOyXo%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF%20Gate%2016.jpg?sv=2026-02-06&spr=https&st=2026-11-06T22%3A54%3A31Z&se=2026-11-06T23%3A54%3A31Z&sr=c&sp=r&sig=OsTu4tulrd8neSOeaqORBoNVnV1weFTwohL%2BWgEOyXo%3D) ## Overview The **Gate** operator filters your data based on given criteria. If your data does not meet the criteria, the Gate operator blocks it. Blocking the data frees up your application to improve performance elsewhere. Let's say you build a module that requires an end-user to enter a user name. Suppose you want to transfer an end-user's date of birth from a text field to a data table. Maybe you want to exclude displaying October birth dates. You can use the **Gate operator** to either block or transfer October birthdates. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Dwf_GateOperator_Info_thumb_0_0.png?sv=2026-02-06&spr=https&st=2026-11-06T22%3A54%3A31Z&se=2026-11-06T23%3A54%3A31Z&sr=c&sp=r&sig=OsTu4tulrd8neSOeaqORBoNVnV1weFTwohL%2BWgEOyXo%3D) ### Similar Data Workflow Operators The Gate operator is similar to the [Filter](/v1/docs/filter-operator) and [Decision](/v1/docs/decision-operator) operators. Here are the operators compared: - **Gate operator**: Returns only the data that meets your Condition's criteria. If the data does not meet your criteria, the Gate operator blocks it. - **Filter operator**: Separates data that meets your Condition’s criteria from data that does not. Data that meets your criteria passes through one pathway while data that does not meet your criteria passes through another. - **Decision operator**: Separates data that meets your Condition’s criteria from data that does not. But, the Decision operator differs from the Filter operator because it only returns one output. If the input matches the criteria, it it passes through one pathway. If the input does not match the criteria, it passes through another pathway. > You'll find the Gate operator under the [Gateways](/v1/docs/introduction-to-data-workflow-gateways-operators) group to the left of your [Data Workflow](/v1/docs/data-workflow-component) canvas.. ## About the Info Window Here's a breakdown of each setting in the Info window: | Setting | Description | | --- | --- | | Category | Grayed out and non-adjustable setting indicating the operation type. | | Label | Sets the label for your operator, displaying below the operator on your Data Workflow canvas. This field is optional, but set a label if you use more than one of the same operator type. A label helps you identify your operators without opening any Info windows. | | Do Not Sanitize Formula | When this checkbox is clear, the operator cleans values coming into or defined in the operator. For example, removing special characters. Some of those special characters include `'`, `$`, `#`, `&amp`. The operator also cleans up complex values. For example, logically breaking up strings of numbers and letters using underscores. A sample module ID can go from `5f6b4cdfabf886024d4de2d3` to `5f_6b_4cdfabf_886024d_4de_2d_3`. Sanitizing improves performance. But, it can also lead to unexpected data behavior. If your Create Field is not behaving as expected, try selecting this box. When selected, the operator uses your values and expressions as-is. This is best when working with complex values or values that should remain unchanged. By default, this setting is selected, which means the operator does not attempt to sanitize. | | Preserve Argument Type | When selected, this setting ensures the argument data type is respected when the operator executes. | | Condition | Defines the condition of the Gate operator based on the argument (`_arg`) used. When the condition is true, the Gate operator passes the input value to the output. When the condition is false, the Gate operator blocks the input value. When the Gate operator blocks a value, the Data Workflow stops. | ## Adding a Gate Operator You'll configure a module that transfers a username from one [Text Field](/v1/docs/text-field-component) component to another. The Gate operator lets end-users decide if they want their username transferred or not. If the end-user selects chooses not to transfer the username, the transfer is blocked. > [!NOTE] > These instructions assume you have a new module open, saved, and with a title. ### Configure the Text Field Components First, add two [Text Field](/v1/docs/text-field-component) components to your module. The first component collects a username from the end-user. The second displays the username if they choose to confirm it. 1. In the Module Builder, drag and drop two **T****ext Field** components onto your canvas. 2. Enter the following Property ID and Label Text: | Property ID | Label Text | | --- | --- | | gateInput | Please enter your username. | | gateOutput | Is this the username you'd like to use? | 3. Click **Save & Close** ### Configure the Radio Buttons Component Next, add a [Radio Buttons](/v1/docs/radio-buttons-component) component so your end-user can select whether they want to confirm their username. 1. Drag and drop a **R****adio Buttons** component onto your canvas, placing it between the **gateInput** and **gateOutput** **T****ext Field** components. 2. In the Property ID field, enter **gateArg**. 3. In the Label Text field, enter `Confirm your username submission?`. 4. Set **Horizontal Layout** 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-06T22%3A54%3A31Z&se=2026-11-06T23%3A54%3A31Z&sr=c&sp=r&sig=OsTu4tulrd8neSOeaqORBoNVnV1weFTwohL%2BWgEOyXo%3D) **(ON)**. 5. In the **Option Label** and **Value to Store in Submission Data** fields, enter the following: | | Option Label | Value to Store in Submission Data | | --- | --- | --- | | 1 | Yes | Yes | | 2 | No | No | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF_Gate_Radio_thumb_0_0.png?sv=2026-02-06&spr=https&st=2026-11-06T22%3A54%3A31Z&se=2026-11-06T23%3A54%3A31Z&sr=c&sp=r&sig=OsTu4tulrd8neSOeaqORBoNVnV1weFTwohL%2BWgEOyXo%3D) 6. Click **Save & Close**. ### Configure the Data Workflow Component Now, add the [Data Workflow](/v1/docs/data-workflow-component) component to retrieve the data from your **gateInput** **T****ext Field** component and pass it through a Gate operator. Then, the results are passed and displayed in the **gateOutput** **T****ext Field** component. 1. Drag and drop a **D****ata Workflow** component onto your canvas, placing it between the **gateArg** **R****adio Buttons** and **gateOutput** **T****ext Field** components. 2. In the **Canvas Label Text** and **Property Name** fields, enter `dwfGate`. [![This is a static image of the final data workflow configuration using a gate operator.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF_Gate_15_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-06T22%3A54%3A31Z&se=2026-11-06T23%3A54%3A31Z&sr=c&sp=r&sig=OsTu4tulrd8neSOeaqORBoNVnV1weFTwohL%2BWgEOyXo%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF%20Gate%2015.jpg?sv=2026-02-06&spr=https&st=2026-11-06T22%3A54%3A31Z&se=2026-11-06T23%3A54%3A31Z&sr=c&sp=r&sig=OsTu4tulrd8neSOeaqORBoNVnV1weFTwohL%2BWgEOyXo%3D) #### Configure the First Input Operator 1. Drag and drop an **I****nput** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Input | | Component | gateArg | | Required | Yes | | Source | Default | #### Configure the Second Input Operator 1. Drag and drop an **I****nput** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Input | | Component | gateInput | | Required | Yes | | Source | Default | #### Configure the Gate Operator 1. Drag and drop a **G****ate** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Gate | | Label | _arg ='Yes' | | Do Not Sanitize Formula | ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(43).png?sv=2026-02-06&spr=https&st=2026-11-06T22%3A54%3A31Z&se=2026-11-06T23%3A54%3A31Z&sr=c&sp=r&sig=OsTu4tulrd8neSOeaqORBoNVnV1weFTwohL%2BWgEOyXo%3D) (**checked**) | | Preserve Argument Type | ☐ (**unchecked**) | | Condition | _arg ='Yes' | > [!NOTE] > You'll connect the output port (right) of the **gateArg** **Input** operator to the argument port (top) of the **Gate** operator. The connection passes the Radio Buttons component criteria to the **Gate** operator. The Gate operator blocks the **'No'** criteria from the **gateArg** **Input** operator. 3. Connect the output port (right) of the **gateInput** **I****nput** operator to the input port (left) of the **_arg ='Yes'****G****ate** operator. 4. Connect the output port (right) of the **gateArg** **I****nput** operator to the argument port (top) of the **_arg ='Yes'****G****ate** operator. #### Configure the Console Operator 1. Drag and drop a **C****onsole** operator onto your **D****ata Workflow** canvas. 2. Configure the operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Console | | Label | Gates _arg='Yes' | 3. Connect the output port (right) of the **_arg ='Yes'****G****ate** operator to the input port (left) of the **Gates _arg='Yes'****C****onsole** operator. #### Configure the Output Operator 1. Drag and drop an **O****utput** operator onto your **D****ata Workflow** canvas. 2. Configure the **O****utput** operator's **Info** window as follows: | Setting | Value | | --- | --- | | Category | Output | | Component | gateOutput | | Action | value | 3. Connect the output port (right) of the **_arg ='Yes'****G****ate** operator to the input port (left) of the **gateOutput****O****utput** operator. 4. Click **Save**. 5. **Save** your module. Here's how a completed example looks in the Module Builder: [![This is a static image of the final configuration.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF_Gate_12_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-06T22%3A54%3A31Z&se=2026-11-06T23%3A54%3A31Z&sr=c&sp=r&sig=OsTu4tulrd8neSOeaqORBoNVnV1weFTwohL%2BWgEOyXo%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF%20Gate%2012.jpg?sv=2026-02-06&spr=https&st=2026-11-06T22%3A54%3A31Z&se=2026-11-06T23%3A54%3A31Z&sr=c&sp=r&sig=OsTu4tulrd8neSOeaqORBoNVnV1weFTwohL%2BWgEOyXo%3D) Preview the module in Express View and open the DevTools Console. Enter `sample_User` in the first field and select **Yes**. When you click **Yes**, `sample_User` displays in the second field. [![This is the static image of the console where the argument is passed successfully.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF_Gate_16_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-06T22%3A54%3A31Z&se=2026-11-06T23%3A54%3A31Z&sr=c&sp=r&sig=OsTu4tulrd8neSOeaqORBoNVnV1weFTwohL%2BWgEOyXo%3D)](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/DWF%20Gate%2016.jpg?sv=2026-02-06&spr=https&st=2026-11-06T22%3A54%3A31Z&se=2026-11-06T23%3A54%3A31Z&sr=c&sp=r&sig=OsTu4tulrd8neSOeaqORBoNVnV1weFTwohL%2BWgEOyXo%3D) ## Resources - [Gate Operator Use Case: Block Missing Data](https://docs.unqork.io/Content/A06-ModEditor-Data_Workflow/A0603-Gateways/A0603004B-Gate_Operator_Use Case_Blocking_Missing_Data.htm?Highlight=gate) - [What's the difference between the Gate, Decision, and Branch Split/Merge operators?](/v1/docs/decision-operator) - [Filter Operator](/v1/docs/filter-operator) - [Modify the Gate operator in the Data Workflow's configuration window](/v1/docs/modifying-data-workflow-operators). 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. 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. Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field. 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. The DevTools Console helps you securely store, build, test, and deploy your software.