Another way in which Process Automation supports multi instance tasks is the multi instance send task. This feature allows a task to send multiple process messages. This can be used to trigger an application multiple times with a process message. The number of times the send task is triggered depends on the number of selections made in a multi select field in an associated data object form and each instance triggered by the process message can be named using the individual values from the multi select field.
If you want a task to trigger multiple times based on the number of users in a specific role, see the article, Multi Instance Task.
How to set up your Multi Instance Send Task
You need to configure:
- A receiving process application. This is the process that will be triggered by the send task.
- A sending process application. This is the process that contains the send task that triggers the receiving task.
Below you will find a step-by-step guide on how to set up first the receiving process and then the sending process.
- Create a new BPMN 2.0 process
- Create a form template containing the multi-select field that will control how many times this process is initiated and associate the form template to the start event.
- Set the start event to message type. Then select Configure message.
Name the message field and specify what form fields should be populated on initiation.
In order to have each instance named from the multi-select field that decides how many instances are created, it is essential you configure this field to be populated by the process message as shown below.
4. Publish and deploy this process. When the Configure Process window opens, navigate to the Instance settings tab and set the name with a variable referencing that same multi select field as mentioned above, the multi select field that dictates the number of instances created by the multi instance send task.
The process we want to trigger multiple times with the send task is now ready
- Create a new BPMN 2.0 process
- Model the following configuration where the Form contains the same multi select field used in the application you wish to trigger multiple times.
- Add a new pool to your process by dragging the pool symbol onto the modeling canvas.
- Double-click on the new pool to edit its settings. Turn on the collapsed black box feature. Then, under Receiver choose Select app.
- The Select application window opens. Select the receiver application that you just created.
- Add a task and set the task type to Send Task.
- Connect it to the black box pool.
- Associate the data object created by the form template and set it to Loop type Multi Instance.
You will see a text that says Multi instance based on users in the current role. Select Change.
This opens up a window where you can choose the form field that will create the new instances.
Once you have selected the multi select field, the text will instead read Multi instance based on selected values in "dataObject.field"
- Finally, configure the message by clicking on the Send Task Tab and selecting the Configure message button.
- Under the Message fields tab, you will find what data the receiving application expects. In order to name each created instance based on the multi-select values, change Value type to Multi Instance and Value to Name. This will ensure that the Multi Instance name will be based on the values in the multi select field.
- Both the triggering and the multi-triggered applications have now been created and once run, the triggering application will start a number of instances of the receiving process depending on the number of values selected in the multi-select field.
Read more on setting up a process message to start another application.
Using Reusable Roles enables the configuration of Call Activities and the master process to use the same role and ensures that the users performing tasks in both processes are the same.
How to create reusable roles
- Open the Asset Browser and click on the + sign to the right of the section Reusable Roles.
- Write a name for your role and click on the plus sign + to confirm.
- Use the role by dragging and dropping the role from the Asset Browser to your lane or task.
When to use reusable roles
If you reuse a process in your model as a Call Activity, then the Reusable Roles makes sure that the roles and the performer within the call activity are the same as the ones in your master process model.