Integrate ProcessMaker IDP into your business Processes.
What is the 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:
Ensure that the Object panel is visible. If not, click the Add icon from the Object bar at the bottom.
Click the IDP object from one of the following sections:
Pinned Objects: The IDP object appears in the Pinned Objects section when it is pinned.
Object Category: The IDP object appears in the Object Category section when it is not pinned.
Click the location in the Process model to place this connector. Follow these guidelines when placing this connector:
Optionally place this connector between two existing Process model objects already connected with a Sequence Flow element. See Place an Object Between Two Process Model Objects Already Connected with a Sequence Flow Element.
If a Pool element is in your Process model, the connector cannot be placed outside of the Pool element.
Follow these steps to add an IDP connector from the Object bar to the Process model:
Ensure that the IDP object is pinned to the Object bar. If not, pin it.
Click the IDP object's icon. This object's icon displays adjacent to the mouse icon to indicate this element type may be placed into the Process model.
Click the location in the Process model to place this element. Follow these guidelines when placing this connector:
Optionally place this connector between two existing Process model objects already connected with a Sequence Flow element. See Place an object between two connected objects.
If a Pool element is in your Process model, the connector cannot be placed outside of the Pool element.
Add boundary events
Boundary Timer Event element
Boundary Error Event element
Boundary Signal Event element
Boundary Conditional Event element
Boundary Message Event element
After adding the Object Element, consider adding the following Boundary-type Process model elements to design business solutions when your best-case scenarios don't happen:
Boundary Timer Event element
Boundary Error Event element
Boundary Signal Event element
Boundary Conditional Event element
Boundary Message Event element
Settings
The IDP connector has the following panels that contain settings:
Configuration panel
Loop Activity panel
Advanced panel
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:
Select the IDP connector from the Process model.
Click the Show Configuration buttonin the upper right of the Process Modeler canvas to view the Configuration panel.
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:
Expand the Configuration panel if it is not presently expanded, and then locate the Variable Name setting.
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?
DOCUMENT_TYPE
in ProcessMaker IDP?Determine Which Document Type to Use
Log on to ProcessMaker IDP. If you need assistance logging on, contact your ProcessMaker IDP Administrator for assistance.
Click the initials of your user account in the lower-left in ProcessMaker IDP, and then select the Go to ProcessMaker IDP Admin option.
Click the Domains option from the left navigation pane.
The Domains page displays.
Locate the
Document_Type
domain, click its options menu, and then select the Edit option.The Edit Domain page displays for the
Document_Type
Domain.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.Browse the list of values for the
Document_Type
Domain, and then locate theDocument_Type
Domain value that this IDP connector uses to process documents.Click the options menu for your document type, and then select the Edit option.
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:
Expand the Configuration panel if it is not presently expanded, and then locate the Select Document Type setting.
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:
Expand the Configuration panel if it is not presently expanded, and then locate the Select Destination setting.
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 Characteristics Panel Settings
Specify Characteristics to Perform Multiple Instances of the Connector
Use the Loop Characteristics panel settings to specify how to perform multiple instances of this connector. The following loop modes are available for this connector:
No Loop Mode: Select the No Loop Mode option to perform this connector's function only once.
Loop: Select the Loop option to sequentially repeat this connector'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 connector'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 connector 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 element triggers.
ProcessMaker IDP does not allow multiple documents of the same name in the one folder. Therefore, an IDP connector cannot send more than one copy of a document to a folder while in a loop mode. To address this issue, use a different IDP connector to process the same document to a different ProcessMaker IDP folder.
An element configured in this mode shows the Loop icon in Process Modeler.
Multi-instance (Parallel): Select the Multi-instance (Parallel) option to perform this connector'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 connector 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 connector 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 element triggers.
A connector configured in this mode shows the Multi-instance (Parallel) icon in Process Modeler.
Multi-instance (Sequential): Select the Multi-instance (Sequential) option to perform this connector'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 element triggers.
A connector configured in this mode shows the Multi-instance (Sequential) iconin Process Modeler.
Follow these steps to specify characteristics to perform multiple instances of the connector:
Select the connector from the Process model in which to specify multiple instance characteristics. Panels to configure this element display.
Expand the Loop Characteristics panel. The Loop Characteristics setting displays. By default, Loop Activity is set to No Loop Mode and the function is performed only once.
From the Loop Mode setting, select one of the following options to perform this connector's function more than once.
Loop: Select the Loop option. The settings for this loop mode display:
Follow these steps:
In the Maximum Iterations setting, enter an integer value representing the maximum number of times this Task should be performed.
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:
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.
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:
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.
In the Exit Condition setting, enter a condition in FEEL syntax. When this condition is True the loop activity is halted.
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:
Select the IDP connector from the Process model in which to edit its identifier value.
Ensure that the Configuration panel displays. If not, show it. Panels to configure this element display.
Expand the Advanced panel if it is not presently expanded. The Node Identifier setting displays. This is a required setting.
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.