IDP Connector

IDP connector integrates ProcessMaker IDP into ProcessMaker Platform. ProcessMaker IDP is ProcessMaker's intelligent document processing (IDP) solution. Remember before working correctly with IDP Connectors, your administrator must configure IDP Settings.


Add an IDP Connector to the Process Model

Permissions

Your user account or group membership must have the following permissions to configure an IDP connector 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 Administrator for assistance.

Add an IDP connector from one of the following locations in Process Modeler:

  • Object Panel: Located to the left of the Process Modeler canvas, the Object Panel contains various process model objects.

  • Object Bar: Located at the bottom of the Process Modeler canvas, the Object Bar contains pinned Process model objects for quick access.

Follow these steps to add an IDP connector from the Object panel to the Process model:

  1. Ensure that the Object panel is visible on the left. If not, click the Add icon from the Object bar at the bottom.

  2. Click the IDP object from the Object panel to select it.

  3. Click the location in the Process model to place this connector. Follow these guidelines when placing this object:

    • If your process has a Pool object, the IDP object cannot be placed outside of the Pool.

    • To place this object between two existing objects, follow these instructions.

Follow these steps to add an IDP connector from the Object bar to the Process model:

  1. Ensure that the IDP object is pinned to the Object bar. If not, see instructions to pin it it.

  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 element. Follow these guidelines when placing this object:

    • If your process has a Pool object, the IDP object cannot be placed outside of the Pool.

    • To place this object between two existing objects, follow these instructions.

Add boundary events
After adding an object to a process, consider adding the following events to handle exceptions:

Settings

The IDP connector has the following panels that contain settings:


Configuration Panel

Edit the Connector Name

A connector name is a human-readable reference for a Process model control. Process Modeler automatically assigns the name of a Process model connector with its connector type. However, a connector's name can be changed.

Follow these steps to edit the name for an IDP connector:

  1. Select the IDP connector from the Process model.

  2. Click the Show Configuration buttonin the upper right of the Process Modeler canvas to view the Configuration panel.

  3. In the Name setting, edit the selected connector's name and then press Enter.

Enter the Request Variable Containing the File(s) for Processing

During a Request, an IDP connector references a Request variable that stores the documents for processing. This Request variable may be linked to a File Upload control, where the documents were uploaded during a Task.

Follow these steps to enter the name of the Request variable that stores the documents to be processed by this IDP connector:

  1. Expand the Configuration panel if it is not presently expanded, and then locate the Variable Name setting.

  2. In the Variable Name setting, enter the Request variable name that stores the documents for processing without using mustache syntax, then press Enter.

Enter the Document Type to Process

Select or enter the document type the IDP connector uses to process the documents. This setting does not refer to a file type, such as PDF or DOCX. Instead, this setting refers to the DOCUMENT_TYPE domain in ProcessMaker IDP that has been previously trained to process documents in your Dossier. Note that this setting requires the value inDOCUMENT_TYPE Domain's Name setting, not its Pretty Name setting value.

Where do I find DOCUMENT_TYPE in ProcessMaker IDP?

Determine Which Document Type to Use

  1. Log on to ProcessMaker IDP. If you need assistance logging on, contact your ProcessMaker IDP Administrator for assistance.

  2. Click the initials of your user account in the lower-left in ProcessMaker IDP, and then select the Go to ProcessMaker IDP Admin option.

  3. Click the Domains option from the left navigation pane.

    The Domains page displays.

  4. Locate the Document_Type domain, click its options menu, and then select the Edit option.

  5. The Edit Domain page displays for the Document_Type Domain.

  6. Click the Enum values option from the left-side pane. The Enum values for Domain page displays the enumeration values for the Document_Type Domain.

  7. Browse the list of values for the Document_Type Domain, and then locate the Document_Type Domain value that this IDP connector uses to process documents.

  8. Click the options menu for your document type, and then select the Edit option.

  9. Make note of the Name value for your document type. Use this value for the IDP connector's Document Type setting. An example is highlight below. Do not use the Pretty Name setting value for your document type.

Follow these steps to select a document type:

  1. Expand the Configuration panel if it is not presently expanded, and then locate the Select Document Type setting.

  2. Do one of the following:

    • Select the Use Request Variable option, and enter a Request variable that contains a reference to the document type. Reference this Request variable without using mustache syntax.

    • Ensure that the Use Request Variable setting is not selected, then choose a document type from the drop-down list. The name of the document type must already exist in ProcessMaker IDP. This setting does not create a new file type. For more information, see IDP Settings.

Select a destination folder for the processed documents

Select the folder where ProcessMaker IDP should store the processed documents. Follow these steps to configure a destination folder:

  1. Expand the Configuration panel if it is not presently expanded, and then locate the Select Destination setting.  

  2. Do one of the following:

    • Select the Use Request Variable option, and enter a Request variable that contains a reference to the destination folder in IDP where to upload the file. Otherwise, if the folder does not exist, it creates a new one in the IDP server. Reference this Request variable without using mustache syntax.

    • Ensure that the Use Request Variable setting is not selected, then choose a destination folder from the drop-down list. These folders already exist in ProcessMaker IDP and are configured in the destination folder settings for IDP.


Loop Activity Panel Settings

Use the Loop Activity panel settings to specify how to run 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 function only once.

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

  1. Select the object 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.

Loop

Select the Loop option to sequentially repeat this object'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 object'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 object 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.

  • 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 object:‌

  1. Select the object 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:

  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(Parallel)

Select the Multi-instance (Parallel) option to perform this object'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 object 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 object 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 object configured in this mode shows the Multi-instance (Parallel) icon in Process Modeler.

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

  1. Select the object 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:

  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 object'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 object configured in this mode shows the Multi-instance (Sequential) iconin Process Modeler.

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

  1. Select the object 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:

  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.


Advanced Panel Settings

Edit the Node's Identifier Value

A Process node represents a component of a Process model, whether that is a BPMN element or a connector. Process Modeler automatically assigns a unique value to each Process node added to a Process model. A Process 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 an IDP connector:

  1. Select the IDP connector from the Process model in which to edit its identifier value.

  2. Ensure that the Configuration panel displays. If not, show it. 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 IDP connector's identifier to a unique value from all nodes in the Process model and then press Enter.