Resolving Complex Routing in Process Maker

Olusiji David
dipoleDIAMOND
Published in
3 min readJan 24, 2018
A Route with more than 2 decision paths

A route in process maker is used to determine the pathway of a process. The path is determined when the user has to make a decision on a task. For example, a leave request is initiated by a company’s employee and the request is submitted to the Boss. The boss reviews the request and has to make a decision, to approve the request and allow the employee go on leave or to reject the request.

This decision affects the path of the process because, if the boss accepts the request, the employee proceeds to go on leave. If the request is rejected, the employee remains at work and the process ends.

The instance I’ve described uses a basic Yes or No decision-making routing.

In real life, many processes require a more complex decision system. For example, a company’s leave request process might allow one supervising boss to approve an employee’s leave request immediately if the stipulated reason for the leave is medical emergency. But for any other reason the employee’s leave request must be approved by the employee’s supervisor and the company’s admin officer.

How do we handle such situations on process maker?

It’s actually preety simple. Using my Leave request example i’ll explain how.

Design The Process Map.

Process Map

Set up the leave request dynaform.

Dynaform to initiate leave request.

Here I’ve setup a simple leave request form for the company’s employees. The form has a drop-down web control where the employee selects the reason for absence.

Reason for Absence options

Here I’ve setup the key and label options for the drop-down field, it has a variable named @@reason. If Employee’s supervisor approves the request, we want the employee to proceed on leave immediately - if the reason for absence is Emergency (@@reason == 5). For any other reason for absence (@@reason != 5), the request has to be forwarded to the admin officer for approval for the employee to go on leave.

Setup Route.

Conditions for routing.

We right-click on the exclusive gateway handling the complex routing, click on properties and add in the conditions for routing as seen above. What this means is that if the request was approved by the supervisor (@@is_approved == 1) and the reason for leave request is Emergency (@@reason == 5), the process proceeds to the End event. If the request was approved by the supervisor and the reason for leave request is not Emergency, the process proceeds to the Admin Approval Task. Finally if the request was rejected by the supervisor (@@is_approved == 0), the request is returned to the Employee at the Initiate Request task.

I hope you fin this helpful. If you’d love to learn more about processmaker, this book is a great place to start. Business Process Automation with ProcessMaker 3.1

--

--

Olusiji David
dipoleDIAMOND

Engineer at heart, Entrepreneur in Spirit. I write about tech, product and my startup journey.