Sub Process Element

Add, copy, delete, change the color, align, and configure Sub Process elements in your Process model.

Don't Know What a Sub Process Element Is?

See Process Modeling Element Descriptions for a description of the Sub Process element.

Permissions Required

Your user account or group membership must have the following permissions to configure a Sub Process element 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 permissions or ask your Administrator for assistance.

Add a Sub Process Element to the Process Model

Follow these steps to add a Sub Process element to the Process model:

  1. View your Processes. The Processes page displays.

  2. Drag the element into the Process model canvas where you want to place it. If a Pool element is in your Process model, the Sub Process element cannot be placed outside of the Pool element.

After adding the Sub Process element, consider adding any of the following Boundary-type Process model elements to design business solutions when your best-case scenarios don't happen:

After the element is placed into the Process model, you may adjust its location in the following ways:

Moving a Sub Process element has the following limitations in regards to the following Process model elements:

  • Pool element: If the Sub Process element is inside of a Pool element, it cannot be moved outside of the Pool element. If you attempt to do so, Process Modeler places the Sub Process element inside the Pool element closest to where you attempt to move it.

  • Lane element: If the Sub Process element is inside of a Lane element, it can be moved to another Lane element in the same Pool element. However, the Sub Process element cannot be moved outside of the Pool element.

Customize the Appearance of a Sub Process Element

Customize the Sub Process element's appearance in the following ways:

After a Sub Process element is added to a Process model, optionally customize these aspects of its appearance. Each Sub Process element's appearance may only be changed individually.

Change a Sub Process Element's Color

The Sub Process element and label are black-colored by default. After a Sub Process element is added to a Process model, its shape and label color can be changed. Element and connector colors may only be changed individually.

Follow these steps to change the color and label for a Sub Process element:

  1. View your Processes. The Processes page displays.

  2. Do one of the following to change the color:

    • Select a color swatch: Select one of the color swatches from the color palette. The Sub Process element and label change to that color.

Change a Sub Process Element's Icon

Follow these steps to change the icon for a Sub Process element:

  1. View your Processes. The Processes page displays.

  2. From the Search drop-down menu, select the icon to display. The Sub Process element's icon changes to the selected icon.

  3. Click OK.

To reset the Sub Process element to its default icon, click the Reset to Default button from the Select a custom icon screen.

Replace a Sub Process Element with a Task Type Element

After a Sub Process element is added to a Process model, you may replace it with a Task type element:

The selected Sub Process element is replaced by the default settings and color of the replacing element.

Follow these steps to replace a Sub Process element with a Task type element:

  1. View your Processes. The Processes page displays.

  2. Select the Sub Process element to change to another element. Available options display above the selected element.

  3. Click Confirm. The new element replaces the Sub Process element with its default settings and color.

Copy a Sub Process Element

Copying a Sub Process element copies the original along with its current settings, making it easier and faster to continue designing without adding default elements or connectors with their default settings.

The copied Sub Process element displays below the original. Any Sequence Flow and/or Message Flow elements incoming to or outgoing from the original are not copied.

Follow these steps to copy a Sub Process element in your Process model:

  1. View your Processes. The Processes page displays.

Delete a Sub Process Element

Deleting a Process model element also deletes any Sequence Flow and/or Message Flow elements incoming to or outgoing from that element. For example, if a Process model element is deleted that has both incoming and outgoing Sequence Flow elements, the Sequence Flow elements must be reconnected for the remaining elements/connectors.

Follow these steps to delete a Sub Process element from your Process model:

  1. View your Processes. The Processes page displays.

Settings

The Sub Process element has the following panels that contain settings:

Configuration Panel Settings

Edit the Element Name

An element name is a human-readable reference for a Process element. Process Modeler automatically assigns the name of a Process element with its element type. However, an element's name can be changed.

Follow these steps to edit the name for a Sub Process element:

  1. Select the Sub Process element from the Process model in which to edit its name. Panels to configure this element display.

  2. In the Name setting, edit the selected element's name and then press Enter.

Select the "Child" Sub Process This Element Calls

The Sub Process element 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.

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 element.

The child Process must have at least one Start Event element from which to start its Request. Other Start-type BPMN elements result in an invalid parent Process error when this Sub Process element calls the child Process to start its Request.

As a best practice, verify that the child Process contains a Start Event element prior to completing design for the Process using this Sub Process element.

To prevent routing for the parent Process's Request from waiting until the child Sub Process's Request completes, use a Parallel Gateway element preceding the Sub Process element. Use a parallel outgoing Sequence Flow element from the Parallel Gateway element to continue routing the parent Process while the Sub Process element waits for the child Sub Process's Request to complete.

Follow these steps to select the child Sub Process the Sub Process element calls when it triggers:

  1. Select the Sub Process element from the Process model in which to select the child Sub Process that element calls. Panels to configure this element display.

  2. From the Start Event drop-down menu, select another Start Event element from the child Process that this Sub Process element calls to start a Request if the default Start Event element 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.

Loop Characteristics Panel Settings

‌Specify Characteristics to Perform Multiple Instances of the Task

Use the Loop Characteristics panel settings to specify how to perform multiple instances of this element. The following loop modes are available for this element:

  • No Loop Mode: Select the No Loop Mode option to perform this element's Task only once.

  • Loop: Select the Loop option to sequentially repeat this element's Task multiple times until an exit condition is True. This is useful when a Task 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 element's Task 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 Task does not complete, workflow pauses.

    • All active instances are terminated if an interrupting boundary-type event element triggers.

  • Multi-instance (Parallel): Select the Multi-instance (Parallel) option to perform this element'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 Task that each contains data from its respective array index.

    • All instances begin simultaneously when this element triggers; however, they perform their Task independently of each other.

    • The Task 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 element triggers.

  • Multi-instance (Sequential): Select the Multi-instance (Sequential) option to perform this element's Task multiple times sequentially a fixed number of times or until an exit condition is True. This is useful when sequentially repeating a Task multiple times but with a different set of data each time. This loop mode has the following characteristics:

    • Instances of the Task 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 Task that each contains data from its respect array index.

    • At any given time, only one instance of the Task 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 Task 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 element triggers.

‌Follow these steps to specify characteristics to perform multiple instances of the Task:‌

  1. Select the element from the Process model in which to specify multiple instance characteristics. Panels to configure this element display.

  2. Expand the Loop Characteristics panel. The Loop Characteristics setting displays. By default, Loop Activity is set to No Loop Mode and the Task is performed only once.

  3. From the Loop Mode setting, select one of the following options to perform this element's Task more than once.

    • Loop: Select the Loop option. The settings for this loop mode display:

      Follow these steps:

      1. In the Maximum Iterations setting, enter an integer value representing the maximum number of times this Task should be performed.

      2. In the Exit Condition setting, enter a condition in FEEL syntax. When this condition is True the loop activity is halted.

    • Multi-instance (Parallel): Select the Multi-instance (Parallel) option. The settings for this loop mode display:

      Follow these steps:

      1. 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.

      2. 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. The settings for this loop mode display:

      Follow these steps:

      1. 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.

      2. In the Exit Condition setting, enter a condition in FEEL syntax. When this condition is True the loop activity is halted.

      3. 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

Edit the Element's Description Displayed in Process Documentation

If the Documentation package is installed, describe the element'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 element 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.

Package Required

The Documentation package must be installed to view or edit the documentation for a Process element. Use the Documentation package to view documentation for Processes that includes an image of the Process map and entered description of its elements and connectors.

Follow these steps to edit the description for an element:

  1. Select the element from the Process model in which to edit its description. Panels to configure this element display.

  2. Follow these guidelines to use the WYSIWYG rich text editor to stylize your text:

      1. Select the required text from the Rich Text control.

      2. In the URL setting, enter the destination URL.

      3. In the Text to display setting, edit or enter the text displayed in the Rich Text control.

      4. In the Title setting, enter the text to display when a user hovers over the displayed text.

      5. 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.

      1. In the Source setting, enter a URL for the image.

      2. In the Alternative Description setting, enter the text to display if the source URL of the image is not accessible.

      3. In the Width setting, enter the maximum width for the image.

      4. In the Height setting, enter the maximum height for the image.

      5. Click Save.

    • 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 Paragraph/Formats menu, select Inline and then Bold.

      • Italics: Do one of the following:

        • 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.

        • Select one of the color swatches from the color palette. The selected text changes to that color.

      • Align text: Follow these guidelines to align text:

        • Left align: Do one of the following:

          • From the Paragraph/Formats menu, select Align and then Left.

        • Center align: Do one of the following:

          • From the Paragraph/Formats menu, select Align and then Center.

        • Right align: Do one of the following:

          • From the Paragraph/Formats menu, select Align and then Right.

        • Justify: Do one of the following:

          • From the Paragraph/Formats menu, select Align and then Justify.

Assignment Rules Panel Settings

Select Who May Start Requests for the "Child" Sub Process

Select who may start Requests for the "child" Sub Process selected from the Process setting:

  • Anonymous: Any person may start Requests for the child Sub Process. Ensure that the child Sub Process contains a Start Event element configured to allow anonymous Web Entry; otherwise, that Start Event element 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 during a previous Task in that Request may start Requests for the child Sub Process. For example, if a 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.

Follow these steps to select who may start Requests for the child Sub Process:

  1. Select the Sub Process element from the Process model in which to select who may start Requests for the child Sub Process. Panels to configure this element display.

  2. 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 element configured to allow anonymous Web Entry; otherwise, that Start Event element 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.

    • 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 during a previous Task in that Request may start Requests for the child Sub Process.

      For example, if a 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.

Vocabularies Panel Settings

Assign Vocabularies That Validate Request Data from This Element

Assign Vocabularies that validate that Request data complies with a specific JSON schema. This is often mandatory for many types of business sectors including banking and healthcare. Ensure the quality and compliance of Request data. For example, during a Loan Application process, ensure that personal information has been included in the Request to that moment in that in-progress Request. The Vocabularies package must be installed to make this configuration.

Use a Vocabulary on a Sub Process element to validate that Request data complies with the Vocabulary's JSON schema after routing returns from the child Sub Process's Request to the parent Process's Request, but prior to when the Request continues routing for the parent Request. See What is a Vocabulary? for more information.

Each moment ProcessMaker Platform evaluates workflow routing for an in-progress Request, ProcessMaker Platform also evaluates the Request data's conformity to the Vocabularies applied to the Process and/or a specific BPMN 2.0 element in the Process model. The Request's JSON data model must conform to the Vocabulary's JSON schema.

During an in-progress Request, if ProcessMaker Platform evaluates that the Request data no longer complies with all Vocabularies to that moment, the Request status changes from In Progress to Error. The error displays in the Request summary. Vocabularies are cumulative in an in-progress Request: as the Request progresses, if Request data does not conform with any Vocabulary's JSON schema to that moment in the Request, the Request errors.

If no Vocabularies are assigned, ProcessMaker Platform does not validate that Request data complies with a specific JSON schema prior to continuing workflow for that Request.

One or more Vocabularies must be created before assigning a Vocabulary. See Create a New Vocabulary. Multiple Vocabularies can be assigned to a Sub Process element.

Package Required

The Vocabularies package installed to assign which Vocabularies validate Request data at a Sub Process element. Use the Vocabularies package to maintain uniform JSON schemas across all assets in your organization. These assets include Processes, Screens, and Scripts.

A Vocabulary is a JSON schema. The JSON schema describes the data objects, types, and structure that you want in both a machine and human readable format. Apply one or more Vocabularies to your Processes and/or specific BPMN 2.0 elements in your Process models to ensure the JSON data model in Request data complies with the data structure outlined in the JSON schema that you need to meet regulatory specifications or ensure Request data contains required information.

Follow these steps to assign Vocabularies that validate Request data from a Sub Process element:

  1. Select the Sub Process element from the Process model in which to assign Vocabularies that validate Request data prior to when this element completes. Panels to configure this element display.

  2. Expand the Vocabularies panel if it is not presently expanded. The Assigned setting displays.

  3. From the Select Vocabulary drop-down menu, select a Vocabulary from which to validate Request data complies with its JSON schema.

    If no Vocabularies are configured , then the following message displays: List is empty. Create at least one Vocabulary. See Create a New Vocabulary.

  4. Click Save.

  5. Repeat Steps 3 through 6 as necessary for each Vocabulary required to validate Request data complies with its JSON schema.

After one or more Vocabularies are assigned to a Sub Process element, the Vocabulary icon displays in that element.

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.

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 element:

  1. Select the Sub Process element from the Process model in which to edit its identifier value. Panels to configure this element display.

  2. In the Node Identifier setting, edit the Sub Process element's identifier to a unique value from all nodes in the Process model and then press Enter.

pageProcess Modeling Element DescriptionspageView Active and Inactive ProcessespageCreate a New ProcesspageVocabularies PackagepageWhat is a Vocabulary?pageCreate a New VocabularypageSummary for Requests with Errors

Last updated

© Copyright 2000-2024 ProcessMaker Inc. All rights reserved.