# A weekly ticket quality review desk for Freshdesk support leads

> Give every support lead a fair, sampled queue of resolved tickets to score against your own rubric, with an assistant that pre-scores each one.

- Workflow type: app
- Services: Freshdesk, Google Sheets, Slack
- Categories: Customer Support, Operations
- Published: 2026-08-24

## What it does

- Builds each reviewer a personal weekly queue of recently resolved tickets, sampled fairly so busy agents get looked at more often and nobody ever reviews their own work.
- Shows the full customer conversation inline next to your rubric, so scoring tone, accuracy, resolution and follow up happens on one screen.
- Pre-scores any ticket on demand: an assistant reads the whole thread, suggests a score for every rubric line and quotes the evidence, and you change anything before saving.
- Rolls scores up by agent and by team, keeps a running log in a Google Sheet, and writes a monthly coaching brief you can send straight to an agent's manager in Slack.

## What you'll need

- A Freshdesk account and an API key from an agent profile that can see tickets, agents and groups
- A Google account with a spreadsheet where the running scorecard log should live
- A Slack workspace for sending coaching briefs to managers
- Your quality rubric, or start with the built in tone, accuracy, resolution and follow up scales and edit them in the app

## Prompt

I want an internal app my support leads open once a week to review ticket quality in Freshdesk. It is a review desk, not a report: a reviewer signs in, gets their own sampled queue of tickets resolved in the past week, reads each full customer conversation inside the app, and scores it against a rubric I configure. Build four surfaces: my review queue, the ticket review screen, agent and team rollups, and a rubric settings page.

When someone opens the app, match them to a Freshdesk agent using List Agents by comparing the signed in user's email against the agent emails, and let them pick their agent manually if the match fails. Everything is per reviewer: their queue, their in progress scores, their history.

Building the weekly queue is the part that has to be right. Use List Agents and List Groups to get the active agents and which group each belongs to. For each agent, run a narrow Filter Tickets query scoped to that one agent and the past week (agent id plus resolved or closed status plus an updated date range) and count what they resolved. Do not try to pull the whole week in one query: Filter Tickets returns at most 30 results per page and 300 in total, so per agent queries are the only way to see real volume. Allocate the reviewer's weekly sample across agents in proportion to each agent's resolved volume, so someone who closed 120 tickets contributes far more of the queue than someone who closed 12. Make the sample size per reviewer a setting with a default of 15 tickets. Drop one touch autoreplies before sampling: check the conversation count on each candidate and skip anything that closed with a single outbound message and no customer back and forth. Never hand a reviewer a ticket they handled themselves, checked against the responding agent and against anyone who replied on the thread. Seed the sample per reviewer per week so the queue is stable if they close the app and come back, and never give the same ticket to two reviewers in the same week.

The queue view lists each sampled ticket with subject, requester, the agent who handled it, the group, priority, how many replies it took, whether it was reopened, time to resolve, and a scored or not scored state, plus a progress counter such as 6 of 15 scored.

Opening a ticket goes to the review screen. Load the ticket with View Ticket and the whole thread with List Ticket Conversations, and render the conversation inline in reading order with sender, timestamp, and whether each entry was a public reply or a private note, so the reviewer never has to open Freshdesk. Alongside it, show the rubric as a scoring panel: by default tone, accuracy, resolution and follow up, each on a 1 to 5 scale with its own comment box, plus an overall comment. Saving persists the scores and comments in the app against that reviewer and ticket, and appends a row to a running scorecard log in Google Sheets with Append Values carrying review date, reviewer, agent, group, ticket id and subject, each rubric score, the total, the comments, and whether the score came from the assistant or was overridden by the human. Add previous and next controls so a reviewer can work straight through the queue without going back to the list.

Every ticket needs a pre-score button that kicks off a background agent. That agent reads the ticket with View Ticket and the full thread with List Ticket Conversations, then proposes a score for every rubric line with a short justification and a direct quote from the thread as evidence, for example the exact sentence where the agent apologised, or the point where a promised follow up never arrived. Its output lands back in the app as a draft score, rendered in the scoring panel with the quoted evidence beside each line and clearly marked as suggested. The human can change any number or comment before saving, and the saved record keeps track of which lines were accepted and which were overridden so I can see over time how close the assistant is running.

The rollup view answers who needs coaching. Build a per agent table from List Agents showing tickets reviewed, average score overall and per rubric line, the spread of scores, and the trend against previous weeks. Build a per team table from List Groups that aggregates the same numbers by group. Let me filter by date range and by group, and click through from any row into the underlying reviewed tickets.

Put a write the coaching brief button on each agent's rollup row. It starts a second background agent that gathers that agent's reviewed tickets for the chosen month from the saved scores, re reads the notable ones with List Ticket Conversations, and writes a short coaching brief: what they do well with a quoted example, the two or three patterns to work on with quoted examples, and concrete suggestions. Show the brief in the app for review, then a send button posts it to that agent's manager in Slack with Send a Message, either into a chosen channel or as a direct message after resolving the manager's conversation with Open a Conversation. Let me set the manager per agent in settings.

The settings page is where I define the rubric. Let me rename categories, change the scale, add or remove lines, mark lines required, and write the guidance shown to reviewers for each line, and version the rubric so older scores keep the version they were graded against. The same page holds the weekly sample size, the volume weighting, the skip rules for autoreplies, the Google Sheet and tab used for the log, and the Slack destinations.

Two rules to build in. There is no customer satisfaction or survey rating data available for this helpdesk, so do not design any view around CSAT: quality is the human rubric score plus the signals on the ticket itself, meaning reply count, reopens, time to resolve and priority. And rubric feedback must never reach the customer, so if I switch on writing a summary back into Freshdesk it has to use Add Note to Ticket in private agent only mode, never Reply to Ticket.

## How to customize

- Rewrite the rubric: rename the categories, change the point scale, add or remove lines, and decide which ones reviewers must fill in
- Set how many tickets each reviewer gets per week and how heavily the busiest agents are weighted in the sample
- Change what gets skipped, such as one touch autoreplies or anything below a minimum number of replies
- Pick the Slack channel or manager DM the coaching brief goes to, and whether a private summary note is written back onto the ticket

## FAQ

### Does this use customer satisfaction survey scores?

No. Survey ratings are not part of this app. Quality here is your team's rubric score plus what the ticket itself shows: how many replies it took, whether it was reopened, how long it took to resolve, and how urgent it was.

### Can a reviewer end up scoring their own tickets?

No. The app matches each reviewer to their own agent record and leaves those tickets out of their queue, including tickets they replied on rather than owned.

### How does it decide which tickets to review?

Each agent's share of the queue is proportional to how many tickets they resolved that week, so the busiest agents get looked at most. One touch autoreplies and tickets with almost no back and forth are skipped, and the same ticket is never handed to two reviewers in the same week.

### Will the scores or coaching notes ever reach the customer?

No. Nothing is ever sent as a customer reply. If you turn on writing feedback back into the helpdesk, it goes on as a private note only your agents can see.

### Where do the scores live?

They are saved in the app for each reviewer and also appended as rows to your Google Sheet, so you keep a running history you can chart, filter or export at any time.

### Do reviewers have to score everything by hand?

Only if you want them to. Every ticket has a pre-score button that has an assistant read the thread and propose scores with quoted evidence, and the reviewer edits or accepts before saving.

Use this prompt in General Input: https://www.generalinput.com/prompts/a-weekly-ticket-quality-review-desk-for-freshdesk-support-leads