Skip to content

Routes

Routes define the connections between Actions and Tasks, establishing the workflow's path.

Multiple routes can branch from a single action, creating parallel workflow paths. If no valid route is found, the workflow terminates.

Route Properties

Instructions: Overrides the next task's instructions. Useful for dynamically updating instructions based on the action taken (e.g., changing instructions after a "Reject" action).

Validation Rule: Determines the route's validity. The rule can be a Decision Table or a scripting expression. A route is considered valid if no validation rule is defined.

Scripting Objects

This script is executed in the backend context of the Emakin and does not have an accessible a browser DOM context and therefore navigator based JavaScript libraries such as jQuery are not available.

The following objects are available:

  • $WorkItem Current WorkItem that is being processed.
  • $Instance Instance of the Instance current workflow instance.
  • $TestMode Indicates whether the workflow is running in test mode. In test mode, evaluates to true value.
  • $Priority Priority of the current workflow instance 0 (lowest) to 5 (highest
  • $Initiator Identifies the workflow initiator. Note that this may be null for module-type tasks.
  • $Culture Current culture of the workflow instance. Originated from the initiator's culture but can be overridden. Culture is specified in the format languagecode2-country/regioncode2. Example: (en-US or tr-TR)
  • $Templates Provides access to templates defined in the pool definition. Used for rendering the text content depending on the culture of the workflow instance.
  • $Xml Provides access to the process data model or workflow data.
  • $Case Instance of Case instance if workflow started on a case.
  • $poolVariable Custom defined pool variable by name. Variables are defined in Variables
  • $Services Allows calling SOAP services with JSON or XML content types.
  • $Decisions Allowing you to execute decision tables and models on process.
  • $scriptModule Custom defined script module. Script modules are defined in Script Modules
  • $Domain Provides access to the domain information and related methods like initiating a workflow or creating a new case.
  • $ActivityStream Allows pushing system-generated activities to the domain activity stream.
  • $Membership Provides access to users and organizational database objects.
  • $Database Allows you to perform relational database operations.
  • $Crypto Provides access to cryptographic functions such as hashing and encryption.
  • $Rest Allows interaction with REST services using JSON or XML content types.
  • $Calendar Provides access to calendar functions like adding or subtracting date in calendar rules.
  • $Files Allows access to the standard file repository for basic files.
  • $Documents Provides access to the document archive.
  • $Delegation Pprovides methods to manage delegations between users.
  • $Messages Provides functionality for sending new e-mails and parsing existing e-mail messages.
  • $XmlRepository Provides access to the non-relational XML repository database.

Sample Validation Rules

The following examples demonstrate route validation using decision tables and expressions.

Route Validation with Decision Table

This decision table validates the route if the "Department" field is "Sales" or "Accounting". Other values invalidate the route.

Route Validation with Expression (FEEL)

Using FEEL:

1
Department in ("Sales", "Accounting")

Route Validation with Expression (JavaScript)

This script is executed in the backend context of the Emakin and does not have an accessible a browser DOM context and therefore javascript libraries such as jQuery are not available.

Using JavaScript:

1
$Xml.Equals('Department', 'Sales') || $Xml.Equals('Department', 'Accounting');