Model Tiered Approvals

Model tiered approval workflows in which requests are routed sequentially through escalating levels of authority.

Example: An employee expense reimbursement request must be reviewed and approved first by the employee's manager and then by finance. The request advances through each approval level sequentially, moving to the next approver only after the current approver reviews it.

Model a Tiered Approval Workflow Using If/Else Gateway

  1. Create a workflow.
    1. In the Workflow section, click Create Workflow.
    2. Enter details for the workflow and click Create. See Create a Workflow.
  2. Configure the start and end events.
    1. In the start event, add a JSON payload that would trigger the workflow. See Configure a Start Event.

      The image shows the Edit start dialog for configuring a workflow start event. The panel includes a Name field populated with Start event and an empty Description field. Under Define payload, a dropdown labeled "Select input payload source" is set to JSON Editor. Below it, a Payload section displays a JSON template with empty string values for the following fields: request_id, request_summary, request_description, requested_by, requested_date, lv1_approver, and lv2_approver.

    2. In the end event, add a JSON payload to return a response when the workflow completes. See Configure an End Event.

      The image shows the Edit end dialog for configuring a workflow end event. The panel includes a Name field populated with End event and an empty Description field. Under Define payload, an informational message states, "All end events share the same payload definition." A dropdown labeled "Select input payload source" is set to JSON Editor. Below it, the Payload section displays a JSON template containing a final_outcome field and a details array with objects that include the fields approver, approved_date, approval_outcome, comment, and task.

  3. Configure the task for level 1 approval by Manager. See Configure Tasks.

    Screenshot of a workflow designer showing a simple approval process with three connected nodes: Start Event, Task (Level 1 Approver), and End Event. There are small warning icons on the Task and End Event node. On the right, an Edit task panel is open for the Level 1 Approver task with the General tab selected. The panel includes fields for Name (Level 1 Approver), an empty Description, and Define task settings. The Outcome is set to Approve or Reject. The Task title visible to assignee field contains an expression that incorporates the request ID. The Form dropdown is set to RequestResponseForm 01.00.0000. Under Select assignee, the User option is selected, and the Assignee field is populated with messageStartArgs.lv1_approver.

  4. Add another task, and configure it for level 2 approval by Finance. See Configure Tasks.

    Screenshot of a workflow designer displaying a sequential approval process with four connected nodes: Start Event, Task (Level 1 Approver), Task (Level 2 Approver), and End Event. On the right, an Edit task panel is open for the Level 2 Approver task with the General tab selected. The panel includes a Name field set to Level 2 Approver, an empty Description field, and Define task settings. The Outcome is configured as Approve or Reject. The Task title visible to assignee field contains an expression that includes the request ID. The Form dropdown is set to RequestResponseForm 01.00.0000. Under Select assignee, the User option is selected, and the Assignee field is populated with messageStartArgs.lv2_approver. Warning icons are displayed on both task nodes and the end event node.

  5. Add an if/else gateway between Level 1 and Level 2 Approver tasks.

    Click Add icon at the location where you want to add the if/else gateway and then select Add If/Else.

    The if/else gateway is added between the Level 1 and Level 2 Approver tasks.


    Screenshot of a workflow designer showing a conditional approval workflow. The process begins with a Start Event, followed by a Task (Level 1 Approver), then an If Else decision node. The decision branches into two paths: the primary path continues to a Task (Level 2 Approver) and then to an End event, while the alternate else branch leads directly to a second End event (End event 1), bypassing the Level 2 approval. Warning icons are displayed on the task nodes and both end event nodes, and the If Else node shows a validation/error indicator. The workflow connections clearly illustrate the branching logic between the two possible outcomes.

  6. Configure the if/else gateway.
    1. Select the If Else element, click Actions Actions icon and then select Configure.

      Screenshot of a workflow designer showing a conditional approval workflow with a context menu open for the If Else decision node. The workflow begins with a Start Event, followed by a Task (Level 1 Approver), then an If Else node that branches into two paths. The main path continues to a Task (Level 2 Approver) and then to an End event, while the else branch leads directly to a second End event (End event 1). A three-dot options menu on the If Else node is expanded, displaying the options Configure and Delete, with the cursor hovering over Configure. Warning icons appear on the task nodes and end event nodes, and the If Else node displays a validation/error indicator.

    2. In the Edit pane, enter the following details.
      1. Provide a meaningful name and description in the appropriate fields.
      2. In the Condition field, specify the condition which if fulfilled allows the workflow to proceed to the next task.

        You can use the expression editor to build the expression for the condition. See Work with Expressions.


        Screenshot of an Edit dialog for configuring an If Else decision node in a workflow. The dialog includes a Name field set to If Else and a Description field containing a text. Below, a Condition field is populated with the expression Level1ApproverOutput.taskOutcome=="APPROVE", which defines the condition for following the primary branch. An expression picker (+) button appears beside the condition field.

        In the above example, the condition Level1ApproverOutcome.taskOutcome=="APPROVE" checks whether the Level 1 Approver task's outcome is APPROVE. If the condition evaluates to true, the workflow proceeds to the next task. Otherwise, it follows the alternate path to End event 1.

  7. Map input data for the tasks and the end events. See Map Data in Tasks and End Events.
    1. Map input data for the task that requires Manager approval (Level 1 approver).

      Screenshot of a Map input configuration page for the Level 1 Approver task. The page displays a mapping table with 1 field configured. In the first row, the source field messageStartArgs.request_description (String) is mapped to the form field input.formData.request (String), indicated by a right-arrow. An Actions column on the right provides edit (pencil) icons for each mapping row.

    2. Map input data for the task that requires Finance approval (Level 2 approver).

      Screenshot of a Map input configuration page for the Level 2 Approver task. The page displays a mapping table with 1 field configured. In the first row, the source field messageStartArgs.request_description (String) is mapped to the form field input.formData.request (String), indicated by a right-arrow. An Actions column on the right provides edit (pencil) icons for each mapping row.

    3. Map input data for the end event (End event) in which the workflow ends if both the Level 1 approver (Manager) and Level 2 approver (Finance) sequentially approves the expense reimbursement request.

      Screenshot of a Map input configuration page for the End event. The page displays a mapping table with fields configured. An Actions column on the right provides edit (pencil) icons for each mapping row.

    4. Map input data for the end event (End event 1) in which the workflow ends if the Level 1 approver (Manager) rejects the expense reimbursement request.
      Instead of configuring the mappings from scratch, you can copy and reuse the mappings configured for the previous end event (End event) in this end event (End event 1). See Reuse End Event Mappings.

You've successfully created a tiered approval workflow using an if/else gateway.

Once created, you can activate the workflow and use it in an integration. See Activate a Workflow and Add a Workflow to an Integration.

Run the integration to test the workflow and monitor it's runtime status. See Monitor a Workflow.

To use the workflow with agentic AI, see Use Workflows with Agentic AI.