--- title: "Configure a PM Block" slug: "configure-a-pm-block" updated: 2025-04-17T19:30:28Z published: 2025-04-17T19:30:28Z canonical: "docs.processmaker.com/configure-a-pm-block" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.processmaker.com/llms.txt > Use this file to discover all available pages before exploring further. # Configure a PM Block Configuring a PM Block involves building the configuration settings that Process Designers use to implement how each instance of that PM Block functions. Follow these steps to configure a PM Block **Permissions** Your user account or group membership must have the following permissions to configure a PM Block unless your user account has the **Make this user a Super Admin** setting selected: - PM Blocks: Edit PM Blocks - PM Blocks: View PM Blocks See the [PM Blocks](/v1/docs/permission-descriptions-for-users-and-groups#pm-blocks) permissions or ask your Administrator for assistance. - [Specify the general configuration settings](/v1/docs/configure-a-pm-block#specify-general-configuration-settings-for-a-pm-block). - [Build the configuration panel that displays in Modeler while designing a process](/v1/docs/configure-a-pm-block#build-the-configuration-settings-for-a-pm-block). - [Specify Environment variables that become available for every instance of the PM Block](/v1/docs/configure-a-pm-block#specify-block-global-variables-for-a-pm-block). [Embedded content](https://demos.processmaker.com/embed/clwqt10yn01k9dyktc17ioiju?embed_v=2) --- ## Specify General Configuration Settings for a PM Block Follow these steps to configure general settings for a PM Block: 1. [View your PM Blocks](/v1/docs/pm-blocks#view-all-pm-blocks). The **PM Blocks** page displays. 2. Click the ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/2d7000be-f7c1-47d7-955b-3eb531ffb0f1.png) icon, and then select the **Configure PM Block** option to view the PM Block configuration. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/image(69).png) 3. Edit the following information about the PM Block as necessary: - In the **Name** setting, edit the name for the PM Block. This name must be unique and is required. - In the **Description** setting, edit the description of the PM Block. This is a required setting. - From the **Icon** setting, select an icon for the PM Block. This is a required setting. - From the **Author** setting, edit the name of the user who created the PM Block. This is a required setting. - From the **Version** setting, enter the version of the PM Block. This is a required setting. - From the **Category** drop-down menu, select one or more [PM Block Categories](/v1/docs/pm-blocks). To remove a PM Block Category that is currently selected, click the ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/e7b0a826-892b-45aa-ba7a-e6951e0edbf4.png) icon for that selection or press `Enter` when the drop-down is visible. In the absence of any categories, the PM Block is marked as uncategorized. This is a required setting. - From the **Status** drop-down menu, select the status for this PM Block: - **Active:** Select the **Active** status to make this PM Block available for Process Designers to use in their Process models. - **Inactive:** Select the **Inactive** status to make this PM Block unavailable for Process Designers to use in their Process models. - From the **PM Block Start Event** setting, select the event in the underlying process from where the PM Block functionality begins. - From the **Setup Process Start Event** setting, select the event in the underlying process from where the PM Block instance begins when clicking the Run Setup option. 4. Click **Save** to save the configuration. --- ## Build the PM Block Configuration Panel From the **Panel** tab, add controls to build the configuration panel for the PM Block. This panel is displayed when the PM Block is used while designing a process in the Modeler. Process designers will enter values into these controls when configuring each instance of the PM Block. PM Block configuration may be composed of any of the following controls: - [Checkbox](/v1/docs/checkbox-control) - [Line Input](/v1/docs/line-input-control) - [Loop](/v1/docs/loop-control) - [Rich Text](/v1/docs/rich-text-control) - [Select List](/v1/docs/select-list-control) These control are designed similarly to those in Screen Builder. [Validation rules](/v1/docs/validation-rules-for-screen-controls) can apply to each of these control to verify that the entered value for a PM Block is valid. Follow these steps to build the **Configuration** panel for a PM Block: 1. [View your PM Blocks](/v1/docs/pm-blocks#view-all-pm-blocks). 2. Click the ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/2d7000be-f7c1-47d7-955b-3eb531ffb0f1.png) icon, and then select the **Configure PM Block** option. 3. Click the **Panel** tab. The left pane displays available control that can be added to the configuration. ![68c2aaaf-25f3-43cf-86bc-3435b52ad7ad](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/68c2aaaf-25f3-43cf-86bc-3435b52ad7ad.png) 4. Drag and drop the controls in the required order. These controls will be displayed as the PM Block's settings in the **Configuration** panel within Process Modeler. Provide helper text for each control to instruct the Process Designer how to configure each setting. See the following links for more details on how to use these controls: - [Checkbox](/v1/docs/checkbox-control#inspector-settings) - [Line Input](/v1/docs/line-input-control) - [Loop](/v1/docs/loop-control) - [Rich Text](/v1/docs/rich-text-control#settings) - [Select List](/v1/docs/select-list-control#inspector-settings) 5. Click **Save** to save the configuration. > [!NOTE] > ### Referencing PM Block Variables > > Follow these guidelines to reference the value of a PM Block configuration in Processes: > > 1. Edit the process in the modeler and click the PM Block object to view its properties > 2. Locate the PM Block setting in the **Configuration** panel. > 3. Note its **Variable Name** value. > 4. Reference that control's value by using the `_parent` JSON key within [mustache syntax](https://mustache.github.io/mustache.5.html) `{{ _parent.config.VariableName }}` . The `_parent` JSON key references Request data outside of that PM Block. > 5. If a control is within a loop, use only the variable name in the format `{{ VariableName }}` . --- ## Specify Environment Variables for a PM Block Specify custom settings for this PM Block that store globally available data that may contain personal or authentication information. These variables, called Environment Variables, are similar to [Environment Variables](/v1/docs/environment-variables) but may only be used for that PM Block. For every instance of this PM Block, these Environment Variables generate and become part of that [Request's data](/v1/docs/request-data-and-json). > [!NOTE] > ### Reference a Block Environment Variable's Value in a Process > > To use a Block Environment Variable in a process, use a Script called from a Script Task to get the value of the Environment Variable. Similar to other [Environment Variables](/v1/docs/environment-variables), a Block Environment Variable's value may only be acquired from a Script because these variables often contain personal or authentication information that cannot be viewed. > > See [Environment Variable and Magic Variable Syntax, Usage, SDK, and Script Examples](/v1/docs/environment-variable-and-magic-variable-syntax-usage-sdk-and-script-examples) for examples on how to call Environment Variables using supported programming languages. Follow these steps to specify Environment Variables for a PM Block: 1. [View your PM Blocks](/v1/docs/pm-blocks#view-all-pm-blocks). 2. Click the ellipsis icon ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/2d7000be-f7c1-47d7-955b-3eb531ffb0f1.png), and then select the **Configure PM Block** option. 3. Click the **Environment Variables** tab. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/0da57d22-8ac5-4e46-a3df-cc33eb6bc81c.png) The **Environment Variables** page displays all variables configured for this PM Block: - **Field:** The **Field** column displays the label and helper text for the field. - **Value:** The **Value** column displays the field's value. - **Environment Variable:** The **Environment Variable** column displays the name that must be used to reference it in scripts. 4. Click the **Add Field** button to add a field. (***Note***: If added a field for the first time, click **Edit Fields** and then **Add Field**.) ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/f193c321-8c51-4ba4-bf59-b04c6989167a.png) 5. In the **Field Label** setting, enter a label to easily identify this variable. This is a required setting. 6. In the **Helper Text** setting, enter text that provides information about this variable. This is a required setting. 7. Use the **Select if this value holds sensitive data** checkbox to mask the data for this variable to prevent it from being displayed or copied. Use this setting when this variable may contain personal information, authentication information, or other data to keep private. 8. Click **Add**. The new Block Environment Variable will be added to the **Environment Variables** page. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/f4c0762f-9858-4bb0-911f-269ca45dcdcf.png) The PM Block Environment Variable has the following naming structure: PMB_*ENVIRONMENT_VARIABLE_NAME*_PM_BLOCK_*ID*, where - **PMB:** "PMB" is an acronym for PM Block. - **ENVIRONMENT_VARIABLE_NAME:** This is the name of the environment variable. - **PM_BLOCK:** Static text to indicate that this Environment Variable belongs to a PM Block. - **ID:** This is a unique ID automatically assigned to the Environment Variable. Furthermore, the Environment Variable also displays in the [**Environment Variables** page](/v1/docs/environment-variables). 9. Optionally, click the ellipsis icon ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/2d7000be-f7c1-47d7-955b-3eb531ffb0f1.png), and then select the **Edit Field** option for the Environment variable to edit. The **Edit Field** screen displays. Edit the Environment Variable settings as needed, and then click **Update**. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/a5f9eeaf-6346-48a0-8f90-38b842db19f2.png) 10. Click the **Done** button from the **Environment Variables** tab when all variables are configured properly. --- ### Run a Case of the PM Block Setup The **Run Setup** option allows you run a PM Block Case after selecting a Start Event. By clicking the **Run Setup** button, users can seamlessly trigger the necessary processes, ensuring secure access and proper configuration before proceeding with further actions in the PM Block. Follow the steps below to run a PM Block setup: 1. Select a start event from the Setup Process Start Event setting. 2. Save the configuration to view the **Run Setup** button in the **Environment Variables** tab. 3. Configure the required environment variables for the PM Block. ![Environment Variables Done](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/Environment%20Variables%20Done.png) 4. Click the **Run Setup** option next to the **Edit Fields**. A case for the PM Block will be created to complete the necessary pre-configuration. ![Case for Run Setup](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/Case%20for%20Run%20Setup.png) --- ## Configure Inbound Variables From the **Inbound Configuration** tab, map inbound variables in the JSON format. These variables can then be used while configuring the [PM Block object](/v1/docs/add-a-pm-block-to-a-process) in the Modeler. ![Inbound Configuration](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/Inbound%20Configuration.png) > [!NOTE] > To easily use JSON data in the editor, view the [Data](/v1/docs/open-a-task#task-data) tab for a previously completed task and copy the required JSON data format from there.