# A morning triage board for your HappyFox ticket queue

> Work the whole HappyFox queue from one board: see what is unassigned, overdue or aging, then reply, assign and escalate without leaving the page.

- Workflow type: app
- Services: HappyFox, Slack Bot
- Categories: Customer Support
- Published: 2026-08-24

## What it does

- Lays your HappyFox queue out in four lanes: unassigned, due today or overdue, waiting on the customer, and anything aging past three days, oldest ticket first.
- Opens any ticket beside the board with its full customer conversation, so agents read the history and act in the same place.
- Lets agents assign an owner, set priority, status and a due date, send a reply, leave an internal note, retag, and escalate a ticket summary to Slack.
- Adds a Draft a reply button that looks up how similar tickets were solved before and files a suggested response as an internal note for a human to edit and send.

## What you'll need

- A HappyFox help desk account, connected by someone with admin rights
- A Slack workspace with a channel where escalations should land
- Your ticket categories and agents already set up in HappyFox, so each specialist can filter to their own queue

## Prompt

Build me an app my support agents open first thing every morning to work our HappyFox queue, instead of clicking around the help desk UI. The people using it are support agents plus a support lead, and most agents live in one ticket category all day.

The main screen is a triage board with four lanes, all built from HappyFox List Tickets: Unassigned, Overdue or due today, Waiting on customer, and Aging past three days. Page through List Tickets at its maximum page size of 50 to load the open queue. If a ticket qualifies for more than one lane, place it in the leftmost lane it matches and mark it with a small tag for the others so it never appears twice. Sort every lane oldest first by created date. Each card shows the human facing display id (for example #HFS00000001), the subject, the customer name, category, priority, current assignee, age in days, and the due date, with a clear overdue state on anything past its due date.

Above the board put a filter bar: category, priority, assignee, and a text search on subject. Load the category list from HappyFox List Categories, the agent list from List Staff, and the status list from List Statuses. There is no list operation for priorities, so build the priority filter from the priority values that come back on the tickets themselves. Remember each viewer's chosen category filter and reapply it the next time that person opens the app, so a specialist lands straight on their own queue.

Clicking a card opens a detail pane beside the board that calls Get Ticket and shows the full conversation in order, with public customer replies and internal notes visually distinct, attachments listed, and the ticket properties pinned at the top.

From that pane an agent can act on the ticket without leaving the app. Assigning an owner, setting priority, changing status, setting a due date and sending a customer reply all go through Add Staff Reply. An internal comment goes through Add Staff Private Note. Retagging goes through Update Ticket Tags. An Escalate button posts a summary of the ticket into a Slack channel using Slack Bot Send a Message, including the display id, subject, customer, category, priority, age, due date, a short excerpt of the latest customer message and a link to the ticket in HappyFox; after posting, record the escalation on the ticket as a private note saying who escalated it and to which channel. After any action, refresh that ticket and re-evaluate which lane it belongs in.

Every ticket card and the detail pane also get a Draft a reply button that kicks off a background agent. The agent reads the ticket with Get Ticket, then uses List Tickets to pull past resolved tickets in the same category, opens the most similar looking ones with Get Ticket to see how that issue was handled before, and writes a suggested response grounded in what actually worked. It files that draft with Add Staff Private Note as an agent only internal note, clearly labelled as a suggested draft that has not been sent. The agent must never send anything to the customer and must never call Add Staff Reply. Show the run state on the card (drafting, then draft ready) and surface the resulting note at the top of the detail pane so a human can read, edit and send it.

Two HappyFox details to bake in. Assignee, status and category are set by numeric id rather than by name, so load the ids from List Staff, List Categories and List Statuses when the app loads and map them to readable labels everywhere in the UI. Ticket id is the number used in ticket paths while display_id is the label to show people. All HappyFox timestamps are UTC, so convert to the viewer's timezone before working out age, due today and overdue colouring.

Give the board a manual refresh control, refetch when someone returns to the app, and keep the board readable with a heavy queue: dense cards, clear lane counts, and no pagination controls in the way of a morning pass through the queue.

## How to customize

- Redefine what each lane means, for example swapping aging past three days for your own service level window, or adding a lane for one category
- Choose which Slack channel escalations post to and what the summary includes
- Tune the drafted replies: change the tone and length, or widen how far back the app looks for similar resolved tickets

## FAQ

### Will a drafted reply ever be sent to the customer automatically?

No. Every draft is filed as an internal note that only your agents can see. A person has to read it, edit it and send it themselves, so nothing reaches a customer unreviewed.

### Does it work with our own categories, statuses and priorities?

Yes. The board reads your real categories, statuses, priorities and agent list out of HappyFox rather than assuming a fixed set, so it matches however your help desk is configured.

### Can each agent land on just their own tickets?

Yes. Filters cover category, priority and assignee, and the board remembers each person's category filter, so a specialist opens straight into their own queue every morning.

### How does it know a ticket is overdue?

It compares each ticket's due date against the current time in the viewer's own timezone and marks anything past due with a clear overdue state, so a board opened in another country still reads correctly.

### Does anything change in HappyFox, or is this read only?

Changes are real. Assignments, priority and status changes, due dates, replies, internal notes and tag edits are all written back to the ticket in HappyFox, so your history stays complete.

### How fresh is the data on the board?

It pulls current tickets from HappyFox each time the board is opened or refreshed, so you are always working the live queue rather than a nightly snapshot.

Use this prompt in General Input: https://www.generalinput.com/prompts/a-morning-triage-board-for-your-happyfox-ticket-queue