skip to main contentSkip to main content
[ /BLOG · ENGINEERING ]WAVE 15 R2-C

Watchtower QA: every auto-reply gets a quality score, low scorers route to human review

Beamdesk Watchtower scores every auto-resolved ticket, sends weak answers to the Exception Inbox, and learns from the human edits that fix them.

Frederic Beeg · April 26, 2026

A customer asked whether a returned espresso machine qualified for a refund after the courier missed the pickup window. The auto-reply said, "We are sorry for the inconvenience. Refunds are reviewed after inspection and you will hear back soon." It was polite, grammatical, and almost useless. Watchtower scored it 61, flagged the answer for vague policy handling, and routed it to the Exception Inbox. A human agent changed the response to explain the missed pickup exception, issued the prepaid label, and promised refund release within two business days of scan. CSAT on that return segment improved 22 points over the next week.

That is the job of Watchtower. Not to make a dashboard look sophisticated. Not to give every AI answer a ceremonial grade after the customer already absorbed the mistake. Watchtower exists because support automation needs trust by verification, not by faith.

The market is full of "100% AI resolution" claims. The number is usually a sales artifact. It tells you how many tickets automation touched, not whether the answer was specific, grounded, policy-safe, complete, and acceptable. Beamdesk treats AI like a junior agent with a senior reviewer. Most replies can go out. Some need a second set of eyes.

Every Auto-Reply Gets Scored

Watchtower runs after the model drafts an answer and before Beamdesk commits the outcome as clean. Depending on the persona, it can run before send, after send, or both. High-risk queues usually use pre-send scoring. Low-risk queues often allow send, then use post-send scoring to monitor drift and feed the exception review loop. Either way, the score becomes part of the ticket's audit record.

The score is not a single vibe check. Watchtower evaluates five dimensions: grounding, completeness, policy fit, customer fit, and operational risk. Grounding asks whether the answer is supported by retrieved knowledge, ticket history, and tool output. Completeness asks whether the customer can act on the answer without asking the obvious follow-up. Policy fit asks whether the reply respects refund rules, warranty limits, SLA commitments, privacy boundaries, and escalation policy. Customer fit asks whether tone, language, and context match the person in the thread. Operational risk asks what happens if the model is wrong.

watchtower score
  grounding:        84
  completeness:     58
  policy_fit:       67
  customer_fit:     89
  operational_risk: 62
  final_score:      61
  action:           route_to_exception_inbox

The final score is intentionally conservative. A friendly answer with weak policy support should not pass because the tone model liked it. A grounded answer that skips the customer's actual requested action should not pass because retrieval was strong. The score is a gate, not a compliment.

The Five Quality Dimensions

Grounding is the first line of defense. If the reply says an order shipped, the shipment tool must support that claim. If the answer cites a return window, the retrieved policy must contain that window. Watchtower checks for unsupported claims, stale knowledge, contradictory snippets, and tool outputs that were ignored or overread.

Completeness catches the answer that is technically true but operationally weak. "You can request a refund in your account" may be true, but it is weak if the customer has already tried and hit an error. A complete reply gives the next action, the condition, the timeline, and the exception path when needed. This dimension is where many polished AI replies fail.

Policy fit protects the business and the customer. It looks for promises the team cannot keep, refusals that skip an allowed exception, refund language that conflicts with region rules, and privacy-sensitive actions that require verification. Policy fit is stricter on regulated or high-value personas. A small delivery status miss is not the same risk as a wrong cancellation commitment.

Customer fit measures whether the answer belongs in this conversation. It checks language, tone, customer tier, prior frustration, accessibility needs, and whether the reply acknowledges the actual concern. This is not about making every answer sugary. An enterprise admin reporting an outage needs direct ownership. A first-time buyer asking about a return needs clarity and reassurance. Different context, different bar.

Operational risk asks how expensive the mistake would be. Watchtower raises the bar when a reply changes money, access, legal posture, account state, medical or safety expectations, or an SLA commitment. It lowers the bar for low-risk informational answers where a small miss can be repaired without harm. That is why the same draft quality can pass in one queue and route to review in another.

Thresholds Are Configuration, Not Theology

Teams set Watchtower thresholds per persona, queue, language, and action type. A generic FAQ queue might auto-send at 78. A billing disputes persona might require 90 and still route anything above $500 to review. A multilingual queue might require a higher customer-fit score for languages where the knowledge base is thin. The threshold is a business decision expressed as a product control.

persona: returns_standard
auto_send_threshold: 82
exception_threshold: 70
always_review:
  - refund_amount > $300
  - customer_sentiment = severe
  - policy_fit < 80
  - retrieval_conflict = true

We discourage teams from chasing one universal score. It creates the same problem as one universal model. Support work is not uniform. The right QA bar depends on the cost of being wrong, the visibility of the customer, the maturity of the knowledge base, and how quickly a human can repair the answer. Watchtower makes those tradeoffs explicit.

The Exception Inbox Workflow

Low scorers route to the Exception Inbox with reason codes, not just a red badge. The reviewer sees the original customer message, the proposed reply, supporting knowledge, tool output, model route, score breakdown, and the specific failure hypotheses. "Completeness low: no timeline promised." "Policy fit low: refund exception mentioned but not applied." "Grounding low: answer cites warranty period not present in retrieved source."

The reviewer can approve, edit, reject, or escalate. Approval teaches the system that the score was too conservative for that context. Edits are stored as structured corrections. Rejections become negative training signals for routing, retrieval, and persona policy. Escalations keep the ticket with a human owner and prevent it from being counted as a clean AI resolution.

This workflow matters because quality review has to fit support operations. If QA is a weekly spreadsheet, it catches patterns but misses customers. If QA blocks every reply, automation becomes a drafting tool with expensive latency. The Exception Inbox sits between those extremes. It lets strong answers move and focuses human attention where the system is least sure.

The Learning Loop

Human edits are the most valuable data in a helpdesk. They show what a good agent changed under real constraints. Watchtower stores those edits as correction events: what claim was removed, what policy clause was added, what tool result mattered, what apology was unnecessary, what escalation should have happened. The router and scoring models learn from that shape.

When enough corrections cluster around an intent, Beamdesk can recommend a knowledge update, a persona rule, a threshold change, or a different model route. If agents keep adding "refund releases after carrier scan," the issue may be missing policy text. If agents keep changing Haiku drafts to Sonnet-like nuance in German warranty disputes, the issue may be the route. If Watchtower keeps flagging a phrase that reviewers approve, the scoring prompt is too strict.

learning signal:
  intent: return_pickup_missed
  repeated_edit: "carrier scan starts refund clock"
  affected_tickets: 43
  recommendation: update returns policy article
  expected_exception_reduction: 18%

This is not magic retraining after every ticket. It is operational feedback with reviewable recommendations. Support leaders can accept or reject changes. The system should learn from humans without silently rewriting the policy of the business.

QA Is Part Of The Product

The phrase "AI resolution" should carry evidence. Which model answered? Which source supported it? What did Watchtower score? Did a human edit it? Did the customer push back? Did CSAT confirm the result? If those questions are invisible, the resolution rate is marketing, not operations.

Watchtower is how Beamdesk keeps the automation loop honest. It catches vague answers before they become customer frustration. It routes the uncertain work to humans while allowing routine work to move quickly. It turns edits into learning signals. It feeds the audit log that decides whether a resolution is billable. Trust by verification, not by faith.

Want this delivered to your inbox? hi@beamdesk.com