SchoolAide
Help Center
Internal
Internal · Updated Mar 27, 2026

Customer Success and Support Playbook

4 min read 480 views

Customer Success and Support Playbook

Internal use only — not for external publication.

Common Ticket Categories

Category Keywords Likely Root Cause
Display not updating "board frozen", "wrong number", "stuck" WebSocket disconnect; stale cache; Reverb down
Visitor can't join "can't get number", "nothing happens", "suspended" Emergency mode active; rate limit; existing active ticket
No email notifications "didn't receive email", "no notification" SMTP misconfigured; template inactive; opt-in not checked
Counter panel empty "no waiting tickets", "queue empty but people waiting" Counter/office mismatch; cache staleness
SSO login failure "can't log in", "Microsoft login error" Entra domain misconfigured; user not provisioned
Plan limit hit "can't add service", "limit reached" Subscription plan limit; need upgrade
Ticket stuck "already have ticket", "can't get new number" Previous ticket not completed or cancelled
Display offline "screen shows offline", "display not working" Browser crashed; heartbeat missed; network issue
Slow reports "report takes forever", "keeps loading" Heavy date range; read replica not configured

Triage Questions

For Display Issues

  1. Is the display browser tab open and the page loaded?
  2. Does Admin → Displays show the screen as Online or Offline?
  3. Has the display URL/token been regenerated recently?
  4. Any errors in the browser console?

For Notification Issues

  1. Did the visitor provide an email and check the notification opt-in?
  2. Is the notification template active in Admin → Notifications → Templates?
  3. Is the notifications queue processing? Check Horizon.
  4. What does Admin → Notifications → Log show for this ticket?

For Counter Issues

  1. What office is the counter assigned to?
  2. What office is the service assigned to?
  3. Is the service active and the office open (schedule check)?
  4. Are there waiting tickets today with current_office_id matching the counter's office?

Quick Resolution Steps

Issue First Resolution Escalation
Display frozen Reload the browser tab Check Reverb/Horizon; clear Redis cache
Notifications not sending Check Horizon failed jobs; retry Check SMTP config; review notification logs
Visitor stuck with old ticket Counter staff: cancel old ticket manually Admin: search by email and cancel
Counter shows empty queue Verify counter/service office alignment Check TenantCache TTL; flush cache
SSO broken Verify Admin → Settings → Entra Domain Check EntraCallbackController logs
Plan limit Direct to subscription upgrade Review plan limits in SubscriptionPlan enum

When to Escalate to Engineering

  • Multiple tenants report the same issue simultaneously (platform-level outage)
  • Horizon shows a large buildup of failed jobs (SendTicketNotification, TicketCalled)
  • Redis memory usage critically high (monitor command alerts at warn=50, critical=200 queue depth)
  • Display board showing a PHP exception (not just outdated data)
  • Security concern reported (cross-tenant data visible, unauthorized access)
  • Database partition issues (PostgreSQL)

Evidence to Request

Issue Ask For
Display bug Browser console screenshot, display URL (do NOT share token in public channels)
Notification failure Ticket ID, visitor email, Notification Log entry
Counter issue Counter name, office name, screenshot of counter panel
SSO failure Browser error message, tenant slug, staff email
Report slow Date range used, office/campus filter, tenant slug

Safe User-Facing Response Templates

Display not updating:

"Thank you for reporting this. Please try refreshing the display browser tab (press F5 or Ctrl+R). If the issue persists, our team is looking into the connection to your display screen and will have it resolved shortly."

Email not received:

"Emails are sent as a courtesy notification and may occasionally be delayed. Please check your spam folder. If your email was not entered when joining the queue, notifications cannot be sent — your ticket number is still valid and will be shown on the waiting area display."

Cannot join queue:

"If you see 'Queue Services Suspended,' the office has temporarily paused queue services. Please wait for the display board to update or contact the office directly. If you already have an active ticket, please use it — you cannot receive two tickets at the same time."

Login issue:

"We're sorry you're having trouble logging in. Please ensure you are using your school Microsoft account. If the issue persists, please contact your school's IT department or system administrator."


Was this article helpful?

Let us know so we can improve our documentation.

Related articles