email triage customer-support claude n8n slack

Zero inbox, zero stress: AI email triage for a 15-person SaaS startup

28 March 2026 ·SaaS ·15 people ·4 min read

Results at a glance

Time saved

8h/week

Cost per unit

3h/day on email triage → 35min/day

Tools

Claude API · n8n · Gmail · Slack · HubSpot

The customer success lead at this SaaS startup was spending the first two hours of every workday just sorting email. Not answering - sorting. Deciding what needed a reply today, what could wait, what was a bug report, what was a billing question, what was a compliment that just needed a thank-you.

With 200 inbound messages a day across three inboxes (support, billing, general), the signal-to-noise ratio was brutal. Critical issues were getting buried. Response times were slipping. The team was reactive, not proactive.

graph LR A[3 Gmail inboxes
200 emails/day] -->|n8n polls 5min| B[Claude
classify + urgency] B -->|P1 bug| C[#oncall Slack
immediate ping] B -->|Common question| D[Gmail draft
CS reviews + sends] B -->|Billing| E[Billing alias
pre-filled context] B -->|Feature request| F[HubSpot
logged with plan tier] B -->|Other| G[Daily digest
8:45am summary]

The problem

Three symptoms pointed to the same root cause:

  1. Missed urgency. A customer reporting that their API integration had stopped working was sitting in the same queue as a newsletter unsubscribe request.
  2. Duplicate effort. Common questions (pricing, integration guides, trial extension requests) were being answered from scratch every time by whoever picked them up first.
  3. No visibility. There was no way to know, on a given Tuesday morning, whether the support load was trending up or down, or which features were generating the most confusion.

The team was talented. They were just spending talent on sorting.

The solution

We built a triage pipeline with Claude at the core and n8n handling the routing logic.

Ingestion. n8n polls the three Gmail inboxes every 5 minutes. Each new email is sent to Claude with a structured classification prompt that returns: category (bug/billing/feature-request/general-question/out-of-scope), urgency (P1/P2/P3), a one-sentence summary, and a suggested action.

Routing. Based on Claude’s output, n8n routes each email:

  • P1 bugs: immediately pinged to the #oncall Slack channel with the summary and a direct link to the thread
  • Common questions: Claude drafts a response using a library of approved templates stored in Notion, then stages it as a Gmail draft for the CS rep to review and send (one click)
  • Billing questions: forwarded to the billing alias with context pre-filled
  • Feature requests: logged to a HubSpot custom object with the customer’s plan tier and usage level attached
  • Everything else: labeled and sorted, visible in a daily digest

Daily digest. Each morning at 8:45, the CS lead gets a Slack message: yesterday’s email volume by category, average response time, top three unresolved threads, and any anomalies (e.g. “3 customers reported the same issue with the export feature”).

Results

After six weeks:

  • Email triage time: 3h/day → 35 min/day (88% reduction)
  • Auto-handled (draft or routed with no human touch): 68% of inbound volume
  • P1 median response time: 4h → 22 minutes
  • Feature requests logged to HubSpot: went from 0 (ad hoc notes) to 100% capture
  • CS team NPS, internal: went from “email is our biggest pain” to “we finally feel in control”

The CS lead now spends her mornings reviewing staged drafts (usually 10-15, taking about 20 minutes) and handling P1s. Everything else is waiting in the right bucket when she gets to it.

What made it work

Human review on outbound. Every draft response goes through a human before sending. Claude writes; the CS rep approves. This was non-negotiable for the client and the right call - it keeps quality high while still saving most of the work.

Calibrated classification. We spent a week auditing Claude’s classifications against the team’s own labels on 300 historical emails. Where they diverged, we refined the prompt. By the time we went live, Claude’s category accuracy was over 92%.

Progressive rollout. We started with classification-only (no routing, no drafts) for the first two weeks. The team built trust in the system before we automated any action. This also surfaced edge cases we hadn’t anticipated - a category of “partner inquiries” that didn’t fit our initial taxonomy.


Your support or operations team dealing with inbox overload? Let’s talk through what triage could look like for your setup.