Catch Jira service desk tickets before their SLA runs out
Every hour, find the tickets closest to breaching, leave a nudge on each one, and post a ranked at-risk list to your support channel.
Every hour on the hour during business hours, Monday through Friday from 9am to 6pm in my team's timezone, sweep my Jira Service Management service desk for requests whose SLA clocks are about to run out and make sure a human is actually on them.
Start with List Customer Requests in Jira Service Management to pull everything that is still unresolved. Page through all of the results rather than stopping at the first page. Do not try to read service desk queues: there is no queue operation available, so this works off the customer request list plus per-request SLA lookups instead.
For each unresolved request, call Get Request SLA Information to read its SLA cycles. Treat a request as at risk when any ongoing cycle has already breached, or when it has burned more than 80 percent of its target and has less than 20 percent of its time remaining. Ignore cycles that already completed within target, and ignore paused clocks where the SLA is not currently counting down.
Before you comment on anything, call Get Request Comments on each flagged request and skip it if one of these nudges was already left there in the last four hours. So that later runs can recognize their own nudges, begin every comment you write with the marker text "SLA watch" on the first line. This four hour quiet period is what stops the same ticket being nudged over and over until people tune it out.
Rank the requests that survive that filter by how little time is left first, then by priority, so the most urgent sits at the top. Already breached requests rank above everything still inside its target.
For each at-risk request, use Create Request Comment to leave a short internal note. Set the comment to internal rather than public so the customer never sees it. Keep it to a couple of lines and name what still needs to happen: which SLA is at risk, how much time is left or how long ago it breached, the current status and assignee, and the concrete next action. If a request is unassigned, say so plainly and ask for an owner.
Then use the Slack Send a Message action to post one consolidated message to my support team channel containing the full ranked list. Send one message per sweep, never one message per request. Open with a single line counting how many have breached versus how many are at risk, then list the entries in rank order with the request key, a short summary, the priority, the time left or the amount it is overdue, the assignee or a clear note that it is unassigned, and a link to the request.
If nothing is at risk this hour, or if everything at risk was already nudged within the last four hours, post nothing to Slack at all. Staying quiet on a clean hour is what keeps the channel worth reading.
Example output
Additional information
What does this prompt do?
- Checks your service desk every hour during business hours and pulls every ticket that is still unresolved.
- Works out which ones have already missed their deadline and which have less than 20 percent of their time left.
- Leaves a short internal note on each at-risk ticket naming what still needs to happen, visible to your team but never to the customer.
- Posts one ranked list to your support channel, most urgent first, and stays silent on hours when nothing needs attention.
What do I need to use this?
- A Jira Service Management account with access to the service desk you want watched.
- SLAs already configured on that desk, since those are the deadlines everything is measured against.
- Permission to comment on tickets in the desk.
- A Slack workspace and the channel where your support team already talks.
How can I customize it?
- Change the hours and days it sweeps, or how often it runs during those hours.
- Move the at-risk line from 80 percent of the clock used to whatever threshold your team holds itself to.
- Adjust the four hour quiet period between repeat nudges on the same ticket, or point the summary at a different channel.
FAQs
Will customers see the notes it leaves on tickets?
What counts as at risk?
Will this flood our Slack channel every hour?
What if a ticket stays at risk for most of the day?
Does it work across more than one service desk?
Related templates
Every weekday, find every unpaid JobNimbus invoice, email each customer one reminder that gets firmer as it ages, and post a receivables summary to Slack.
Every weekday at 7am, your active courses are checked for missing work, silent logins, and slipping grades, with a ranked list sent to your advising channel.
Every new customer request gets a priority, triage labels, a friendly reply with the right help article, and a Slack ping only when it is truly urgent.
Every weekday afternoon, each student who is behind gets a warm, personal message in their Canvas inbox listing exactly what they owe.
Every Monday at 8am, see exactly which assignments have work waiting, sorted worst first, posted to Slack and logged to a spreadsheet.
Every weekday morning we compare your password vault against your HR records and suspend access for anyone who has already left.
Stop finding out about SLA breaches after they happen.
Put an hourly sweep on your service desk that surfaces the tickets running out of time and tells your team exactly who needs to move.