--- title: "How to: Add a Proxy Module to a Remote Execute" slug: "how-to-add-a-proxy-module-to-a-remote-execute" description: "Enhance your security with a proxy module in Unqork, ensuring safe remote execution and data integrity while preventing manipulation." updated: 2026-01-05T18:00:08Z published: 2026-01-06T19:09:42Z canonical: "docs.unqork.io/how-to-add-a-proxy-module-to-a-remote-execute" --- > ## 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: Add a Proxy Module to a Remote Execute A **proxy module** adds a layer of security to a [remote execute](/v1/docs/remoteserver-side-execute). A remote execute in Unqork executes a [module](/v1/docs/introduction-to-the-module-builder) behind the scenes or on the server-side. While a remote execute increases security, it can leave data vulnerable to manipulation in the underlying code. A proxy module ensures your remote execute is fully secure. ### What Is a Proxy Module? A proxy module sits between a Front-End module and a Remote Execute or API module. Passing data through a proxy module force-validates the Front-End module’s data after submission. By force-validating, you ensure the data maintains its original form without manipulation. > [!TIP] > For roles that need to initiate the remote execute from an Express module, enhance proxy module security by setting the permissions to `Write`. ## Creating a Proxy Module Learn how to create a proxy module in UDesigner or Classic Designer by clicking on the tabs below: UDesignerClassic Designer ## UDesigner Proxy Module Prerequisites This how-to guide assumes you have a Front-End module that collects the name, phone number, and email address of your end-user, with Property IDs of `name`, `phone`, and `email`, respectively. To ensure security, add a proxy module with the same name, phone number, and email address fields as your Front-End module. The only difference is that your proxy module keeps all these fields hidden. To begin, you need the following modules already configured: - A Front-End module with **name**, **phone**, and **email** data fields. - An API module to perform your necessary remote execute. > [!TIP] > To prevent users from directly executing the API module outside of the proxy module, set the API module permissions to `No Access` for all roles. > [!NOTE] > Ensure both modules exist in the same [application](/v1/docs/introduction-to-unqork-applications). ## Set Up Server Side Execution Enable the **Server Side Execution Only** setting to ensure the proxy module is inaccessible in Express View. 1. At the top right of the Module Builder, click the ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(33).png?sv=2026-02-06&spr=https&st=2026-11-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) **(ellipsis)** button. 2. Select **Module** **Settings**. 3. Set **Server Side Execution Only** 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-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) **(ON)**. ![Settings menu displaying module options and server-side execution features for configuration.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/proxyModuleSettings.webp?sv=2026-02-06&spr=https&st=2026-11-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) 4. Click **Save & Close**. ## Configure the Display & Layout Components For this example, add three [Panel](/v1/docs/panel-component) components to serve as containers for the components. ### Configure the Panel Components The `panelRequest` **P****anel** component manages the data carried over from your Front-End module. The `panelValidate` **P****anel** component manages the remote execute trigger. And, the `panelResponse` **P****anel** component manages error handling. 1. In your proxy module, drag and drop three **P****anel** components onto your canvas. 2. In the **Property ID** and **Canvas Label Text** fields, enter the following for each Panel component: | # | Property ID | Canvas Label Text | | --- | --- | --- | | 1 | panelRequest | panelRequest | | 2 | panelValidate | panelValidate | | 3 | panelResponse | panelResponse | 3. Click **Save Component** after adding each component. ## Data Field Configuration Next, add a range of data components to store the `name`, `phone`, and `email` values. For this how-to guide, the same fields are named as the previous ones in your Front-End module. For other use cases, ensure that the fields expected in your Front-End module are created in the proxy module. ### Configure the `name` Text Field Component First, configure the [Text Field](/v1/docs/text-field-component) component to store the end-user's name. 1. Drag and drop a **T****ext Field** component into the `panelRequest` **P****anel** component. 2. In the **Property ID** field, enter `name`. 3. In the **Label Text** field, enter `Name`. 4. Set **Hide Field** 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-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) **(ON)**. 5. Click **Save Component**. ### Configure the `phone` Phone Number Component Configure the [Phone Number](/v1/docs/phone-number-component) component to store the end-user's phone number. 1. Drag and drop a **P****hone Number** component into the `panelRequest` **P****anel** component. 2. In the **Property ID** field, enter `phone`. 3. In the **Label Text** field, enter `Phone`. 4. Set **Hide Field** 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-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) **(ON)**. 5. Click **Save Component**. ### Configure the `email` Email Component Configure the [Email](/v1/docs/email-component) component to store the end-user's email address. 1. Drag and drop an **Email** component into the `panelRequest` **P****anel** component. 2. In the **Property ID** field, enter `email`. 3. In the **Label Text** field, enter `Email`. 4. Set **Hide Field** 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-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) **(ON)**. 5. Click **Save Component**. ## Validation Configuration Next, set up an [Initializer](/v1/docs/initializer-component) and [Plug-In](/v1/docs/plug-in-component) components to perform the validation. ### Configure the `initValidate` Initializer Component Next, set up the first of two [Initializer](/v1/docs/initializer-component) components. This first Initializer triggers a [Plug-In](/v1/docs/plug-in-component) component that you'll add later. 1. Drag and drop an **I****nitializer** component into the `panelValidate` **P****anel** component. 2. In the **Property ID** and **Canvas Label Text** fields, enter `initValidate`. 3. From the **Trigger Type** drop-down, select **New Submission**. 4. In the **Outputs** table, enter the following: | # | Property ID | Type | Value | | --- | --- | --- | --- | | 1 | pluginValidate | trigger | GO | > [!NOTE] > The Property ID in the Outputs table corresponds to the Plug-In component you'll add in the next section. The Property ID you use in the Outputs table must match the Plug-In component’s Property ID. ![Configuration settings for a new submission trigger and validation output in a software interface.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/proxyInitValidate.webp?sv=2026-02-06&spr=https&st=2026-11-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) 5. Click **Save Component**. ### Configure the `initError` Initializer Component Now, set up the second [Initializer](/v1/docs/initializer-component) component to display an error message if the [Plug-In](/v1/docs/plug-in-component) component fails. 1. Drag and drop an **I****nitializer** component into the `panelValidate` **P****anel** component. 2. In the **Property ID** and **Canvas Label Text** fields, enter `initError`. 3. In the **Outputs** table, enter the following: | # | Property ID | Type | Value | | --- | --- | --- | --- | | 1 | resolution | value | error | > [!NOTE] > The Property ID in the Outputs table corresponds to the [Hidden](/v1/docs/hidden-component) component you'll add later. The Property ID you use in the Outputs table must match the Hidden component’s Property ID. ![Initializer interface displaying property ID, label text, and output table with error.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/proxyInitError.webp?sv=2026-02-06&spr=https&st=2026-11-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) 4. Click **Save Component**. ### Configure the `pluginValidate` Plug-In Component Now that you have your Initializer components, add a [Plug-In](/v1/docs/plug-in-component) component to force-validate the data from your Front-End module as it’s transmitted. 1. Drag and drop a **Plug-In** component between your **I****nitializer** components in the `panelValidate` **P****anel** component. 2. In the **Property ID** and **Canvas Label Text** fields, enter `pluginValidate`. 3. From the **Internal Services** drop-down, select **Execute Module**. 4. From the **Module** drop-down, select your API module. ![Unqork plugin configuration interface showing service type and module selection options.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/proxyPluginValidate1.webp?sv=2026-02-06&spr=https&st=2026-11-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) 5. In the **Inputs** table, enter the following: | # | Property ID | Mapping | | --- | --- | --- | | 1 | name | dataName | | 2 | phone | dataPhone | | 3 | email | dataEmail | | 4 | 'true' | validate | > [!NOTE] > Values in the Property ID column must match the Property IDs of the components copied from your Front-End module. Values in the Mapping column must match the Property IDs with data added, in the format `data.PropertyID`. 6. In the **Outputs** table, enter the following: | # | Property ID | Mapping | | --- | --- | --- | | 1 | resolution | data.resolved.resolution | ![Inputs and outputs for a plugin validation process in a structured format.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/proxyPluginValidate2.webp?sv=2026-02-06&spr=https&st=2026-11-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) 7. Navigate to the **Actions** settings. 8. In the **Error Trigger** field, enter `initError`. 9. Click **Save Component**. ## Error Handling Configuration Next, you'll add a [Hidden](/v1/docs/hidden-component) component to serve as the error handler. ### Configure the Hidden Component This Hidden component populates an error message that only displays to your end-user when your [Plug-In](/v1/docs/plug-in-component) component fails. 1. Drag and drop a **H****idden** component into the `panelResponse` **P****anel** component. 2. In the **Property ID** and **Canvas Label Text** fields, enter `resolution`. 3. Click **Save Component**. 4. **Save** your module. Here's how your completed proxy module looks in the [Module Builder](/v1/docs/introduction-to-the-module-builder): ![Form fields for user input including name, phone, email, and validation options.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/proxyModuleCanvas.webp?sv=2026-02-06&spr=https&st=2026-11-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) ## Classic Designer Proxy Module Prerequisites This how-to guide assumes you have a Front-End module that collects the name, phone number, and email address of your end-user, with Property IDs of `name`, `phone`, and `email`, respectively. To ensure security, add a proxy module with the same name, phone number, and email address fields as your Front-End module. The only difference is that your proxy module keeps all these fields hidden. To begin, you need the following modules already configured: - A Front-End module with **name**, **phone**, and **email** data fields. - An API module to perform your necessary remote execute. > [!TIP] > To prevent users from directly executing the API module outside of the proxy module, set the API module permissions to `No Access` for all roles. > [!NOTE] > Ensure both modules exist in the same [application](/v1/docs/introduction-to-unqork-applications). ## Set Up Server Side Execution Enable the **Server Side Execution Only** setting to ensure the proxy module is inaccessible in Express View. 1. At the top right of the Module Builder, click the ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/image(33).png?sv=2026-02-06&spr=https&st=2026-11-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) **(ellipsis)** button. 2. Select **Settings**. 3. Set **Server Side Execution Only** 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-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) **(ON)**. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Proxy_SSE_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) 4. Click **Save**. The Module Builder updates, replacing the **Preview** button with the **Server-Side Execution** button. ## Display and Layout Configuration For this example, add three [Panel](/v1/docs/panel-component) components to serve as containers for the components. ### Configure the Panel Components The `panelRequest` **P****anel** component manages the data carried over from your Front-End module. The `panelValidate` **P****anel** component manages the remote execute trigger. And, the `panelResponse` **P****anel** component manages error handling. 1. In your proxy module, drag and drop three **P****anel** components onto your canvas. 2. In the **Property ID** and **Label Text** fields, enter the following for each **P****anel** component: | # | Property ID | Label Text | | --- | --- | --- | | 1 | panelRequest | panelRequest | | 2 | panelValidate | panelValidate | | 3 | panelResponse | panelResponse | 3. **Save & Close** each component as you add it. ## Data Field Configuration Next, add a range of data components to store the `name`, `phone`, and `email` values. For this how-to guide, the same fields are named as the previous ones in your Front-End module. For other use cases, ensure that the fields expected in your Front-End module are created in the proxy module. ### Configure the `name` Text Field Component First, configure the [Text Field](/v1/docs/text-field-component) component to store the end-user's name. 1. Drag and drop a **T****ext Field** component into the `panelRequest` **P****anel** component. 2. In the **Property ID** field, enter `name`. 3. In the **Label Text** field, enter `Name`. 4. Set **Hide Field** 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-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) **(ON)**. 5. Click **Save & Close**. ### Configure the `phone` Phone Number Component Configure the [Phone Number](/v1/docs/phone-number-component) component to store the end-user's phone number. 1. Drag and drop a **P****hone Number** component into the `panelRequest` **P****anel** component. 2. In the **Property ID** field, enter `phone`. 3. In the **Label Text** field, enter `Phone`. 4. Set **Hide Field** 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-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) **(ON)**. 5. Click **Save & Close**. ### Configure the `email` Email Component Configure the [Email](/v1/docs/email-component) component to store the end-user's email address. 1. Drag and drop an **Email** component into the `panelRequest` **P****anel** component. 2. In the **Property ID** field, enter `email`. 3. In the **Label Text** field, enter `Email`. 4. Set **Hide Field** 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-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) **(ON)**. 5. Click **Save & Close**. ## Validation Configuration Next, set up an [Initializer](/v1/docs/initializer-component) and [Plug-In](/v1/docs/plug-in-component) components to perform the validation. ### Configure the `initValidate` Initializer Component Next, set up the first of two [Initializer](/v1/docs/initializer-component) components. This first Initializer triggers a [Plug-In](/v1/docs/plug-in-component) component that you'll add later. 1. Drag and drop an **I****nitializer** component into the `panelValidate` **P****anel** component. 2. In the **Property ID** and **Canvas Label Text** fields, enter `initValidate`. 3. To the left of the component's configuration window, select **Actions**. 4. From the **Trigger Type** drop-down, select **New Submission**. 5. In the **Outputs** table, enter the following: | # | Property ID | Type | Value | | --- | --- | --- | --- | | 1 | pluginValidate | trigger | GO | > [!NOTE] > The Property ID in the Outputs table corresponds to the Plug-In component you'll add in the next section. The Property ID you use in the Outputs table must match the Plug-In component’s Property ID. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Proxy_InitValidate_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) 6. Click **Save & Close**. ### Configure the `initError` Initializer Component Now, set up the second [Initializer](/v1/docs/initializer-component) component to display an error message if the [Plug-In](/v1/docs/plug-in-component) component fails. 1. Drag and drop an **I****nitializer** component into the `panelValidate` **P****anel** component. 2. In the **Property ID** and **Label Text** fields, enter `initError`. 3. To the left of the component's configuration window, select **Actions**. 4. From the **Trigger Type** drop-down, select **Manual**. 5. In the **Outputs** table, enter the following: | # | Property ID | Type | Value | | --- | --- | --- | --- | | 1 | resolution | value | error | > [!NOTE] > The Property ID in the Outputs table corresponds to the [Hidden](/v1/docs/hidden-component) component you'll add later. The Property ID you use in the Outputs table must match the Hidden component’s Property ID. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Proxy_InitError_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) 6. Click **Save & Close**. ### Configure the `pluginValidate` Plug-In Component Now that you have your Initializer components, add a [Plug-In](/v1/docs/plug-in-component) component to force-validate the data from your Front-End module as it’s transmitted. 1. Drag and drop a **Plug-In** component between your **I****nitializer** components in the `panelValidate` **P****anel** component. 2. In the **Property ID** and **Canvas Label Text** fields, enter `pluginValidate`. 3. From the **Internal Services** drop-down, select **Execute Module**. 4. From the **Module** drop-down, select your API module. ![](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/Proxy_Plug_01_thumb_0_0.jpg?sv=2026-02-06&spr=https&st=2026-11-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) 5. In the **Inputs** table, enter the following: | Property ID | Mapping | | --- | --- | | name | dataName | | phone | dataPhone | | email | dataEmail | | 'true' | validate | > [!NOTE] > Values in the Property ID column must match the Property IDs of the components copied from your Front-End module. Values in the Mapping column must match the Property IDs with data added, in the format `data.PropertyID`. 6. In the **Outputs** table, enter the following: | Property ID | Mapping | | --- | --- | | resolution | data.resolved.resolution | ![Settings interface showing property ID mappings for inputs and outputs in a plugin.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/pluginValidateProxyClassic.webp?sv=2026-02-06&spr=https&st=2026-11-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) 7. Navigate to the **Actions** settings. 8. In the **Error Trigger** field, enter `initError`. 9. Click **Save**. ## Error Handling Configuration Next, you'll add a [Hidden](/v1/docs/hidden-component) component to serve as the error handler. ### Configure the Hidden Component This Hidden component populates an error message that only displays to your end-user when your [Plug-In](/v1/docs/plug-in-component) component fails. 1. Drag and drop a **H****idden** component into the `panelResponse` **P****anel** component. 2. In the **Property ID** and **Canvas Label Text** fields, enter `resolution`. 3. Click **Save & Close**. 4. **Save** your module. Here's how your completed proxy module looks in the [Module Builder](/v1/docs/introduction-to-the-module-builder): ![Form fields for name, phone, and email in the Proxy Module interface.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/proxyModuleCanvasClassic.webp?sv=2026-02-06&spr=https&st=2026-11-11T13%3A51%3A04Z&se=2026-11-11T14%3A51%3A04Z&sr=c&sp=r&sig=u5g5YsVr6yKILmxvAUqKjrxueOGY2adesUmh5iV9dOk%3D) Front-End (FE) Modules act as the user interface (UI) that end-users see and interact with. FE Modules use Plug-Ins to securly connect to API Modules for executing API calls. APIs (application programming interfaces) are a set of protocols and definitions developers use to build and integrate application software. APIs act as the connective tissue between products and services. The Unqork front-end application framework that delivers Creator-built applications to end-users. Express is the layer end-users interact with—the published forms, screens, and navigation built in the Module Builder. Express is distinct from Express View, which is a Creator-facing preview tool in the IDE. is a codeless and interoperable Unqork IDE (integrated development environment) with a new and improved user experience that allows for a seamless transition for all your applications. It features a modern user interface with new personalization, collaboration, and configuration experiences. Classic Designer is the original codeless application construction platform. It features a Designer View that enables Creators to craft applications using modules and individual components. 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. 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. 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 . Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field.