In this topic, you get to know an example of how a complex approval process could look like. All elements and activities will be explained and referred to by numbers, like in the previous topic. For the mapping of the numbers to the elements/activities, screenshots are appended. The workflow variables basically match the workflow variables from the approval process simple. Whereas the business entities differ from the ones in the approval process simple. In this process, 3 business entities are required. All three are mapped to a SharePoint list. The three needed lists are the "process approval", "process reviews without process owner" and "process reviews all". 

Start/Setup (Start Event/Sub-Process)
These elements require the same configuration as in topic Approval Process simple

Define process owner (Task)
Afterward, the definition of the process owner has to be made, therefore you need to assign a dynamic user which will be the process modeler stored in a business entity field (process approval). This task is configured with an escalation, for 1 day.

Create review entry for process owner in SharePoint (Add Business Entity)
This activity adds a new entry to the SharePoint list process reviews all. The modelID, modelName, and processOwner are mapped to the business entity fields. 

Process owner checks FireStart model and decides for further reviewers (Task)
The first review of the model will be done here, and further reviewers can be assigned. There is also an escalation configured, which means the task is re-sent if the task has not been completed within 14 days. Further, a dynamic user in charge is needed here. The dynamic user you need comes from the business entity "process reviews without process owner" and is the process reviewer. 

Further reviewer empty, despite reviewer selection? (Condition)
In this condition is checked whether there has been assigned a further reviewer or not. 

Synchronization 5/10 sec (Event)
During the execution it sometimes is used to wait some time for synchronization, therefore events are used. 

Further reviewer necessary or premature decision? (Condition)
Afterward, it needs to be checked whether another reviewer is necessary or not. Not necessary means that a premature decision has been made. 

Save reviewer locally (Assign Value)
For the next part of the process, the reviewer has to be stored from the business entity field to a workflow variable. 

Reviewer existent? (Condition)
This checks if there is a reviewer existent. 
Get current reviewer (Power Shell Script)
The activity is needed to get the current reviewer because all assigned reviewer are stored in the workflow variable processReviewerLocal. They are separated by a semicolon and need to be split using the power shell activity. 

Set current reviewer in SharePoint (Add Business Entity)
After getting the current reviewer, a new entry has to be inserted in the SharePoint "process reviews without process owner" list. The processReviewerCurrent, modelID, and the modelName are mapped to the corresponding business entity fields. 

Delete current reviewer (Power Shell Script)
Now the current process reviewer has to be deleted from the processReviewerLocal variable because it already has been processed. If the current reviewer is not deleted, an endless loop will occur, because the previous condition will always find a current reviewer. This path of the condition starting with element number 10 (Condition) is processed as long as there is a reviewer existent in the processReviewerLocal workflow variable. 

Select a reviewer that is not equal to the process owner (Select Business Entity)
If all reviewers are processed, a reviewer will be selected from the SharePoint list process reviews without process owner. The selected reviewer is not equal to the process owner. 

Generate display link for SharePoint entry (Power Shell Script)
The Power Shell Script activity is required to generate the link for the display of the SharePoint entry. 

Reviewers check model and give recommendations (Loop)

Start/End (Start Event/End Event)
These events do not require further configuration.

Reviewer checks FireStart model and leaves comment (Task)
This task is used for the review of the model. The link to the Process Portal as the SharePoint link has to be added to the form so that the user can navigate directly to the model/list entry. The comments can be edited by clicking the previously generated SharePoint link. In addition to that, the reviewer approves or rejects the model by clicking one of the two buttons in the task form. By clicking those buttons the form is automatically completed. This task is sent to a dynamic user which is the process reviewer. If it is not completed within 7 days, the task is re-sent to the reviewer. 

Summarize recommendations of reviewers (Loop)

Start/End (Start Event/End Event)
These events do not require further configuration. 

Further recommendations existent? (Condition)
It is checked whether there are further recommendations existent or not. 
Reviewer equals process owner? (Condition)
If the reviewer equals the process owner the recommendation will not be summarized.

Summarize recommendations of reviewer (Assign Value)
This activity is only executed if the reviewer is not equal to the process owner. It adds the recommendation of the specific reviewer to the others.

Create review entry for process owner in SharePoint (Add Business Entity)
Another review entry is added to the process reviews without process owner list. The fields to map are the modelID, the modelName, and the process owner. 

Process owner receives all reviewer comments on the FireStart model (Task)
Now the process owner receives all comments made by the reviewers. These comments can be checked one more time and the process owner has to decide whether the model should finally be approved or not. The dynamic user is the process owner of the process. If the task is not completed within 7 days it will be re-sent. 

Model approved prematurely or after review? (Condition)
This checks if the process owner finally approved or rejected the model. 
Model published by process owner (Publish Model)
If the model has been approved, the model will be published first. 

Approve model (Approve Model)
After publishing the model, it now gets approved with this activity. 
Feedback to the modeler (Send Mail)
If the model has been rejected, a feedback will be sent to the modeler. 

Reject publication (Publish Model)
Finally, the model will be rejected using the Publish Model.

End (End Event)
This event does not require further configuration.







If you need an example of how each activity can be configured then check out topic Activity Documentation

Previous  |  Next