Support Ticket Quality Review: Fair Scores and Coaching That Gets Booked
Each week's support QA sample is scored, disputed, corrected and turned into coaching in one Kylon room. Agents score HubSpot tickets against the rubric and check the summary, and the QA lead approves every score change before it reaches Notion.
Thirty tickets, one rubric and plenty of room for argument
A weekly QA review samples thirty closed tickets and scores each against the rubric: greeting, accuracy, resolution, tone and professionalism. The scores feed coaching, so reps read them closely. A score that is wrong, or a ticket that should never have been in the sample, costs more trust than the review earns.
The tickets live in HubSpot, the QA sheet is a Notion database, the rubric is a document in Google Drive, disputes arrive by Gmail and coaching lands on Google Calendar. When the rubric is revised midweek or the sample window turns out to be wrong, someone re-scores by hand, rewrites rows that never changed, and the summary that reaches team leads drifts away from the sheet.
Who works in the room
People
Support QA lead
Owns the rubric and the sample, rules on disputes and approves every score change
Support team leads
Raise disputes for their reps, run coaching sessions and confirm session times
Support operations manager
Sets the sample window and the score below which a rep gets coaching
Agents

NovaQA scorer
Scores each sampled ticket per rubric criterion from the HubSpot conversation and writes approved scores to the Notion QA sheet

MycoSummary checker
Checks the weekly QA summary against the sheet as it stands and lists missing, out-of-scope and wrong-total lines
Notion
Google Drive
RyanCoaching and replies
Proposes coaching sessions for low scores, books them once a team lead approves, and drafts the reply on each dispute thread
Unaddressed messages in the QA room go to Nova, the default agent, so a question about a ticket's score lands with it. Myco takes anything about the summary. Ryan takes coaching, because it is the only agent with a grant to the team's coaching calendar. When a re-score pushes a rep below the coaching line, Nova mentions Ryan with the ticket and the new total, and Ryan leads from there. For a full re-score, Nova reads the thirty conversations through parallel helpers and gets one set of scores back.
The weekly review, step by step
The rubric and the sample rules live in the QA folder, and the room guidelines say which fields an agent may change. Each step ends with the QA lead or a team lead.
- Agent works
- Person decides
- Arrives or gets recorded
flowchart TD
sample([The week's closed tickets<br>are sampled])
score["<b>Nova</b> scores each ticket per<br>criterion from HubSpot"]
ok1["<b>Support QA lead</b> approves<br>before Notion is written"]
rubric["<b>Nova</b> re-scores under<br>the revised rubric"]
window["<b>Nova</b> removes out-of-window<br>and duplicate tickets"]
rule["<b>Support QA lead</b><br>rules on a dispute"]
rok["<b>Support QA lead</b> approves<br>only the changed set"]
wok["<b>Support operations manager</b><br>confirms the window"]
reply["<b>Ryan</b> drafts one reply<br>on the dispute thread"]
summary["<b>Myco</b> checks the weekly summary<br>against the sheet as it stands"]
release["<b>Support QA lead</b> corrects<br>and releases it"]
coach["<b>Ryan</b> proposes a coaching session<br>with the rep's team lead"]
time["<b>Support team lead</b> approves<br>the time before it is booked"]
sample --> score --> ok1
ok1 --> rubric & window & rule
rubric --> rok
window --> wok
rule --> reply
rok & wok & reply --> summary --> release --> coach --> time
class score,rubric,window,reply,summary,coach agent
class ok1,rule,rok,wok,release,time person
class sample event
classDef agent fill:#FFFFFF,stroke:#DCD3C8,color:#1B1712
classDef person fill:#EEF0E3,stroke:#6E7447,color:#1B1712
classDef event fill:#F4ECDD,stroke:#F4ECDD,color:#564C42| Stage | What happens | Who acts | Who decides |
|---|---|---|---|
| Scoring | Each sampled ticket is scored per criterion from its HubSpot conversation, with a line on why | Nova | The QA lead approves before scores are written to Notion |
| Rubric revision | Tickets are re-scored under the new rubric, and only tickets whose score or status changes are updated | Nova | The QA lead approves the changed set |
| Sample window correction | Tickets outside the corrected window and duplicates come out of the sample and the totals | Nova | The support operations manager confirms the window |
| Disputes | An upheld dispute restores the original sheet value for that criterion only | Nova, then Ryan for the reply | The QA lead rules on each dispute and sends the reply |
| Summary review | The weekly summary is checked against the sheet for missing, out-of-scope and wrong-total lines | Myco | The QA lead corrects and releases it |
| Escalation and coaching | Low scores go to the rep's team lead and a coaching session is proposed | Ryan | The team lead approves the time before it is booked |
A rubric revision in the middle of the week
A rubric revision is where QA reviews usually go wrong. Re-scoring all thirty tickets and rewriting every row makes the sheet's history useless, because a rep can no longer see which scores actually moved. Nova re-scores the full sample against the new rubric but proposes updates only for tickets whose score or status changed, and lists the rest as unchanged.
A window correction works on the sample itself. If the window should have started on Monday, tickets closed the Sunday before come out, a ticket sampled twice counts once, and every total that included them is recomputed. Disputes come last and are the narrowest change: when the QA lead upholds one, only that criterion on that ticket goes back to its original sheet value, and Ryan drafts a single reply on the dispute thread stating the new total.
What the checks catch
- A row rewritten in Notion even though its score and status did not change
- A ticket outside the corrected sample window, or sampled twice, still counted in a total
- A summary line that is missing, belongs to an out-of-scope ticket, or carries the wrong total
- An upheld dispute that resets the whole ticket instead of the one criterion in question
- A second reply on a dispute thread that already has one
What stays with people
- Approving every score change before it is written to the Notion sheet
- Ruling on each dispute and sending the reply, which Ryan prepares as a Gmail draft
- Setting the coaching line and deciding who gets coaching
- Approving each coaching time before it is booked
Integrations in this workflow
Kylon is not a help desk and it does not replace one. It sits across HubSpot, the QA sheet and the calendars the support team already uses, and keeps the review's coordination in one room.
- HubSpot holds the sampled tickets and their conversations, read for scoring
- Notion holds the QA sheet, with one row per sampled ticket
- Google Drive keeps the rubric, its revisions and the weekly summary
- Gmail carries disputes in and replies out, as drafts the QA lead sends
- Google Calendar carries each approved coaching session
- Slack is where team leads flag a dispute or ask for a session
Where to start
Begin with one week's sample. Connect the Notion QA sheet, point Nova at the rubric folder in Google Drive, and put one rule in the room guidelines: only tickets whose score or status changed are written, and only after the QA lead approves.
“When a rep asks why a score moved, the answer is already in the thread.”
Set it up with your agent
Open a new Room, add your agent and paste this prompt. It connects the tools, builds the App with you and asks for your rules one step at a time, and nothing goes out until a person approves it.
Set up our support ticket quality review desk in this Room. Take it one step at a time and wait for my OK before you move on. 1. Connect Gmail, Google Calendar, Google Drive, HubSpot, Notion and Slack. Tell me which ones still need connecting. 2. Ask me who works this desk: the support QA lead, the support team leads and the support operations manager. Help me invite them to this Room. 3. Build a Ticket QA App with Ticket, Rep, Score and Status columns, one row per sampled ticket. Pull this week's closed tickets from HubSpot to fill it. 4. Score each ticket against the rubric in Google Drive, one line per criterion from the HubSpot conversation. Show me any row where the score or status would change, and hold everything else as unchanged. 5. Write approved score changes to the Notion QA sheet only after the QA lead approves each one. Draft dispute replies as Gmail drafts for the QA lead to send. Propose coaching sessions for low scores and book them on Google Calendar only after the team lead approves the time. 6. Write our rules, the coaching line, the dispute flow and who approves each write or send into this Room's guideline so every weekly review follows the same order. 7. After one clean week, offer to turn the weekly scoring run into an Automation. Before you start, ask me for our rules one at a time.
Your first company harness. Where humans and agents run your business together.
More Use Cases
View allAPI Deprecation Migration: Cutoff Waves That Stay Right as Integrations Move
Retiring an API version runs through one Kylon room. Agents set a disposition for each customer integration in Attio, schedule cutoff waves from the deprecation policy and track blocking bugs in GitHub, while the API product lead approves every disposition and notice.
Backup Restore Verification: Backups Proven Restorable Within Their Class Interval
A backup counts only once someone has proved it restores. Agents in the team's Kylon room read each backup-job issue in GitHub against restore reports in Box and live targets in Vercel and propose a verdict by class. The reliability lead approves before any issue changes.






