--- title: "Sub Process" slug: "sub-process" updated: 2026-02-10T21:56:47Z published: 2026-02-10T21:56:47Z canonical: "docs.processmaker.com/sub-process" --- > ## 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. # Sub Process A Sub Process object calls a Sub Process that can be re-used by other Processes. The Sub Process that the Sub Process object calls is referred to as the "child" Sub Process and must be an external Process from the calling Process it (referred to as the "parent" Process). The child Sub Process that the Sub Process object calls from the parent Process's Request must be in the same ProcessMaker Platform instance and not [archived](/v1/docs/archive-and-restore-a-process). The child Sub Process has its own Request. The Request for the parent Process waits until the child Sub Process's Request completes before its workflow continues. When the child Sub Process's Request completes, the parent Process's Request continues from the Sub Process object. To prevent routing for the parent Process's Request from waiting until the child Sub Process's Request completes, use a Parallel Gateway object preceding the Sub Process object. Use a parallel outgoing [Sequence Flow](/v1/docs/sequence-flow-element) object from the Parallel Gateway object to continue routing the parent Process while the Sub Process object waits for the child Sub Process's Request to complete. --- ## Add a Sub Process to the Process Model **Permissions** Your user account or group membership must have the following permissions to configure a Sub Process object in the Process model unless your user account has the **Make this user a Super Admin** setting selected: - Processes: Edit Processes - Processes: View Processes See the [Process](/v1/docs/permission-descriptions-for-users-and-groups#processes) permissions or ask your Administrator for assistance. Add a Sub Process object from one of the following locations in Process Modeler: - **Object Panel:** Located to the left of the Process Modeler, the Object Panel contains various process modeling objects. - **Object Bar:** Located at the bottom of the Process Modeler, the Object Bar contains [pinned](/v1/docs/process-modeler#pin-and-unpin-objects) Process modeling objects for quick access. Add from the Object panelAdd from the Object bar Follow these steps to add a Sub Process from the Object panel to the Process model: 1. Ensure that the Object panel is visible. If not, click the **Add** icon ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/dfcd09d3-81d8-4f64-a638-50c9e8c613d1.png) from the Object bar at the bottom. 2. Click the **Task** object ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/f4ee5488-6ee7-4499-9874-3b351cb5072d.png) from the Object panel to select it. 3. Click the location in the Process model to place this object. Follow these guidelines when placing this object: - If your process has a Pool object, the object cannot be placed outside of the Pool object. - To place this object between two existing objects, follow [these instructions](/v1/docs/sequence-flow-element#place-an-object-between-two-process-model-objects-already-connected-with-a-sequence-flow-element). 4. Click the **Objects** drop-down menu, and then select the **Script Task** option. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/2007bf4e-6540-4510-9ed6-9e6e67d4a2b8.png) The Sub Process object displays. ![0789ee08-b98d-45b0-9bce-060002d4862b](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/0789ee08-b98d-45b0-9bce-060002d4862b.png) Follow these steps to add a Sub Process object from the Object bar to the Process model: 1. Ensure that the object is pinned to the Object bar. If not, [see instructions to pin it](/v1/docs/process-modeler#pin-and-unpin-objects). 2. In the Object bar at the bottom center, click the object's icon. 3. Click the location in the Process model to place this object. Follow these guidelines when placing this object: - If your process has a Pool object, the object cannot be placed outside of the Pool. - To place this object between two existing objects, follow [these instructions](/v1/docs/sequence-flow-element#place-an-object-between-two-process-model-objects-already-connected-with-a-sequence-flow-element). 4. Click the **Objects** drop-down menu, and then select the **Script Task** option. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/2007bf4e-6540-4510-9ed6-9e6e67d4a2b8.png) The Sub Process object displays. ![0789ee08-b98d-45b0-9bce-060002d4862b](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/0789ee08-b98d-45b0-9bce-060002d4862b.png) **Add boundary events** After adding an object to a process, consider adding the following events to handle exceptions: - [Boundary Timer Event](/v1/docs/boundary-timer-event) element - [Boundary Error Event](/v1/docs/boundary-error-event) element - [Boundary Signal Event](/v1/docs/boundary-signal-event) element - [Boundary Conditional Event](/v1/docs/boundary-conditional-event) element - [Boundary Message Event](/v1/docs/boundary-message-event) element **Adjust location and appearance** - [Move a Process Model Object.](/v1/docs/process-modeler#move-process-model-objects) - [Connect Two Process Model Objects with a Sequence Flow Element.](/v1/docs/sequence-flow-element#connect-two-process-model-objects-with-a-sequence-flow-element) - [Customize the Appearance of a Process Model Object.](/v1/docs/customize-the-appearance-of-a-process-model-object) - [Copy Process Model Objects into the Clipboard.](/v1/docs/process-modeler#copy-process-model-objects-into-the-clipboard) - [Clone Process Model Objects Without the Clipboard.](/v1/docs/process-modeler#clone-process-model-objects) - [Delete Process Model Objects.](/v1/docs/process-modeler#delete-process-model-objects) ## Replace a Sub Process Object with a Task Type Object After a Sub Process object is [added to a Process model](/v1/docs/sub-process#add-a-sub-process-element), you may replace it with a Task type object: - [Form Task](/v1/docs/form-task) object - [Manual Task](/v1/docs/manual-task) object - [Script Task](/v1/docs/script-task) object The selected Sub Process object is replaced by the default settings and color of the replacing object. Follow these steps to replace a Sub Process object with a Task type object: 1. Select the Sub Process object to change to another object. Available options display above the selected object. 2. Click the **Objects** icon. The **Objects** drop-down menu displays the Task type objects and the Sub Process object. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/281cfdc4-36f5-44f3-b46f-9bedbf8d2d75.png) 3. Select the **object** to replace the Sub Process object. The **Change Type** screen displays to confirm replacing the currently selected **object**. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/620fb537-674f-4dc7-88e9-41aac08db814.png) 4. Click **Confirm**. The new **object** replaces the Sub Process object with its default settings and color. --- ## Settings The Sub Process object has the following panels that contain settings: - [**Properties**](/v1/docs/sub-process#properties-panel-settings) panel - [**Loop Characteristics**](/v1/docs/sub-process#loop-characteristics-panel-settings) panel - [**Documentation**](/v1/docs/sub-process#documentation-panel-settings) panel - [**Assignment Rules**](/v1/docs/sub-process#assignment-rules-panel-settings) panel - [**Advanced**](/v1/docs/sub-process#advanced-panel-settings) panel --- ### Properties Panel Settings The Sub Process object has the following settings in the **Properties** panel: #### Edit the Object Name An object name is a human-readable reference for a Process object. Process Modeler automatically assigns the name of a Process object with its object type. However, an object's name can be changed. Follow these steps to edit the name for a Sub Process object: 1. Select the Sub Process object from the Process model in which to edit its name. 2. Ensure that the **Configuration** panel displays. If not, [show it](/v1/docs/show-configuration-settings-for-a-process-model-object). The **Name** setting displays. This is a required setting. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/6b9b8586-f568-477c-bd77-87d577ac91c3.png) 3. In the **Name** setting, edit the selected object's name and then press **Enter**. #### Select the "Child" Sub Process This Object Calls The Sub Process object calls a Sub Process when it triggers. The Sub Process is referred to as a "child" Process, while the calling Process is referred to as the "parent" Process. The child Sub Process must in the same ProcessMaker instance as the parent Process and not [archived](/v1/docs/archive-and-restore-a-process). The child Sub Process has its own Request. The Request for the parent Process waits until the child Sub Process's Request completes before its workflow continues. When the child Sub Process's Request completes, the parent Process's Request continues from the Sub Process object. > [!WARNING] > The child Process must have at least one [Start Event](/v1/docs/start-event) object from which to start its Request. Other Start-type BPMN objects result in an invalid parent Process error when this Sub Process object calls the child Process to start its Request. > > As a best practice, verify that the child Process contains a Start Event object prior to completing design for the Process using this Sub Process object. > [!NOTE] > To prevent routing for the parent Process's Request from waiting until the child Sub Process's Request completes, use a [Parallel Gateway](/v1/docs/parallel-gateway) object preceding the Sub Process object. Use a parallel outgoing [Sequence Flow](/v1/docs/sequence-flow-element) object from the Parallel Gateway object to continue routing the parent Process while the Sub Process object waits for the child Sub Process's Request to complete. Follow these steps to select the child Sub Process the Sub Process object calls when it triggers: 1. Select the Sub Process object from the Process model in which to select the child Sub Process that object calls. 2. Ensure that the **Configuration** panel displays. If not, [show it](/v1/docs/show-configuration-settings-for-a-process-model-object). Panels to configure this object display. 3. Expand the **Configuration** panel if it is not presently expanded, and then locate the **Process** setting. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/a7bcd55e-e526-4a3b-a22d-e3fa24b08352.png) 4. From the **Process** drop-down menu, select which child Sub Process the Sub Process object calls when it triggers. This is a required setting. After selecting a Process from the **Process** drop-down menu, the **Start Event** setting displays. A Start Event object from the selected Process displays in the **Start Event** drop-down menu. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/63c589b5-2604-4b4c-8802-16d640849787.png) 5. From the **Start Event** drop-down menu, select another Start Event object from the child Process that this Sub Process object calls to start a Request if the default Start Event object is not to be called. Optionally click the **Open Process** option below the **Start Event** drop-down menu to review the selected Process model in a new Web browser window. #### Add a Placeholder for the Slideshow Mode The Slideshow Mode makes it easy for process designers to share the design of a process with all stakeholders, regardless of whether they have access to the ProcessMaker Platform. For more information on how to create slideshows for a process, see [Slideshow Mode.](/summer-2024/A7mdugENW7gZw1jmnrOv/designer-modeler/process-design/slideshow-mode) Follow these steps to add a placeholder image for the Slideshow Mode: 1. Select the Form Task object from the Process model. 2. Click the ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/setting(5).png) icon to view the **Configuration** panel. 3. From the **Placeholder for Slideshow** section, click on the **+Drag or click here** button to upload an image. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/image(295).png) 4. A preview of the image will display, and the configuration will be auto-saved. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/image(296).png) 5. The uploaded image will be shown for this task the next time the slideshow is viewed. ***Notes:*** - *Size of a placeholder image for slideshows must less than 2 MB.* - *Image files with PNG, JPG, JPEG, and GIF extensions are supported.* --- ### Loop Characteristics Panel Settings Use the **Loop Activity** panel settings to specify how to perform multiple instances of this object. The following loop modes are available: #### No Loop Mode Select the **No Loop Mode** option to perform this object's Task only once. Follow these steps to specify characteristics to perform multiple instances of the Task:‌ 1. Select the Task from the Process model. Panels to configure this object display. 2. Expand the **Loop Activity** panel. By default, the **Loop Mode** setting is set to **No Loop Mode** and the function is performed only once. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/image(291).png) #### Loop Select the **Loop** option to sequentially repeat this Task's function multiple times until an exit condition is `True`. This is useful when a function should be performed multiple times with the same set of data, such as, processing a credit card payment. This loop mode has the following characteristics: - The Task's function is repeated until the exit condition is `True` or the maximum iterations limit is reached. - At any given time, only one instance of the Task is active. The subsequent instance does not begin until the current instance completes. - The same exit condition evaluates at the end of each instance; however, value(s) of the Request variable(s) used in the exit condition can change during an instance resulting in the exit condition to eventually evaluate as `True`. - If any one instance of that function does not complete, workflow pauses. - All active instances are terminated if an interrupting boundary-type event object triggers.![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/load.png) An object configured in this mode shows the **Loop** icon in Process Modeler. Follow these steps to specify characteristics to perform multiple instances of the Task:‌ 1. Select the Task from the Process model in which to specify multiple instance characteristics. Panels to configure this object display. 2. Expand the **Loop Activity** panel to display the **Loop** Mode Setting. 3. From the **Loop Mode** setting, select the **Loop** option. The settings for this loop mode display: ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/image(292).png) 4. In the **Maximum Iterations** setting, enter an integer value representing the maximum number of times this Task should be performed. 5. In the **Exit Condition** setting, enter a condition in FEEL syntax. When this condition is True the loop activity is halted. #### Multi-instance (Sequential) Select the **Multi-instance (Parallel)** option to perform this Task's Task multiple times in parallel a fixed number of times. This is useful when performing any action in bulk, such as sending an email to several people. This loop mode has the following characteristics: - Instances of the Task are governed by the size of an array-type Request variable where a new instance is created for each item in this variable. For example, an array with 10 items will create 10 parallel instances of this function that each contains data from its respective array index. - All instances begin simultaneously when this Task triggers; however, they perform their function independently of each other. - The function as a whole completes when all instances are complete. - The output from each instance can either be saved in the source Request variable or a new array-type Request variable. - All active instances terminate if an interrupting boundary-type event object triggers. - A Task configured in this mode shows the Multi-instance (Parallel) icon![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/lines.png) in Process Modeler. Follow these steps to specify characteristics to perform multiple instances of the Task:‌ 1. Select the Task from the Process model in which to specify multiple instance characteristics. Panels to configure this object display. 2. Expand the **Loop Activity** panel to display the **Loop Mode** Setting. 3. From the **Loop Mode** setting, select the **Multi-instance (Parallel)** option. The settings for this loop mode display: ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/image(293).png) 4. In the **Request Variable Array** setting, enter the name of an array-type Request variable. The size of this array will determine how many times this loop iterates. 5. In the **Output Data Variable** setting, enter the name of an array-type Request variable in which to store the results of all instances. Each instance of the loop saves to a separate JSON object within the array of the specified Request variable. If the **Output Data Variable** setting is not configured, then the output data replaces the source data in the **Request Variable Array**. #### Multi-instance(Sequential) Select the **Multi-instance (Sequential)** option to perform this Task's function multiple times sequentially a fixed number of times or until an exit condition is `True`. This is useful when sequentially repeating a function multiple times but with a different set of data each time. This loop mode has the following characteristics: - Instances of the function are governed by the size an array-type Request variable where a new instance is created for each item in this variable. For example, an array with 10 items will create 10 parallel instances of this function that each contains data from its respect array index. - At any given time, only one instance of the function is active. The subsequent instance does not begin until the current instance completes. - At the end of each instance an exit condition evaluates and the loop activity halts if the exit condition is `True`. - The function as a whole completes when all instances are complete. - The output from each instance can either be saved in the source Request variable or a new array-type Request variable. - All active instances terminate if an interrupting boundary-type event object triggers. - A Task configured in this mode shows the Multi-instance (Sequential) icon![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/setting(4).png)in Process Modeler. Follow these steps to specify characteristics to perform multiple instances of the Task:‌ 1. Select the Task from the Process model in which to specify multiple instance characteristics. Panels to configure this object display. 2. Expand the **Loop Activity** panel to display the **Loop Mode** Setting. 3. From the **Loop Mode** setting, select the **Multi-instance (Sequential)** option. The settings for this loop mode display: ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/image(294).png) 4. In the **Request Variable Array** setting, enter the name of an array-type Request variable. The size of this array will determine how many times this loop iterates. 5. In the **Exit Condition** setting, enter a condition in FEEL syntax. When this condition is True the loop activity is halted. 6. In the **Output Data Variable** setting, enter the name of an array-type Request variable in which to store the results of all instances. Each instance of the loop saves to a separate JSON object within the array of the specified Request variable. If the **Output Data Variable** setting is not configured, then the output data replaces the source data in the **Request Variable Array**. --- ### Documentation Panel Settings Describe the object's purpose and how it functions in the Process. This description does not affect Requests for the Process, but may be useful for Process model maintenance such as how the object is configured. Edit information by using the What-You-See-Is-What-You-Get (WYSIWYG) rich text editor. A Process's entered documentation displays by selecting the [**View Documentation** icon for that Process](/v1/docs/view-documentation-for-a-process). #### Edit the Object's Description Displayed in Process Documentation Follow these steps to edit the description for an object: 1. Select the object from the Process model in which to edit its description. 2. Ensure that the **Configuration** panel displays. If not, [show it](/v1/docs/show-configuration-settings-for-a-process-model-object). Panels to configure this object display. 3. Expand the **Documentation** panel if it is not presently expanded. The **Description** setting displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/a715caf9-1fc6-474c-af2f-2dc4b921c9c3.png) 4. In the **Description** setting, edit the information to display when viewing documentation for this object and then press **Enter**. Alternatively, use the What-You-See-Is-What-You-Get (WYSIWYG) rich text editor to stylize your text by clicking the **More** icon ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/181355cc-c63d-46a7-836f-2480139d50af.png). ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/3a77da01-caa7-4baf-9364-a25b9b6341be.png) Follow these guidelines to use the WYSIWYG rich text editor to stylize your text: - **Undo changes:** Click on the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/0e8570ba-39de-477e-8ccb-83b241b661ec.png)icon to undo the last action. - **Redo changes:** Click on the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/a9623052-0a48-4c1c-b6c4-5b519eedd284.png)icon to redo the last undone action. - **Insert/Edit Link**: Click on the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/7e590b59-d81a-4b89-92e2-3a27f0016200.png)icon to convert the selected text into a hyperlink. Follow these steps to create a hyperlink: 1. Select the required text from the Rich Text control. 2. Click on the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/7e590b59-d81a-4b89-92e2-3a27f0016200.png)icon. The **Insert/Edit Link** screen displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/825c3221-7fe5-4a13-b5a1-dad6a0d01fd0.png) 3. In the **URL** setting, enter the destination URL. 4. In the **Text to display** setting, edit or enter the text displayed in the Rich Text control. 5. In the **Title** setting, enter the text to display when a user hovers over the displayed text. 6. From **Open link in…** drop-down menu, select one of these options: - **New window**: Select this option to open the destination page in a new browser window. - **Current window**: Select this option to open the destination page in the current browser window. - **Insert/Edit Image:** Click on the **Insert/Edit Image** icon![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/3da28788-60fa-4b05-91d6-17e7efa59476.png)to insert an image. Follow these guidelines: 1. Click on the **Insert/Edit Image** icon![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/3da28788-60fa-4b05-91d6-17e7efa59476.png). 2. The **Insert/Edit Image** screen displays: ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/c4401f66-55a9-4ecd-957b-26e981913e26.png) 3. In the **Source** setting, enter a URL for the image. 4. In the **Alternative Description** setting, enter the text to display if the source URL of the image is not accessible. 5. In the **Width** setting, enter the maximum width for the image. 6. In the **Height** setting, enter the maximum height for the image. 7. Toggle the **Constrain Proportions** icon![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/5ae7d755-6da9-488b-b116-83af6c0957be.png)to maintain the width-height ratio of the image to its original proportion. 8. Click **Save**. - **Insert Page Break for PDF:** Click on the **Insert Page Break for PDF** icon![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/1865bf52-824e-4037-85ca-5cb8da84f59e.png)to insert a page break when a PDF document is created for this documentation if your browser supports this feature. - **Format text**: Follow these guidelines to format text: - **Headings**: From the **Paragraph/Formats** menu, select **Headings** and then select a heading size. - **Bold:** Do one of the following: - From the editor toolbar, select the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/2fdb4622-96a3-4f4e-bda5-6e3e3a4f0998.png)icon. - From the **Paragraph/Formats** menu, select **Inline** and then **Bold**. - **Italics:** Do one of the following: - From the editor toolbar, select the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/8a8b5c86-10b4-407d-b244-da6f13544948.png)icon. - From the **Paragraph/Formats** menu, select **Inline** and then **Italic**. - **Underline**: From the **Paragraph/Formats** menu, select **Inline** and then **Underline**. - **Strikethrough**: From the **Paragraph/Formats** menu, select **Inline** and then **Strikethrough**. - **Superscript**: From the **Paragraph/** **Formats** menu, select **Inline** and then **Superscript**. - **Subscript**: From the **Paragraph/Formats** menu, select **Inline** and then **Subscript**. - **Code**: From the **Paragraph/Formats** menu, select Inline and then **Code**. - **Paragraph**: From the **Paragraph/Formats** menu, select **Blocks** and then **Paragraph**. - **Blockquote**: From the **Paragraph/Formats** menu, select **Blocks** and then **Blockquote**. - **Division**: From the **Paragraph/Formats** menu, select **Blocks** and then **Div**. - **Preformatted**: From the **Paragraph/Formats** menu, select **Blocks** and then **Pre**. - **Change text color**: Use the **Text Color** drop-down to change text color. Click on the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/d9aacdc6-e6a1-457d-9292-ca921c176b13.png)icon. The color palette displays. Do one of the following: - Select one of the color swatches from the color palette. The selected text changes to that color. - Click the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/18b999ed-1730-460c-9e09-f5984c3c903a.png)icon to select a custom color from the **Color Picker**. - Click the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/9ab2d4b3-f15c-46ee-94ed-37a9d3ad54c5.png)icon to reset the text to its default color. - **Align text**: Follow these guidelines to align text: - **Left align:** Do one of the following: - From the editor toolbar, use the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/45d8a561-01b3-465d-8616-bfc04019f9e8.png)icon to left-align text. - From the **Paragraph/Formats** menu, select **Align** and then **Left**. - **Center align:** Do one of the following: - From the editor toolbar, use the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/64b5f3f1-32ad-4baf-a5ff-512d27e1fed7.png)icon to center-align text. - From the **Paragraph/Formats** menu, select **Align** and then **Center**. - **Right align**: Do one of the following: - From the editor toolbar, use the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/0e183332-44a1-4934-884e-c3796e485d06.png)icon to right-align text. - From the **Paragraph/Formats** menu, select **Align** and then **Right**. - **Justify**: Do one of the following: - From the editor toolbar, use the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/3b33b179-3852-40f5-bc64-f8b4b512081a.png)icon to justify text. - From the **Paragraph/Formats** menu, select **Align** and then **Justify**. - **Insert a bullet list**: Use the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/eb0b2cbf-285e-4f81-89f0-e26115c9f5ac.png)icon to format text as a bulleted list. - **Insert a numbered list:** Use the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/53f84928-17bc-4df8-92a4-c25b18ba0bf2.png)icon to format text as a numbered list. - **Indent text**: Click on the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/0b6c0622-39a9-4101-bf8d-610290839286.png)icon to increase text indenting. - **Outdent text:** Click on the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/f28860f0-f4ff-4be1-b251-b3fa878e57af.png)icon to decrease text indenting. --- ### Assignment Rules Panel Settings Select who may start Requests for the "child" Sub Process selected from the [**Process** setting](/v1/docs/sub-process#select-the-child-sub-process-this-element-calls): - **Anonymous:** Any person may start Requests for the child Sub Process. Ensure that the child Sub Process contains a [Start Event](/v1/docs/start-event#web-entry-panel-settings) object configured to allow anonymous [Web Entry](/v1/docs/start-event#web-entry-panel-settings); otherwise, that Start Event object only allows authenticated users to start Requests for the child Sub Process. - **Requester:** Only the person who started that Request for the "parent" Process may start Requests for the child Sub Process. This user is known as the Request starter. - **Users and/or groups:** Selected users and/or all members of selected groups may start Requests for the child Sub Process. - **Previous Task assignee:** Only the previous Task assignee in that Request may start Requests for the child Sub Process. - **By User ID:** A user based on a **Variable Name** value as entered into a [Screen](/v1/docs/screens) during a previous Task in that Request may start Requests for the child Sub Process. For example, if a [Line Input control](/v1/docs/line-input-control) in a Screen has the **Variable Name** value of `Name`, to contain a user's name, then use that value to thereby select that user to start Sub child Process Requests. #### Select Who May Start Requests for the "Child" Sub Process Follow these steps to select who may start Requests for the child Sub Process: 1. Select the Sub Process object from the Process model in which to select who may start Requests for the child Sub Process. 2. Ensure that the **Configuration** panel displays. If not, [show it](/v1/docs/show-configuration-settings-for-a-process-model-object). Panels to configure this object display. 3. Expand the **Assignment Rules** panel if it is not presently expanded. The **Start Sub Process As** setting displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/512e86e0-eb45-4339-a181-386a2a40a37a.png) 4. From the **Start Sub Process As** drop-down menu, select one of the following options: - **Anonymous:** Select **Anonymous** to allow any person to start Requests for the child Sub Process. Ensure that the child Process contains a [Start Event](/v1/docs/start-event#web-entry-panel-settings) object configured to allow anonymous [Web Entry](/v1/docs/start-event#web-entry-panel-settings); otherwise, that Start Event object only allows authenticated users to start Requests of the child Sub Process. - **Requester:** Select **Requester** to only allow the Request starter to start Requests for the child Sub Process. - **Users and/or Groups:** Select **Users/Groups** to choose specific users and/or all members of specific groups may start Requests for the child Sub Process. When this option is selected, the **Assigned Users/Groups** drop-down menu displays below the **Start Sub Process As** drop-down menu. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/4b60cb9a-d2c7-44cc-a06e-27a4e366de6c.png) From the **Assigned Users/Groups** drop-down menu, select as all users and/or groups that may start Requests for the child Process. Multiple ProcessMaker users and/or groups may be added, one at a time, to this setting. You may click the Remove icon to remove a selection from the **Assigned Users/Groups** drop-down menu. - **Previous Task Assignee:** Select **Previous Task Assignee** to only allow the previous Task assignee in that Request to start Requests for the child Sub Process. - **By User ID:** Select **By User ID** to select a user based on a **Variable Name** value as entered into a [Screen](/v1/docs/screens) during a previous Task in that Request may start Requests for the child Sub Process. For example, if a [Line Input control](/v1/docs/line-input-control) in a Screen has the **Variable Name** value of `Name`, to contain a user's name, then use that value to thereby select that user to start child Sub Process Requests. When this option is selected, the **Variable Name of User ID Value** setting displays. In the **Variable Name of User ID Value** setting, enter the **Variable Name** value from which to reference the user who may start child Sub Process Requests. --- ### Advanced Panel Settings #### Edit the Node's Identifier Value Process Modeler automatically assigns a unique value to each Process node added to a Process model. However, a node's identifier value can be changed if it is unique to all other nodes in the Process model, including the Process model's identifier value. > [!NOTE] > All identifier values for all nodes in the Process model must be unique. Follow these steps to edit the identifier value for a Sub Process object: 1. Select the Sub Process object from the Process model in which to edit its identifier value. 2. Ensure that the **Configuration** panel displays. If not, [show it](/v1/docs/show-configuration-settings-for-a-process-model-object). Panels to configure this object display. 3. Expand the **Advanced** panel if it is not presently expanded. The **Node Identifier** setting displays. This is a required setting. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/cd4ea971-841b-41b6-b7db-3f24c423ead0.png) 4. In the **Node Identifier** setting, edit the Sub Process object's identifier to a unique value from all nodes in the Process model and then press **Enter**.