# One triage console for every Jira service desk queue

> Merge your IT, HR and Facilities queues into one list ranked by SLA time left, then reply, change status and escalate without ever opening Jira.

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

## What it does

- Pulls every ticket from every one of your service desks into a single ranked board, so agents stop hopping between project queues to find what is urgent
- Ranks by how much time is left before the service level target is missed, colour codes each row (red under an hour, amber under four) and pins unassigned and already breached tickets to the top
- Opens the full conversation in a side panel where you can reply to the customer, leave an internal note your customer never sees, and move the ticket to its next status in place
- Adds a Draft the reply button that sends a background assistant to read the ticket and its whole comment thread, search your help centre, and write a suggested reply plus the matching article link back into the screen for you to edit and send
- Adds an Escalate to engineering button that opens a linked engineering ticket and posts the escalation into your support Slack channel in one click

## What you'll need

- A Jira Service Management account with agent access to the service desks you want on the board
- A Jira account for raising and linking engineering escalations
- A Slack workspace with the channel your support team uses for escalations
- Help centre articles published in Jira Service Management, if you want the drafted replies to cite them

## Prompt

Build me a triage console my support team can live in all day. It should merge the queues of every Jira Service Management service desk we run (IT, HR, Facilities and any others) into a single list ranked by how much SLA time is left, instead of making agents hop between project queues.

The main screen is the board. A handler builds it by calling List Service Desks to find every desk the connected account can see, Get Service Desk Queues for each desk, and Get Issues in Queue to pull the tickets sitting in those queues, falling back to List Customer Requests where a desk has no useful queue defined. For each ticket the handler calls Get Request SLA Information to read the live countdown on the time-to-first-response and time-to-resolution goals, and uses the smallest remaining time as the ticket's sort key. Rows show the ticket key, summary, service desk, request type, current status, reporter, assignee and the remaining time as a human countdown like 43m left or Breached 2h ago.

Ranking and colour rules: sort ascending by time remaining so the most urgent ticket is always the top row. Colour code each row by time remaining, red when under one hour, amber when under four hours, neutral above that. Pin unassigned tickets and already breached tickets to the top of the board above the normal ordering, since those are the ones that quietly rot. Give the board filters for service desk, request type and status, with request types loaded from Get Service Desk Request Types so the filter shows real names rather than free text.

Persist a per-user preference for which service desks that person covers, and open the board pre-filtered to their own slice every time they load it, with a clear control to widen back out to all desks. Two agents on different desks should get different boards from the same app.

Clicking a row opens a detail pane on the right. It loads the ticket with Get Customer Request and the whole conversation with Get Request Comments, showing public replies and internal notes distinctly and in chronological order, so the full history is on screen without opening Jira. The pane has a reply box with a toggle between Reply to customer and Internal note, and posting either one calls Create Request Comment with the public flag set accordingly. It also has a status control: load the available next steps with Get Request Transitions and move the ticket with Perform Request Transition, then refresh the row in the board so the change is visible immediately.

Add a Draft the reply button in the detail pane that kicks off a background agent for that one ticket. The agent reads the request with Get Customer Request and its full thread with Get Request Comments, works out what the customer is actually asking, searches our help centre with Search Knowledge Base Articles for relevant material, and writes a suggested reply plus the matching article link back into the app. The draft lands in the reply box for the agent to edit and send. It must never post to the customer by itself, a human always presses send. Show a clear working state on the button while the draft is being generated, and show the suggested article as a link next to the draft so the agent can check it before citing it.

Add an Escalate to engineering button in the detail pane. It opens a dialog for the target project, issue type and a short description prefilled from the ticket summary and thread, then creates a Jira issue with Create Issue, links that new issue back to the service desk ticket with Create Issue Link using a Relates or Blocks relationship, and posts the escalation to our support Slack channel with Send a Message including the service desk ticket key, the new engineering issue key, the customer impact and a link back to this app. Record the escalation on the ticket as an internal note with Create Request Comment so the history stays in one place.

Implementation notes. Every Jira and Jira Service Management call needs a cloudId, resolved once from the accessible resources endpoint and reused. List responses page with start, limit and isLastPage, so page through queues and requests rather than assuming a single page. Comments can be public or internal, so the reply box has to send that flag explicitly and the thread has to render the difference obviously, since posting an internal note publicly is the worst mistake this app could make. SLA lookups are per ticket, so fetch them concurrently with sensible batching and cache briefly to keep the board fast on a busy morning. Nothing in this app runs on a schedule, this is a working surface a person opens, and the drafting agent only runs when someone presses the button.

## How to customize

- Change the colour thresholds, for example red under thirty minutes and amber under two hours, to match how your team actually works
- Choose which desks each person covers so their board opens on their own slice every time
- Pick the Slack channel escalations land in, and the engineering project new escalation tickets get raised in
- Adjust the tone and length of the drafted replies, or point the article search at a specific help centre

## FAQ

### Does this work across separate service desks like IT, HR and Facilities?

Yes, that is the whole point. The board reads every service desk you have access to and merges their queues into one list, so an agent covering two or three desks sees a single ranked view instead of switching projects all day.

### Can agents reply to customers from the board, or is it read only?

They can reply. The detail panel has a reply box with a toggle between a public reply the customer receives and an internal note only your team can see, plus a control to move the ticket to its next status.

### What does the Draft the reply button actually do?

It kicks off a background assistant that reads the request and its full comment history, searches your published help centre for relevant articles, and writes a suggested reply with the matching article link back into the screen. Nothing is sent to the customer until an agent reviews it and hits send.

### Does it change anything in Jira Service Management automatically?

No. Every reply, status change and escalation happens because a person clicked a button. Nothing runs on a schedule and nothing posts to a customer on its own.

### Will each agent see a different board?

Yes if you want them to. The app remembers which desks each person covers and opens on their slice, and anyone can still filter by service desk, request type or status to see the rest.

Use this prompt in General Input: https://www.generalinput.com/prompts/one-triage-console-for-every-jira-service-desk-queue