Approvals in slack
With tools such as Slack becoming commonplace, and many users preferring Slack over email for internal communications, being able to approve requests via Slack is a common need for teams.
Although there isn't a way to natively handle approvals in Slack (even when you're using Halp), there is a way to notify approvers using a combination of the official Jira Slack bot and Automation for Jira.
This is accomplished by having an automation rule trigger a comment on the issue, and mentioning the approver, which sends a Slack notification to the approver, letting them know there's a request awaiting approval, along with a link to the request on the portal to approve/decline.
Hi [~accountId:{{issue.Approvers}}] this needs your approval. Please visit {{issue.url.customer}} to approve/decline.
This is what it looks like in practice:
This way the approvers can live in Slack, and not worry about missing any of their approval notification emails.
Manager approvals
A common use case for most business processes (e.g. approving expenses), is to have the manager approve the request.
Because JSM doesn't have a way to natively map a user's manager, a common workaround to accomplish this is to have a user select their manager on the portal, or have the agent manually route the request to the manager for approval.
However, there's now a way to automatically route approvals to managers by setting the manager as the approver dynamically in the workflow.
This is accomplished through a Jira post function:
To use this post function, you'll rely on Multiplier to automatically fetch the requestor's manager from your identity provider and insert that into your workflow.
When this post function runs successfully on an issue, you'll notice in the issue history that Multiplier has set the approver after issue creation:
Approval reminders
Another useful tip is to send reminders to approvers for any pending approvals.
Using Automation and a little bit of JQL trickery, this is fairly straightforward to accomplish!
First, set up your trigger to Scheduled (once a day).
- Use the "Run a JQL search and pass results to subsequent conditions and actions" setting.
Example JQL: approvals = pending() and ((created < -4d and created > -5d))
Then, select Send Email as your action with the following settings.
- To = Pending approvers
Feel free to customize the subject, content and other options to resemble the other notifications your service desk sends out.
Here are a couple of examples:
- Subject = Action Required: {{issue.key}} is awaiting your approval
- ContentHello,
Please review this ticket waiting for your approval.
To approve or decline this ticket, click the link below: {{issue.url.customer}}
Here's an example of what this email looks like:
Hopefully these tips have been helpful to you, and I would love to hear any other tricks you've implemented in your environment.