Request Workflow

Request workflow is a sequence of steps that automates how a request is handled from submission to closure. Create workflows specific to your organization and associate them with incident and service templates.

Define the directional path of requests in the workflow editor by using the built-in graphical tool.

This page discusses request workflows under the following topics:

 

A detailed walkthrough video on request workflows is available here.

 

 

 

Create Workflows

 

You will be directed to the workflow editor.

Configure Workflows 

The workflow editor provides an expandable, scrollable editor to create workflow diagrams and a stencil panel to add workflow nodes.

 

Default view of a new workflow editor

 

The stencil panel comprises two tabs: Drag & Drop Nodes and Details. You can add nodes to the editor from the Drag & Drop Nodes tab by using a simple drag-and-drop action. The Details tab displays the basic information about the workflow. You can click next to each field to modify its details.

 

 

Configure Nodes 

Nodes are workflow elements that define how request workflows should be processed. The stencil panel contains the following nodes under the Drag & drop Nodes tab.

 

You can add nodes into the editor by using a simple drag-and-drop action. When a node is added, a pop-up window appears, allowing you to specify its properties.

 

Refer to the following sections to understand the purpose of each node and how to configure them.

 

State Node 

Add statuses to your workflow.

 

 

After adding a status, you can control how it transitions by configuring a link type. The link type can be set on connectors from the Start node to a State node, or from a State node to condition, action, or branch nodes.

Click  on the connector to set the link type. The available link types are:

You can use transitions to define user scope, mandate fields, and trigger actions at defined times. The following section explains how to create transitions in detail.

 

Configure Transitions

 

Before - This phase occurs before the transition begins.

Before option is not applicable when the Start node is connected to a State node.
If Scope and Criteria are not configured, the transition button will be visible to all technicians with request edit permissions. 

 

 

During - This phase occurs as the request transitions to the next state. The configured actions are executed when the transition occurs.

 

After - This phase occurs after the transition.

 

 

Condition Nodes

Checks whether the configured conditions are met and moves the request to the next node. Following are the different types of condition nodes:

 

 If

Checks if the specified conditions are met before the request proceeds to the next node.

 

 

The If node has a single input port and two output ports (Yes/No).

Wait For

Pauses the request workflow until the specified conditions are met.

 

Sample Script for Custom Callback Function

 

 return { 
   "sdp_workflow_signals": [ 
     { 
       "entity_name": "request", 
       "entity_id": entity_id, 
       "wait_for_node_name": "Wait for JIRA Response" 
     } 
   ] 
 }; 

 

 

The Wait For node has a single input port and a single output port.

 

 

Switch

A multi-way branch node that checks the value of a specified field and applies a workflow path based on that value.

 

 

The Switch node has a single input port and N number of output ports based on the added field options.

 

Action Nodes

Automates the following actions during workflow execution:

 

Notifications

Automatically sends emails or messages to users or groups when the node is reached.

 

 

The Notification node has a single input port and a single output port.

Field Update

Updates specific field values in a request when predefined conditions are met.

 

 

The Field Update node has a single input port and a single output port.

 

 Approval Level

Adds multiple approval levels to requests when the node is executed. You can trigger multiple approval level nodes simultaneously by using Fork and Join nodes. You can add up to 20 approval levels.

What Happens When the Workflow Controls Approvals

Approval settings are enabled by default in workflows. In this case,

The option While a request is waiting for approval, stop the timer and set request status to <status> enabled under Advanced Portal Settings does not apply to workflow-based requests.

 

If you prefer to manage approvals through request templates, custom triggers, or manual additions instead of the workflow, you can disable workflow-based approvals. To do this,

 

 

Requests are approved automatically by the system if the following options are enabled under Admin > Advanced Portal Settings > Approval.

Auto-approve requests if already approved by the same approver in previous levels.

Auto-approve requests when the requester is the approver.

 

 

Configure Approval Levels

 

 

Fields

Description

Name*

Provide a name for the approval.

Description

Briefly describe the approval.

Level Name*

Provide a name for the approval level.

Wait For*

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 granted when the first approver approves; rejected otherwise.

Approvers*

Select approvers by organization roles, request users, or user-referred additional fields.

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

Notification Template

Select the global template or custom template to send the approval notification.

Subject*

Global template: The subject and message are populated automatically. You cannot edit the message directly from the workflow. To modify the message, go to Admin > Automation > Notification Rules > Request. Under the Email Templates for section, click Approval (Level 1) > Customize Template and make the necessary changes.

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

Message

* mandatory fields

 

 

The Approval Level node has a single input port and two output ports (Approved/Rejected).

 

 

The request’s Approval Status field is not updated automatically after an approval action. To automate, use the Field Update node in the workflow.

 

 

 

Approval Level Behavior

When approval levels are added through workflows, approval rules configured in General Settings and Request Templates no longer apply. However, you can replicate the same behavior by configuring the appropriate nodes and settings within the workflow.

 

Requirement

Existing Configuration

Equivalent Workflow Configuration

While a request is waiting for approval, stop the timer and set request status to...

General Settings > Advanced Portal Settings > Approval

Add the State node with the Onhold status before the Approval Level node.

Close requests automatically if approval is denied

Admin > Automation > Closure Rules > Request

Add the Field Update node to update the Approval Status field to Rejected and connect it to the Cancelled status.

Assign technician only after Service Request approval

Configured in service templates

In the workflow editor, click  > Settings and select Assign technician only after Service Request approval.

Wait for Editor to 'Edit the Request' before sending the approval

-

Use the Wait For node to ensure the required fields are filled before proceeding.

Select Approver Field

-

Use user-referred additional fields in requests to define approvers.

Retrigger all approval levels when Resource is updated

-

To retrigger approval levels when the resource is updated, move the request from the In Progress status to Open using a transition.

If approvals for that level are already completed, they will not be triggered again automatically.

To retrigger them:

  1. Delete the existing approval record.

  2. Redirect the workflow back to the Approval Level node.

To automate this process:

  • Create a Common Transition from the state node that connects the Approval Level node.

  • Under After Rules, configure a custom function to invoke Approval Level Delete API:

/requests/<request_id>/approval_levels/<level_id>

This ensures that the existing approval record is deleted and the approval levels are retriggered automatically whenever the resource is updated.

An illustration of retriggering approval levels

 

Adding approvers using Script return JSON

-

Use the Approval Add API to add approvers to existing workflow approval levels.

Adding new approval levels via API is not supported.

 

Custom Function

Executes custom operations by using custom functions.

 

 

 

 Webhook

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

 

The Webhook node has a single input port and a single output port.

   

User Defined Action

Automates actions across instances when the node is reached. The supported actions depend on the instance selected.

When User Defined Action is executed within the same instance as the workflow - You can create Requests, Child requests, Announcements, Custom module records, and request subentities such as Tasks, Notes, and Checklists.

When User Defined Action is executed in a different instance - You can create Requests, Custom module records, and Announcements.

 

Configure User Defined Action

Click here for more information on user-defined action.

 

The User Defined Action node has a single input port. The number of output ports depends on whether an action completion or an alternate path is configured.

 

UDA with single input and output port

UDA configured with action completion and alternate path

UDA configured with action completion

UDA configured with alternate path

 

 

Timer

Executes time-delayed actions on requests. You can pause the request for a specific time duration and execute actions when the timer is active or after it ends. Timer starts when this node is executed.

 

 

 

The timer node has one input port and one output port. When an abort criteria is configured, it includes two output ports (Aborted & Ended).

 

        

 

When the Timer node is reached, the configured actions are executed based on the defined schedule or duration.

 

Branch Nodes

Manages complex workflows by handling multiple scenarios simultaneously. There are two types of branch nodes.

 

Fork Node

Splits the workflow into multiple parallel paths, allowing different actions to run simultaneously.

 

 

The Fork node has a single input port and a single output port.

 

 

You can add up to 15 forks in the workflow.
Forked paths must always be merged using the join node.
State nodes cannot be added in forked paths.
Nested forking is not supported.

 

Join Node

Merges multiple parallel paths into a single workflow path.

The workflow must contain an equal number of Fork and Join nodes.

 

 

The Join node has a single input port and two output ports (Success & Failure).

 

Sample Workflow

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.  

 

Manage Nodes and Connectors

Node Actions

Right-click on a node to perform the following actions:

 

 

Connector Actions

 

Reposition Nodes/Connectors - Drag any node or connector to adjust its position on the editor. The source or target node of a connector can be changed by dragging the input or output vertexes.

Workflow Editor Actions

You can perform the following actions from the workflow editor.

Collapse the Stencil - click on top of the stencil panel to expand or collapse it.

Edit Workflow Details - Click the workflow name on the header or go to the Details tab in the stencil to edit the basic details of the workflow. You can also associate or dissociate templates.

View Associated Requests - Click Associated Requests on the header to view the requests associated with the workflow. On the associated requests list view,

 

Multi-select and Move Nodes - Use the Select Tool icon on the header to select multiple nodes and reposition them in the editor.

Reset Workflow - Use the Reset  icon on the header to reset a workflow to its default state. If the workflow was previously saved, it will be restored to its last updated state.

Configure Approval Settings - Click > Settings and enable Apply approval process only via workflow to add approval levels through the workflow. The Approval Level node is displayed only when this option is enabled.

Task Settings (Migrated builds only) - If the Move the request status to Closed/Resolved when all associated tasks are completed rule was enabled before migration, the Complete request when all associated tasks are completed option will appear under ️ > Settings. The option is enabled by default.

If you disable it, you cannot enable it again, and request closure must be managed through the workflow configuration.

Export Workflow - Click > Export as PDF on the header to export the saved workflow as a PDF document.

View Workflow History - Click > View History on the header to see all operations performed on the workflow.

View Help Card - Click  > Help to view the help card.

Zoom In/Zoom Out Workflow - Use the zoom handle on the editor's left corner to view the graph in a large/small scaled view.

Save Workflow - Click Save on the header to save the workflow.

Associate/Dissociate/Resume Workflow 

Associate Workflow - To associate a workflow with a request, go to the request details page and click Actions > Associate Workflow.

A workflow can be associated with the request only if the request’s template is already linked to the workflow.

Dissociate Workflow - To remove the workflow associated with the request, go to the request details page and click Actions > Dissociate Workflow.

Resume Workflow - If a workflow is updated or a node fails, you can resume it from where it stopped. Go to the request details page and click Actions > Resume Workflow.

You can also associate, dissociate, and resume workflow in bulk from the request list view. To do this, select the required requests and click Workflow > Associate/Dissociate/Resume Workflow.

Sample Use Case

 

The following use cases are sample scenarios. You can design workflows based on your organization's requirements.

Use Case 1: Employee Onboarding Workflow

At Zylker, to onboard an employee, the HR team used to send multiple emails and follow up with different teams. This manual process was time-consuming, prone to delays, and often resulted in missed tasks.

Using a request workflow, the HR team has automated the onboarding process, making it quick, timely, and error-free.

When an employee onboarding request is created by using a template associated with the onboarding workflow, the workflow is triggered automatically and the onboarding steps are carried out as configured.

The following table explains how each workflow node is used to configure the onboarding process.

 

Process

Node Configuration

Initiation

In the HR instance,

  • Create an employee onboarding workflow.

  • Associate it with the New Hire Request template.

Status

  • Start the workflow with the Open status.

Configure Approval Level

  • Add the Approval Level node to route the request to the HR Head and Hiring Manager for approval. Link the state node and approval level node by using Transition.

  • If the request is approved, the workflow moves to the next step; if rejected, the request is closed automatically.

Update Approval Status

  • Use the Field Update node to update the Approval Status field based on the action taken.

Assign Request

  • Use the Field Update node to assign the request to the relevant group.

Initiate Hiring Process

  • Use Transition to initiate the hiring process and configure an After Rule notification to inform the reporting manager that the onboarding has started.

  • Set the Status to In Progress.

IT and Administrative Activities

To manage IT and administrative tasks efficiently during onboarding:

  • Create requests and child requests in the IT instance by using User Defined Action.

  • Use Fork nodes to trigger multiple operations simultaneously.

  • Enable Wait for Request Completion and Set up alternate path if there is an error wherever needed to ensure smooth execution and proper handling of failures.

Email and AD Account Creation

  • Use the User Defined Action node to create child requests for setting up the official email ID and Active Directory account.

  • Configure a reminder notification to ensure these tasks are completed on time.

  • Add a Timer node to automatically cancel the parent request if the task remains incomplete after the reminder.

Asset, Workspace, and Payroll Setup

  • Use the User Defined Action node to create requests for laptop allocation, workspace arrangement, and payroll activation.

  • Use Fork and Join nodes to execute these actions simultaneously.

Software and VPN Setup

  • Use the User Defined Action node to create child requests for installing required software and setting up the employee’s VPN account.

  • Add the Notification node to inform the employee when their assets are ready for collection.

Completion and Closure

After all onboarding activities are completed, add the Status node to update the request status to Resolved.

 

 

Use Case 2: Laptop Request Workflow

Zylker's IT Help Desk handles laptop requests manually through emails and spreadsheets. This often leads to approval delays and inconsistencies in asset allocation.

To streamline the process, the IT team created a Laptop Request Workflow to automate the entire process. User-defined actions play a key role by automating task creation, enforcing task completion before the workflow moves forward, and generating asset-return child requests for test machines.

Below are the configuration details for each node used in the workflow.

Process Stage

Nodes Used

Details / Configuration

Request Initiation

Create Workflow

  • In the IT Help Desk instance, create a workflow and associate it with the Request for a Laptop template.

 

State Node

  • Set the initial request status to Open.

  • To handle incorrect requests, connect the Open status with the Cancelled status by using Transition. Define roles to perform this transition.

 

If Node

  • Check if the requester is a VIP user:

    • If VIP - Skip the approval process.

    • If not VIP - Proceed to approval.

Approval Process

Approval Level Node

  • Send the approval to the requester’s reporting manager.

    • If Approved - Proceed to the next step.

    • If Rejected - Cancel the request by connecting the Rejected port to the Cancelled status.

Request Assignment

Field Update Node

  • After approval, assign the request to the hardware procurement support group.

 

State Node

  • Move the request status to Assigned.

Acknowledge User

Notification + State Node

  • Send an email to the requester acknowledging assignment.

  • Update the status to In Progress.

Asset Setup Process

User Defined Action Node

  • Create tasks sequentially:

    • OS installation

    • Software installation

    • Hardware diagnostics

    • Asset assignment

  • Enable Wait for Task Completion for each task to ensure it completes before proceeding to the next step.

Handle escalations

Notification Node

Timer Node

  • Send an escalation email if a task becomes overdue.

  • Configure the waiting period.

Custom Function Node

  • Pause the workflow until the task is completed, then continue to the next step.

Task Completion

Notification Node

  • After tasks are completed, notify the requester that the asset is ready for collection.

Wait For

  • Wait until the requester collects the asset. You can check this by using the condition Is Asset Received by User.

State Node

  • After asset collection, set the status to Resolved.

 

 

Asset Type Check

If Node

  • Check the asset type:

    • Permanent Machine - Close immediately.

    • Test Machine - Proceed to the asset return process.

Asset Return Process

Timer Node

  • Add the waiting period based on the asset return date.

User Defined Action (UDA) Node

  • Create a child request for asset return by using the Asset Return Date from the parent request.

State Node

  • After creating the child request, move the parent request to the Closed status.

 

 

FAQs

1. Why is the Request Life Cycle feature no longer available?

The Request Life Cycle feature is deprecated because Workflows now manage all request processes with more advanced capabilities, including state transitions, auto transitions, action execution, and conditional waits.

All configurations previously handled through Request Life Cycles can now be fully managed by using Workflows.

 

2. After all approval levels are approved, why does the Approval Status field not update to Approved automatically?

This is an expected behavior.

To update the Approval Status field, add the Field Update node to the workflow and configure it to set the Approval Status to Approved (or any required value) after all approval levels are completed.

 

 

3. Why is the Submit for Approval button missing for requests linked to a workflow?

For requests associated with a workflow, approvals cannot be added manually. All approval actions must be defined within the workflow using the Approval Level action node.
If you want to add approvals manually for workflow-based requests, disable the Apply approval process only via workflow setting in the workflow.

 

 

4. What should I do when a workflow execution fails?

If the workflow execution fails due to configuration issues:

 

Alternatively, after updating the workflow configuration, you can open the individual request and click Actions > Resume Workflow.

 

 

5. How can a workflow be updated in the live environment without affecting existing requests?

To update a workflow without impacting requests that are already in progress, follow these steps:

  1. Copy the existing workflow and make the required changes to the copied version.

  2. Copy the associated template, link it to the copied workflow, and test the updated flow.

  3. After testing, associate the original template with the modified workflow.
    This ensures that existing requests continue to follow the old workflow, while new requests use the updated version.

If you want to apply the updated workflow to existing requests:

  1. Go to the request list view.

  2. Select the required requests.

  3. Dissociate the existing workflow by clicking Workflow > Dissociate Workflow.

  4. To associate the updated workflow, click Workflow > Associate Workflow.

 

6. Why do requests not resume automatically when the condition in the Wait For node is updated?  

Changes made to the Wait For node do not apply to requests that have already reached that node. The updated condition applies only to requests that enter the node after the update.

Use Advanced Filter in the request list view to identify requests that are currently waiting at the modified node. Select the requests and click Workflow > Resume Workflow.

 This behavior applies to all nodes in the workflow. 

 

 

7. Why doesn’t the request status automatically change to Onhold after sending for approval?

This is expected behavior.

 

 

8. My workflow migrated from request life cycle looks cluttered and messy. How can I improve it?  

Workflows migrated from request life cycle may contain redundant transitions. You can simplify and optimize the workflow by consolidating common transitions.

For example, if multiple transitions lead to the On Hold status, replace them with a single common transition.

 

9. I need my workflow to wait until a JIRA task is completed. How can I achieve this?

This can be accomplished by using a Callback Custom Function in the Wait For node. When this node is used, the workflow pauses until it receives a signal from the callback custom function.

After the JIRA task is completed, JIRA triggers the published URL of the Callback Custom Function, which signals the workflow to resume execution.

This approach can also be used when the workflow needs to wait for input from externally integrated applications, ServiceDesk Plus modules, or ESM portal-based cases.

 

10. Can I associate multiple workflows to a template?

No, you cannot associate multiple workflows to a single template. However, multiple templates that follow the same process can be associated with a single workflow.

 

11. Why is the Reorder Transition option not visible in the right-click menu for a status?

The Reorder Transitions option appears only when multiple manual transitions are configured for the status node. If there is only one transition, the option will not be shown.

 

12. What happens when all approvers used in the Approval Level node are deleted? Will the level be auto-approved?

If all approvers configured in the Approval Level node are deleted, the approval will not be auto-approved. The node fails and the workflow stops.

To continue execution, update the workflow configuration with valid approvers and click Resume Workflow from the request details page.