# 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.

- Workflow type: agent
- Services: Jira Service Management, Slack Bot
- Categories: Customer Support, Operations
- Published: 2026-08-04

## What it does

- 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 you'll need

- 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.

## Prompt

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.

## How to customize

- 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.

## Example output

SLA watch: 2 breached, 3 at risk

1. HELP-482 Payment gateway timeout at checkout | Highest | BREACHED 47m ago | Unassigned
   Time to resolution is blown and nobody has picked this up since it arrived.
2. HELP-467 SSO login loop for the finance team | High | 12m left | A. Okafor
   Time to resolution at 94 percent. Last agent update was 3 hours ago.
3. HELP-455 Bulk export fails above 10k rows | High | 38m left | M. Reyes
   Waiting on a customer reply. Chase it or pause the clock.
4. HELP-441 Mobile app crashes on file upload | Medium | 1h 05m left | D. Silva
5. HELP-430 Invoice PDF shows the wrong tax total | Medium | 1h 22m left | Unassigned

## FAQ

### Will customers see the notes it leaves on tickets?

No. Every note is posted as an internal comment, so only your agents can see it. The customer facing conversation on the ticket stays untouched.

### What counts as at risk?

Anything that has already breached its SLA, plus anything that has burned more than 80 percent of its allowed time and has under 20 percent left. That 80 percent line is a common convention and you can move it if your team runs to a different standard.

### Will this flood our Slack channel every hour?

No, and that is the point. It posts one consolidated message per sweep rather than one per ticket, skips any ticket it already nudged in the last four hours, and posts nothing at all on hours when nothing is at risk.

### What if a ticket stays at risk for most of the day?

It gets nudged once, then goes quiet for four hours before it can be nudged again. It still appears in the ranked Slack summary each hour so it never quietly falls off the radar.

### Does it work across more than one service desk?

Yes. You can point it at a single desk or let it sweep everything your account can see. Most teams start with their busiest desk and expand once they trust the signal.

Use this prompt in General Input: https://www.generalinput.com/prompts/catch-jira-service-desk-tickets-before-their-sla-runs-out