The AI Workflow I Built That Handles 85% of Customer Service for Our Clients

Customer service is the most underbuilt function at most Shopify brands. It's also the one where AI has the cleanest fit — high volume, repetitive patterns, and clear success criteria. This is the build-in-public version of the workflow we run that deflects ~85% of customer service tickets for our clients without the customer experience getting worse.
This post walks through the architecture, the training, where humans stay in the loop, the metrics, and what the workflow doesn't handle. For broader context on AI in marketing operations, pair this with what an AI marketing agency actually does.
Table of Contents
- The Problem: CS Is the Most Underbuilt Function
- What the Workflow Actually Does
- The Architecture
- Training Data and Tone Calibration
- Where Humans Stay in the Loop
- The Metrics That Matter
- What It Doesn't Handle (And Won't)
- The Cost
Key Takeaways
| Point | Details |
|---|---|
| Deflection rate | ~85% of inbound tickets resolved without human escalation. |
| Response time | Median 90 seconds (vs. 4–8 hours typical for human-only teams). |
| CSAT | 4.6+/5 average — comparable to or higher than human-only baselines at the same brands. |
| Architecture | Intake → classification → response generation → human review gate → reply. |
| Where humans stay | Escalations, complaints with brand-risk language, complex returns, anything legal-adjacent. |
The Problem: CS Is the Most Underbuilt Function
Most Shopify brands at the $20k–$200k/mo range run customer service like this:
- Founder + maybe one part-time helper handles inbound
- Tickets sit in a Gmail inbox or Shopify Inbox
- Response time: 4–24 hours
- Most tickets are repeat patterns (where's my order, sizing, return policy, restock)
- Founder time spent: 5–15 hours per week
- Customer experience: fine but slow
Three problems with this:
- Founder time. 5–15 hours a week on tickets is 5–15 hours not on growth, product, or strategy.
- Slow response. Modern customer expectations are minutes, not hours. Slow responses correlate with refund requests and lower repeat purchase rates per Zendesk's CX research.
- Inconsistent quality. When the founder is tired, late at night, or under pressure, response quality drops. AI-generated responses are uniformly polite and complete because they're not reading the email at midnight.
The AI customer service workflow solves all three.
What the Workflow Actually Does
End-to-end, here's what happens when a ticket comes in:
- Ticket arrives in Gorgias / Zendesk / Shopify Inbox
- AI classifies the ticket (order status, sizing, return, complaint, custom request, escalation)
- AI checks order data via Shopify API (which order, when shipped, where is it, etc.)
- AI generates response using the brand voice document + order data + relevant policy
- Human reviews the proposed response (for non-routine tickets) OR auto-sends if confidence is high
- Reply goes out with the customer
- Performance gets logged for ongoing tuning
For routine tickets ("where's my order"), the auto-send path runs in 60–90 seconds. For more nuanced tickets, the human review gate adds 5–15 minutes — still vastly faster than human-only response times.
The Architecture
The workflow is built on standard pieces — nothing exotic.
Intake layer: Gorgias (preferred for Shopify) or Shopify Inbox. Both have APIs that expose ticket content + customer profile.
Classification layer: A prompt to Claude/GPT that takes the ticket text and classifies it into one of ~12 categories: order status, shipping question, sizing/fit, product question, return request, refund request, complaint, custom order, partnership inquiry, press, escalation-required, other.
Order data fetch: If the ticket is order-related, the workflow pulls the customer's order data from Shopify's Admin API — order ID, items, shipping status, tracking, return eligibility.
Response generation: A second prompt that takes ticket category + order data + brand voice document + relevant policy snippets, and generates a proposed response.
Confidence scoring: The workflow scores each generated response on a confidence axis. High-confidence responses (clear order status questions, simple FAQs) auto-send. Lower-confidence responses route to human review.
Human review queue: Whatever doesn't auto-send goes to a Slack channel or Gorgias queue. A human reviews, edits if needed, sends.
Logging: Every interaction logs back to a performance dashboard — category, response time, edited vs. sent as-is, customer reply (positive/neutral/negative).
Training Data and Tone Calibration
The brand voice document is what keeps responses on-brand. It's a 1–2 page reference that includes:
- 5–10 example responses to common ticket types in the brand's actual voice
- Words / phrases the brand uses (e.g., "Hey there" vs. "Dear customer")
- Words to avoid (e.g., never say "unfortunately," never apologize generically)
- Tone register (warm-casual, professional, irreverent, etc.)
- Brand-specific knowledge (return window, shipping policy, sustainability language, founder story)
This gets fed into every response prompt as system context. Without it, AI responses sound generic. With it, responses sound like they're from your brand.
We also pull the last 200–500 sent responses from the brand's existing CS history as fine-tuning data for the prompt. This calibrates voice further and surfaces patterns the brand voice document missed.
Where Humans Stay in the Loop
Auto-send is restricted to high-confidence categories where the cost of getting it wrong is low. Specifically:
Auto-send (no human review):
- Order status questions ("where's my order")
- Tracking link requests
- Simple FAQ ("do you ship to Canada", "what's your return policy")
- Sizing chart references
Human review required:
- Returns / refunds
- Complaints (any negative sentiment language detected)
- Custom requests
- Partnership / press inquiries
- Anything mentioning legal, lawyer, FDA, allergic reaction, social media post, news, competitor by name
- Anything where the AI's confidence score is below threshold
- Any first-time customer interaction (we add a softer review gate to make sure the brand impression is clean)
Always escalate to founder:
- Tickets mentioning the founder by name
- Anything threatening or hostile
- Press / media inquiries
- Complaints that involve product safety
- Refund requests above a $ threshold (configurable per brand)
This routing is what keeps deflection at ~85% without sacrificing the 15% of tickets that genuinely need human judgment. The system isn't trying to handle everything — it's trying to handle the routine stuff so humans can focus on what actually requires them.
The Metrics That Matter
Across the brands running this workflow, here's what the numbers look like:
| Metric | Pre-Workflow | Post-Workflow |
|---|---|---|
| Median response time | 4–8 hours | 90 seconds |
| Deflection rate (no human touch) | 0% | ~85% |
| Founder hours/week on CS | 8–12 | 1–2 |
| CSAT | 4.4/5 (typical) | 4.6/5 (typical) |
| First-contact resolution | ~65% | ~92% |
| Cost per ticket | $4–$8 (founder time) | ~$0.30 (AI) + $4–$8 on the 15% escalated |
The CSAT lift surprises people. The intuition is "AI responses will feel cold." The data is the opposite — fast, complete, polite responses score higher than slow, harried, late-night human responses. Customers prioritize speed and clarity over perceived "humanness."
This tracks with broader customer service research from Forrester showing that response time is the #1 driver of CSAT scores.
What It Doesn't Handle (And Won't)
Being explicit: this workflow is not designed to handle everything. Things we explicitly route to humans:
- Complaints with brand-risk language. Anything that could become a public-facing problem.
- Complex returns. Multi-item returns, returns outside the standard window, returns with damaged claims.
- Custom orders. Bespoke requests need human judgment on whether to accommodate.
- Wholesale / B2B inquiries. These need a human relationship, not an AI response.
- Press / influencer outreach. Brand-defining decisions, not customer service tickets.
- Anything legal-adjacent. "I'm thinking of contacting my lawyer," "I had an allergic reaction," "I'm going to post about this on social media." All escalated immediately.
- First-time tickets that don't fit the routine patterns. Better to over-route to human than to risk a wrong response on a first interaction.
The system is honest about its limits. The 15% of tickets that escalate are the ones that genuinely need humans. Trying to push that to 5% would compromise customer experience. We covered the broader honesty around AI failure in what AI-run means when the AI screws up.
The Cost
The economics:
Build cost: ~40 hours of setup work for a new brand (intake integration, brand voice document, prompt tuning, review queue setup, testing). Amortizes to near-zero per ticket over 6+ months.
Runtime cost: AI API costs run ~$0.05–$0.30 per ticket depending on complexity and length. For a brand handling 1,000 tickets/mo, that's $50–$300/mo in API spend.
Human review cost: ~15% of tickets need human review at ~3 minutes each. For 1,000 tickets/mo, that's ~7.5 hours of human time.
Total cost per ticket: ~$0.30–$1 average, vs. $4–$8 for fully human-handled tickets.
For a brand handling 1,000 tickets/mo, the AI workflow saves $3,500–$6,500/mo in founder/CS labor. For a brand handling 5,000+ tickets/mo, savings scale to $20k+/mo.
Talk to Branva
Branva includes the AI customer service workflow for clients on the transparent monthly pricing plan. Book a free call and we'll show you how it'd work for your store specifically.
Frequently Asked Questions
Will my customers know they're talking to AI?
The responses are AI-drafted but reviewed (for non-auto-send categories) and sent under your brand. Customers don't see "this response was generated by AI" — they see a fast, helpful response from your brand. This is consistent with how most modern CS works in 2026.
What about regulations on AI customer service disclosure?
Some jurisdictions (notably California with SB 1001) require disclosure when AI is used in certain commercial conversations. We handle this by structuring responses as AI-assisted (human reviews) rather than fully autonomous, and adding disclosure where required by jurisdiction.
Does this work with non-Shopify brands?
The architecture is portable, but the Shopify integration (order data fetch via API) is what makes the order-status piece work cleanly. For non-Shopify brands, you'd need similar API access to your commerce platform.
How long does setup take?
10–14 days for a typical Shopify brand. Day 1–4: brand voice document + intake integration. Day 5–10: prompt tuning + testing. Day 11–14: shadow mode (AI generates responses for human review only) before going live.
What happens if the AI gets a response wrong?
The human review gate catches most of it. For auto-sent responses that turn out to be wrong, the customer typically replies (which routes to human review), and we log the error to refine the prompt. Wrong responses happen <2% of auto-sent tickets, and we measure and address them weekly.
Related reading
- What an AI Marketing Agency Actually Does — Where CS fits in the AI-native operations stack.
- What AI-Run Means When the AI Screws Up — The honest failure-handling story.
- The Shopify Operator Stack 2026 Edition — Other tools we run alongside this.
- Why We Ship in 14 Days Instead of 90 — The build-velocity logic.