Release Workflow Editor

The directional path of a workflow is designed from a built-in graphical tool called the Workflow Editor. The workflow editor is provided with an expandable, scrollable canvas for creating workflow diagrams and a collapsible stencil panel.

By default, the Submission and Closure stages are present in the workflow, and they are connected to the Start and End nodes. You can add more nodes to the workflow from the stencil panel.

 

 

You can collapse or expand the stencil panel using the icon on the top-left of the panel.

Configure Nodes  

Nodes are workflow elements that define how a release workflow should be processed. The stencil panel contains various nodes under the Drag & drop nodes tab. You can add a node to the canvas using a simple drag and drop motion. You can also add a node from the connector by clicking the icon or the mini stencil view allows users to add nodes in a single right-click. When you add a node to the canvas, a pop-up window opens, where you specify the properties of the node.

The various nodes in the stencil panel are grouped by their usage. Refer to the following pointers to understand the use and setting up of each node:

Stage Node  

The stage node lets you add a release stage to your workflow.

 

 

You can configure notifications for each status added to a stage in the workflow. By default, the globally configured release status notifications are not impacted by release workflows and continue to operate as configured under Setup > Release Management > Stage and Status. To override the notifications based on the workflow, hover over a status and click . Configure and save the notification as required.

Statuses with notification override enabled are indicated with a icon.

 

The stage node has two output ports: Auto and Manual.

 

 

Using dual output ports, you can set both automated flows and manual transitions to ensure seamless operation.

User Transitions

Transitions enable you to control status changes in a workflow manually. It can be configured from the manual output port of the Stage node.

A transition connects the stage node to other nodes, such as Condition, Action, or Branch nodes, and controls the execution sequence of workflow.

Manual transitions appear as actionable buttons on the request details page, allowing technicians to perform the required action.

 

Stage Node Behavior

Use case for user transitions is available here.

Create Transitions

You can add up to 10 transitions to each manual output connector.

 

 

Define Transition Rules

 

Fields

Explanation

Scope

Configure who can perform the transition or when the transition can be performed.

Allowed Users - Add users (by role) who can perform the transition. If the user scope is not configured, the transition will be accessible to all stakeholders with edit permissions.

Criteria - Set the condition to execute the transition.

Use the Edit or Delete icon to modify or remove the criteria.

Mandatory Rules

Mandate fields and rules to control the execution of the transition. When the transition is executed, the mandatory rules are checked first. If any required conditions are not met, the user is prompted to address them. After all mandatory rules are satisfied, the mandatory fields are displayed for user input.
The transition is completed only when all mandatory rules are satisfied and the required fields are filled.

Fields - Add fields that need to be filled by technicians to complete the transition.

Rules (not applicable for the Assets module, and transitions from the Start node) - Select rules that need to be validated while executing the transition.

  • Worklog must be added.

  • Associated tasks must be completed.

  • All child requests must be closed.

  • All associated checklists must be completed.

Action Rules

Execute actions when a user initiates the transition, you can configure multiple actions at different levels: Pre-Action Rules and Post-Action Rules.

  • Pre-Action Rules - Actions are executed along with the transition if the condition is met. Supported actions are Update Field Value and Run a custom function.

  • Post-Action Rules - Actions are executed after the transition is completed. Supported actions are Send Notification, Run a custom function, Add a Task, Trigger a webhook, and Send Approval.

More info on configuring pre or post-action rules is available here.

 

 

Condition Nodes  

Condition nodes are used to check if certain conditions are satisfied and decide how the release proceeds. This node type contains 3 nodes: IF, Wait For, and Switch.

IF - This node checks if the specified conditions are met before the release proceeds to the next stage.

Attributes

Description

Condition Name*

Enter a name for your condition.

IF Condition*

You can decide the path of workflow based on the release parameters.

  • Select column, criteria, and the value(s).
  • Click to add multiple criteria using AND/OR operators.
  • Drag a criteria over the indentation space below another criteria to add it as sub-criteria. Criteria containing sub-criteria are denoted with a drop-down icon.

 

Using Custom Functions - Decide the path of workflow based on a custom function. Ensure that the custom function returns a Boolean value.

  • Select a custom function to associate with the node.

You can also create a new custom function from scratch. Click here to learn how to create a custom function as condition.

* mandatory attributes

Click Save.

 

 

The IF condition node is rendered with a single input port and two output ports (Yes/No).

 

 

Wait For - This node pauses the release workflow indefinitely until the specified conditions are met before proceeding to the next stage.

Attributes

Description

Condition Name*

Enter a name for your condition.

Wait for Event

Configure Wait for Event.

Applies to: Select the parent record or an associated subentity event from the drop-down. The available values in the drop-down depend on the selected workflow.

For the Release workflow, the associated subentity events include Approval Levels, Approvals, Notes, Email responses (from users), Notes, tasks, Worklogs (All Worklogs, Release Worklogs, Task Worklogs), and Downtimes.

Operations: Select the operation that triggers the evaluation, such as Created, Edited, or Deleted.

Note: If Applies to is set to a parent record, the operation defaults to Edited. During edit, you can change the Applies to value as needed.

Condition*

You can define the conditions based on release request details or custom functions.

Based on Conditions - Decide the path of workflow based on the release parameters.

  • Select column, criteria, and value.

  • Click to add multiple criteria using AND/OR operators.

  • Drag a criteria over the indentation space below other criteria to add it as sub-criteria. Criteria containing sub-criteria are denoted with a drop-down icon.

Using Custom Functions - Decide the path of workflow based on a custom function. Ensure that the custom function returns a Boolean value.

  • Select a custom function to associate with the node.

  • You can also create a new custom function from scratch. Click here to learn how to create a custom function as condition.

Evaluation Option

Choose Evaluation Option.

When you select a subentity in the Applies to drop-down, the Evaluation Option field appears, with Skip if already executed selected by default.

Skip if already executed: Evaluate this condition only if it was not executed earlier in the workflow.

Always execute: Evaluate this condition each time the workflow reaches this node.

* mandatory fields

Click Save.

 

The Wait For node is rendered with one input port and one output port.

 

 

Switch

The Switch node is a multi-way branch node that lets you configure a workflow path for each selected field value or criteria option. During execution, the workflow evaluates the configured field values or criteria options in the defined order and follows the path of the first matching option.

Configure the Switch node by using one of the following types:

The switch type cannot be changed after the node is configured.
If a field or field option used in criteria is deleted, the workflow is marked as invalid.

 

Configure a Field-Based Switch

  1. Drag the Switch node to the workflow editor.

  2. Select Field as the switch type.

  3. In the drop-down, select the required field.

  4. Under Select Options, select the required field values. You can select up to 100 field values, including the default option. A separate workflow path can be configured for each field value.

  5. Drag and reorder the field values to define the evaluation order.

  6. Optionally, select Include Default Option to configure a fallback workflow path when none of the selected field values match. You can rename the default option, if required.

  7. Click Save.

 

 

The node includes one input port and an output port for each selected field value. If Include Default Option is selected, an additional output port is added for the default path.

Configure a Criteria-Based Switch

  1. Drag the Switch node to the workflow editor.

  2. Select Criteria as the switch type.

  3. Provide a name for the criteria-based switch.

  4. Click  to add an option. You can add up to 25 options besides the default option.

  5. Provide a name for the option. A workflow path can be configured for each option.

  6. Define one or more conditions for each option by selecting the column and criteria values. You can add up to 100 conditions for each option.

  7. Drag and reorder the options and conditions to define their evaluation order. During execution, the workflow evaluates the options in the configured order and follows the path of the first matching option.

  8. Optionally, select Include Default Option to configure a fallback workflow path when none of the configured criteria match. You can rename the default option, if required.

  9. Click Save.

 

Node Ports

The node includes one input port and an output port for each criteria option. If Include Default Option is selected, an additional output port is added for the default path.

Actions Nodes  

Action nodes are used to automate certain actions in the workflow. This node type contains the following nodes: Notification, Approval, Field Update,Task, Custom Function, Webhook, and Timer.

Notification - Send a custom notification when the release transitions between stages.

 

 

Fields

Description

Notification Name*

Add a name to identify the notification.

Description

Describe the notification usage.

Notify*

Select the recipients to whom the notification must be sent: users/release users/release roles/organization roles/CAB. Type the user name and select the user from the drop-down.

Subject*

 

Enter the subject and message to be sent in the notification email.

Message

* mandatory attributes

 

Release  Roles and Release Users
Release Users and Roles filter is split into Release Roles and Release Users.
Release Roles lists roles configured under Release Management > Release Roles.
Release Users lists all other users, including users associated in asset and CMDB lookup fields.

Release users will list asset users, when the user lookup field is added to an asset. 

You can also refer this page to learn how to configure custom notifications for workflows. Click Save or Save and Select.

 

 

The notification node is rendered with a single input port and output port.

 

 

Approval

Use Approval node to add approval levels between stages and to configure approval email notifications. You can configure the approval node by selecting an existing approval or by creating one.

Approvals created in workflows are automatically listed under Approval Actions and can be reused anywhere. To keep an approval exclusive to the current workflow, enable Only for this Workflow when you create it. 

Add Approval Nodes

  1. Drag the Approval node to the workflow editor and configure the following details.

  2. Select an existing approval from the left pane. The approval retains all configurations defined in the approval action, including approvers, email notification template, and approval settings.

  3. To edit the selected approval, click on the top-right corner of the page.

  4. To create an approval, click New Approval in the left pane.

  5. Fill out the form by using the pointers given below:

 

Fields

Description

Approval Name*

Provide a name for the approval.

Description

Briefly describe the approval.

Approval Rule*

Choose the approval condition:

  • Anyone to Approve - Approval granted if at least one approver approves; rejected only if all reject.

  • Everyone to Approve - Approval granted only when all approvers approve; otherwise rejected.

  • First Response Action - Approval outcome is based on the first approver's response.

  • Majority to Approve - Approval is granted when the majority of approvers approve.

  • % to Approve - Approval is granted when the specified percentage of approvers approve.

Approvers*

Select approvers from organization roles, request users, or users.

Type the user name and select the user from the drop-down.

Email Notification Template

Select the notification template for approval emails.

Global Template - Uses the approval notification template configured under Automation > Custom Actions > Approvals > Global Configuration > Approval Notification.
Use Custom Template - Configure an email notification template specific to this approval. You can also configure Actionable Messages if the Outlook Actionable Messages integration is enabled.

Subject*

Global template: The subject and message are auto-populated. You cannot modify the message directly from the workflow.

  • To modify it, go to Setup > Automation > Notification Rules > Request.

  • Under the Email Notification Templates section, click across Approval Email and make the necessary changes.

Custom template: Provide subject and message for the approval notification. You can include variables, if required.

Message

Approval Settings

Choose the approval settings.

  • Global Settings - Uses the approval settings configured under Setup > General Settings > Approval Settings.

  • Custom Settings - Configure settings specific to this approval:

  • Mandate comments for all approvals.

  • Notify pending approvers when one has acted on the approval.

  • Automatically approve if approver is </user>.

  • Automatically approve if the same approver has previously approved at an earlier level.

* mandatory fields

 

 

Options

Description

Only for this Workflow

Restricts the approval to the current workflow, preventing reuse elsewhere.

You cannot enable or disable this option after creating the approval.

Setup Alternate Path on Error

Configure an alternate workflow path to handle workflow execution failures.

 

 

 

The Approval Level node has one input port and two output ports: Approved and Rejected. If an alternate path is configured, the node has three output ports: Approved, Rejected, and On Error.

 

You cannot add approvals/approval levels from the release details page if a release workflow is associated with the release request.

 

Field Update - Update a field value before it proceeds to the next stage in the workflow.

 

 

 

Fields

Description

Field Update Name*

Add a unique name to identify the field update configuration.

Description

Describe the field update usage.

Fields*

Select the field and the value that must be applied during the field update.

You can configure update for multiple fields using .

* mandatory attributes

 

You can also refer this page to learn how to configure field update action for workflows. Click Save or Save and Select.

 

 

Field update node is rendered with a single input port and output port.

 

 

Task - Add tasks to the release request when a specific stage and status is reached. Tasks can be created in any stage irrespective of where the node is present in the workflow.

 

 

 

Fields

Description

Task Name*

Add a unique name to identify the task.

Description

Describe the task details and usage.

Task Configuration

Select the release stage where the task must be created.

Set up the other task configurations as explained here.

You can copy the configurations from an existing task template using Copy from a Template.

* mandatory fields

 

 

Task node is rendered with a single input port. The output ports vary based on whether the workflow is paused until task completion or if an alternate path is enabled.

 

  

 

Custom Function - Implement any automated action using custom functions with Boolean return type. Based on the return type, the workflow will proceed accordingly.

 

 

 

 

The custom function node is rendered with a single input port. The output ports vary based on whether an alternate path is set up.

 

          

 

Webhook - Send data from the service desk to third-party applications or external services.

 

 

 

 

Webhook node is rendered with a single input and output port.

 

 

Timer - Pause the release workflow for a specific time duration and execute actions when the timer is running, aborted, or elapsed.

 

 

 

Timer node is rendered with a single input port. The output ports vary based on whether an alternate path is set up.

 

              

 

Branch Nodes

Branch nodes are used to create sub-flows within the workflow. You can execute multiple branches in parallel.

Fork - Split the workflow into multiple paths. You can execute multiple forked paths in parallel, provided the conditions present in the nodes in each path are satisfied.

To create a fork in the workflow,

 

Fork node is rendered with a single input and output port.

 

 

You cannot add stage nodes in forked paths.
You cannot create nested forked paths.

 

Join - Merge parallel paths forked earlier. The workflow resumes the sequential flow.

To join the workflow,

 

Join node is rendered with two input and output ports (Completed/Failed).

 

 

Link Nodes

To establish a connection between nodes, connect the output port of a node to the input port of another node.

The link used to connect two nodes is called a connector.

 

Refer to the following screen video for a better understanding:

 

 

Manage Nodes and Connectors

Node Actions - Hover over a node and click to perform the following actions:

 

 

Connector Actions - Hover over a connector to perform the following actions:

 

Reposition Nodes/Connectors - Drag a node or connector to reposition it on the canvas as needed. The source or target node of a connector can be changed by dragging the input or output vertexes.

Workflow Editor Actions

View/Modify Workflow Details

In the stencil panel, go to the Details tab to view the workflow details. You can modify the workflow name and description if needed.

 

 

Alternatively, you can also click the workflow name or description in the header to modify them.

 

Workflow Actions

You can manage the space on your editor canvas using the following functionalities:

 

 

 

To manage the workflow and the data, you can:

 

 

 

 

On saved workflows, you can:

 

 

Module admins can export historical records in the CSV format, including node edits. To do that,

 

After configuring the workflow, click Save or Save and Close on the workflow footer. ServiceDesk Plus will automatically validate your workflow before saving it. Descriptive warning messages are displayed to notify you if the workflow configuration contains errors.

Validate Workflows

Workflows are validated based on the following rules:

If a configuration used in a workflow is updated in any admin configurations, the workflow becomes invalidated. Invalidated workflows are indicated with a icon in the workflow list view and Releases tab. You cannot perform any operations on invalidated workflows, except edit or delete.

Sample Workflow