Font Size:
Ask Joget AI

Conditional Process Tool Plugin

Introduction

The Conditional Process Tool Plugin executes process tool based on condition.

You can access the source code for this plugin on JogetOSS GitHub. Feel free to clone and customize it to suit your needs.

Plugin information

Get started

Where to get the plugin

The plugin is available for download at the Joget Marketplace.

How to install

  1. Download the plugin JAR file from the releases page.
  2. Go to Settings > Manage Plugins > Upload Plugin.
  3.  Once uploaded, the plugin will be available in your Joget environment.

Configure conditional process tool properties

  • Delay Between Execution: Introduce delay in second between each record.
  • Debug Mode: When this option is checked, you can observe additional debug messages for this plugin in the server log.
  • Condition: Define the condition for executing each tool using JavaScript. If the condition is evaluated as true, then only the selected process tool will be executed. Refer to Types of Conditions for more information.
  • Process Tool: Select the process tool to configure.

    Upon selecting a process tool, a configuration tab will appear next to the current configuration tab, allowing you to configure the selected process tool. See all available process tools here: List of Process Tools.

Types of Conditions

Basic condition

Execute when a form field equals a specific value:

"Approved".equals("#form.st_ticket.status#")

 

Not equal condition

Execute when a form field does not equal a specific value:

!"Resolved".equals("#form.st_ticket.status#")

 

Compare two form fields

Execute when the current status differs from the old status:

!"#form.st_ticket.status#".equals("#form.st_ticket.old_status#")

 

Multiple conditions using AND

Execute when the status has changed and the new status is not Resolved:

!"#form.st_ticket.status#".equals("#form.st_ticket.old_status#") && !"Resolved".equals("#form.st_ticket.status#")

 

When && is used, all conditions must return true.

Multiple conditions using OR

Execute when the status is either Approved or Rejected:

"Approved".equals("#form.st_ticket.status#") || "Rejected".equals("#form.st_ticket.status#")

When || is used, at least one condition must return true.

 

Combining AND and OR

Execute when the priority is High and the status is either Open or In Progress:

"High".equals("#form.st_ticket.priority#")
&& (
    "Open".equals("#form.st_ticket.status#")
    || "In Progress".equals("#form.st_ticket.status#")
)

Use parentheses to group related conditions and control their evaluation order.

 

Check whether a field is empty

Execute when the assignee field is empty:

"".equals("#form.st_ticket.assignee#")

Execute when the assignee field is not empty:

!"".equals("#form.st_ticket.assignee#")

 

Numeric comparison

Execute when the amount is greater than 1000:

Double.parseDouble("#form.st_ticket.amount#") > 1000

Warning: The field must contain a valid numeric value. An empty or non-numeric value will cause an evaluation error.

 

Workflow variable condition

Execute when a workflow variable contains a specific value:

"approved".equals("#variable.decision#")

 

Current-user condition

Execute only when the current user is admin:

"admin".equals("#currentUser.username#")

 

Condition syntax reference

Requirement

Syntax

AND

&&

OR

||

NOT

!

Text equality

"Value".equals("Another Value")

Text inequality

!"Value".equals("Another Value")

Greater than

>

Less than

<

Greater than or equal

>=

Less than or equal

<=

 

Created by Miao Xuan Ng Last modified by Miao Xuan Ng on Aug 18, 2026