customer_service

Department Overview

Customer Service Analytics -- the manager/admin view (docs/ SUPERVISION_DESK.md, Frederick, 2026-08-06: "how is the department performing, how many tickets are waiting on Cindy, how many on Milly"). Gated on admin:people:read -- that grant decides who may OPEN this page, never which ticket kinds it may show them (2026-08-11 fix, Cindy Palma: this used to hardcode BOTH kinds unconditionally the instant the gate passed, which handed a b2g-only Account Manager holding the page grant a b2c-inclusive department read -- the exact widening the gate was never meant to grant). kinds is now the caller's own actual tickets:b2c/ tickets:b2g grants (_allowed_kinds) -- both, for every admin/manager who genuinely holds both (unchanged observable result for them), never more than that for anyone who does not.

Frederick, 2026-08-09, splitting this from the CS desk into its own page: "Analytics can be a separate page ... that's only visible for the managers or the supervisor or the admins. Everybody else basically just has a customer service tab." Rooster's performance (rooster_by_kind) is NOT part of this response -- it was briefly reintroduced here (2026-08-09, same-day instruction: "on analytics, Rooster should be talking about what he's done for the entire customer service department"), then superseded by GET /department-analytics below (#328, landed the same day): that endpoint's own gather_rooster_department is the real, shipped integration point for the department-wide read (DepartmentAnalyticsPanel.tsx), reusing the SAME gather_rooster_performance this response would otherwise have called a second time. Two endpoints computing the identical department-wide Rooster figures would be the one-fact-two- implementations defect this codebase has a standing rule against, so this endpoint stays exactly what it was: person_loads/unassigned_count/ oldest_unanswered only. GET /rooster-performance below is the THIRD, genuinely different question (one person's own counts, not the department's).

get/api/cs/department-overview

Request

  • Base URL: https://api.pigeonly.com (the document declares no server; this is the origin it was published from)
  • URL: https://api.pigeonly.com/api/cs/department-overview
  • Auth: none declared

Response

Successful Response

object required

Changes

No recorded changes to this operation across all 1 revision of this API.