How to use the Approval Completed trigger with workflows that have multiple approval steps?

Platform Notice: Cloud Only - This article only applies to Atlassian apps on the cloud platform.

Summary

The Approval completed trigger (JSM-only) fires after every approval step. In a workflow with more than one approval step, a rule on this trigger runs repeatedly — once per step — unless you add a condition to scope it.

Solution

Scenario

Let's consider a Jira Service Management Project that has two levels of approvals (each one requires a single approval):

  • Initial Validation - First Approval Step

  • Secondary Approval - Determined depending on the issue characteristics

To support the above scenario, we have two custom fields to determine the approver of each step - Approver 1 and Approval 2 - both single-user fields. In this example, we will set the following behavior:

  1. Approver 1 will be set by default; more on how to do that can be found on this page.

  2. Upon ticket creation, Approver 1 will be set as the Assignee via automation.

  3. Approval 2 will be set based on the value of a custom field named Total Credit Amount - using automation

  4. Once the first approval is completed, Approval 2 will be set as the assignee - using automation

  5. Once the second approval is completed, the ticket will go back to Unassigned - using automation

Sample Workflow:

(Auto-migrated image: description temporarily unavailable)

Issue Created Automation

Once the issues are created, we will have two automations triggered, in this example:

  • Field Approver 1 = customfield_10111

  • Field Approval 2 = customfield_10112

To find the custom field IDs in your environment, please use this reference page: How to find id for custom field(s)?

Setting Approver 1 as the Assignee

  • Issue created trigger

  • Assign issue action

    • Assign issue to = Smart value

    • User = {{customfield_10111.accountId}}

(Auto-migrated image: description temporarily unavailable)

Determining Second Approval

  • Issue created trigger

  • If/Else condition - to validate the appropriate approver

  • Edit issue actions

    • Pick the Approval 2 field from the drop-down and select the user

(Auto-migrated image: description temporarily unavailable)

Approval Completed Automation

  • If the first approval is completed, assign the issue to the second approver

  • If the second approval is completed, set the issue to unassigned

Set the rule as:

  • Approval Completed trigger

  • Add an Advanced Compare condition as

    • First value = {{approval.approver}}

    • Condition = equals

    • Second value = {{customfield_10111.accountId}}

  • Assign issue action

    • Assign the issue to = Smart value

    • User = {{customfield_10112.accountId }}

  • Add an Advanced Compare condition as

    • First value = {{approval.approver}}

    • Condition = equals

    • Second value = {{customfield_10112.accountId}}

  • Assign issue action

    • Assign the issue to = Specify user

    • User = Unassigned

(Auto-migrated image: description temporarily unavailable)

Note: The above are examples of how the smart values can be used to accomplish different behaviors for specific approvals; the rules above can be changed and adapted to accommodate the specific needs of your environment.

Scope the rule with smart values

To run the rule only after the intended approval step, add a condition that checks an approval smart value — for example, gate on the specific approver field or approval step name. This prevents the rule from executing on every approval completion.

For the exact smart value fields available, refer to:

Test with both approval paths

Trigger the workflow through each approval branch (approved and declined) and confirm the rule executes only at the intended step. Check the automation audit log — you should see a single execution, not one per step.

Reference Information

Updated on July 23, 2026

Still need help?

The Atlassian Community is here for you.