Manage and Model Processes
ProcessMaker API Documentation
Script Central

Add and Configure Sub Process Elements

Add and configure Sub Process elements in your Process model.

Add a Sub Process Element

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

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

  1. View your Processes. The Processes page displays.

  2. Create a new Process or click the Open Modeler iconto edit the selected Process model. Process Modeler displays.

  3. Locate the Task element in the Elements and Connectors palette that is to the left of the Process Modeler canvas. If the Hide Menus buttonis enabled, the Elements and Connectors palette displays the Task element's icon.

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

  5. From the Elements drop-down menu, select the Sub Process option. The Sub Process element displays.

Sub Process 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 move it by dragging it to the new location.

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.

Settings

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

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. Ensure that the Hide Menus buttonis not enabled. See Maximize the Process Modeler Canvas View.

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

  3. Expand the Configuration panel if it is not presently expanded. The Name setting displays.

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

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. Ensure that the Hide Menus buttonis not enabled. See Maximize the Process Modeler Canvas View.

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

  3. Expand the Configuration panel if it is not presently expanded, and then locate the Process setting.

  4. From the Process drop-down menu, select which child Sub Process the Sub Process element calls when it triggers.

Vocabularies Panel Settings

Assign ProcessMaker Vocabularies That Validate Request Data from This Element

ProcessMaker Package Required

Your ProcessMaker instance must have the Vocabularies package installed to assign which ProcessMaker 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, ProcessMaker Screens, and ProcessMaker Scripts.

A ProcessMaker 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 ProcessMaker 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.

The Vocabularies package is not available in the ProcessMaker open-source edition. Contact ProcessMaker Sales or ask your ProcessMaker sales representative how the Vocabularies package can be installed in your ProcessMaker instance.

Permissions Required

Your ProcessMaker user account or group membership must have the following permissions to set which ProcessMaker user or group can start a Request for a Process 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 ProcessMaker Administrator for assistance.

Assign ProcessMaker Vocabularies that validate 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 in your ProcessMaker instance to make this configuration.

Use a ProcessMaker 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 evaluates workflow routing for an in-progress Request, ProcessMaker also evaluates the Request data's conformity to the ProcessMaker 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 ProcessMaker Vocabulary's JSON schema.

During an in-progress Request, if ProcessMaker evaluates that the Request data no longer complies with all ProcessMaker Vocabularies to that moment, the Request status changes from In Progress to Error. The error displays in the Request summary. ProcessMaker 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 ProcessMaker Vocabularies are assigned, ProcessMaker does not validate Request data complies with a specific JSON schema prior to continuing workflow for that Request.

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

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

  1. Ensure that the Hide Menus buttonis not enabled. See Maximize the Process Modeler Canvas View.

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

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

  4. Click theicon to add a ProcessMaker Vocabulary. The Assign Vocabulary setting displays.

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

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

  6. Click Save.

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

Click the Remove iconfrom the Vocabularies setting to remove a ProcessMaker Vocabulary from assignment to this element.

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

Sub Process element with an assigned ProcessMaker Vocabulary

Advanced Panel Settings

Edit the Element's Identifier Value

Process Modeler automatically assigns a unique value to each Process element added to a Process model. However, an element's identifier value can be changed if it is unique to all other elements in the Process model, including the Process model's identifier value.

All identifier values for all elements in the Process model must be unique.

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

  1. Ensure that the Hide Menus buttonis not enabled. See Maximize the Process Modeler Canvas View.

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

  3. Expand the Advanced panel if it is not presently expanded. The Node Identifier setting displays. This is a required setting.

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

Related Topics