Taming customer support as a tech lead

TL;DR - Our customers have a short support SLA, and requests arrived by WhatsApp, email and hallway. I set one entry point, a simple triage with severity, a rotation so only one dev is on support at a time, and AI to speed up the first investigation. We keep the SLA and the rest of the team gets its focus back.


In a startup, the devs are also support. Our contracts have a short response SLA, so support can’t wait for the end of the sprint. That’s fine until every customer has someone’s phone number. When I joined, a “quick question” from a customer could pull three people out of their work in the same afternoon, and nobody knew what had been answered and what hadn’t.

One door

Every request goes into the support board, whoever receives it. If a customer sends a message to a dev directly, the dev creates the ticket and replies with the link. It felt bureaucratic at first. After two weeks it was the only way anyone knew what was going on.

Triage with three levels

  • Critical: the customer can’t work. Someone looks now.
  • High: something is wrong, but there’s a workaround. Same week.
  • Normal: questions, small bugs, requests. Goes to the backlog.

The person who triages also tags the area (integration, mobile, reports, access) so I can see where problems keep coming from.

flowchart TB
  In[Request: email, chat, phone] --> Ticket[Ticket on the support board]
  Ticket --> Triage{Severity}
  Triage -->|Critical| Now[Dev on rotation, now]
  Triage -->|High| Week[This week]
  Triage -->|Normal| Backlog[Backlog]
  Now --> Fix[Fix or workaround]
  Fix --> Pattern{Repeated?}
  Pattern -->|Yes| Debt[Issue to fix the cause]

A weekly rotation

One dev is on support each week. That person handles the tickets and everyone else is protected. It also spreads knowledge: after a few rotations, everyone has seen the integration, the mobile app and the reports from the customer’s side.

AI for the first investigation

Most tickets start with the same work: find the record, check the logs, read the code path, write a SQL query to see what happened. I started using AI with access to the repo for this first pass. I paste the ticket, it points me to the likely code path and drafts the query. I still check everything before touching production data, but understanding a ticket stopped being the slow part.

Fixing the cause, not just the ticket

Every Friday I look at the board by area. If the same kind of ticket shows up three times, it becomes an issue to fix the cause, usually tagged as tech debt. That’s where support stops being an endless cost and starts telling us what to build.