Introduction
If you run an EC site, the burden of handling support inquiries is hard to ignore. Returns, shipping status, "will this product suit me?" — the topics vary, but replying carefully to each one takes time.
You might think, "why not just let AI reply to everything?" Yet I deliberately chose a design where AI produces the draft and a human always sends it.
This article walks through the overall picture of an AI reply-draft system built for an EC store handling motorcycle gear, and explains why I chose not to fully automate it.
Why "Draft" Instead of "Auto-Send"
The appeal and the trap of full automation
If AI replied to inquiries automatically, response effort would drop to zero. Tempting, right? But LLMs make mistakes at a certain rate. They might describe a return policy that doesn't exist, or answer "we have it in stock" when there is none. Even at a rate of a few percent, once such an error is sent, there is no taking it back.
Handling inquiries means "making promises to customers in the company's name." Wiring unverified AI output directly into that felt like a risk-reward mismatch.
Protecting brand trust
The other reason is brand risk. On an EC store selling imported brand goods, customers reach out expecting "the careful service only a specialist can give." A mechanical reply or slightly-off politeness erodes trust all by itself.
AI writing scores well on average, but every so often a "so close" phrasing slips in. Passing everything through human eyes at the end reliably eliminates those near-misses.
Even "drafts only" cuts the workload dramatically
Does stopping at a draft weaken the effect? Not at all. What actually eats time in support isn't the writing — it's the research. What did this customer buy, what did we discuss before, which product is this about?
Because operators start from a point where the AI has already done the research and the writing, their job is just "read, tweak, send." The perceived load changes enormously.
Effort approaches zero, but incorrect guidance reaches the customer as-is. Quality and brand risk can't be controlled
AI finishes the research and writing; humans only verify and tweak. Response time drops without sacrificing quality
The Overall Mechanism
Periodic ticket fetching and async processing
Inquiries are managed as HubSpot tickets. The system periodically fetches new tickets and processes them one at a time, asynchronously, through a queue service called QStash.
The queue matters because AI generation can take tens of seconds. Synchronous processing invites timeouts and dropped work, so the design leans toward "once received, always processed in order." Failed tickets can be re-run from the admin screen.
Gathering customer context to feed the AI
What determines draft quality is, in fact, less about prompt cleverness and more about the quality of the information handed to the AI. Purchase history is pulled from the EC order-management system (NextEngine), past ticket conversations from HubSpot, and product names in the inquiry are matched against the product master — all of it woven into the prompt.
Without this "context injection," the AI can only write generalities. Details are covered in the Injecting Customer Context article.
Classifying intent to switch response templates
Inquiries fall into "types": returns, shipping status, stock checks, product consultations. The system first classifies the intent and switches between intent-specific response templates. For product consultations, it additionally injects a service knowledge base that captures product-diagnosis conversation patterns.
Drafts are attached to the ticket as notes
The generated draft is not sent as an email — it is attached to the ticket as a note (internal memo). When an operator opens the ticket, the draft is already waiting. They review it, edit if needed, and send the email with their own hands.
Inquiry emails become tickets
NextEngine purchase history / past tickets / product-master matching
Detects returns, shipping, stock, product consultation, etc.
Operator reviews, edits, and sends (email is always sent by a human)
Results and Lessons After Rollout
Shorter response time
The clearest benefit is response time. Previously, operators shuttled between the order-management system and past emails to compose each message; now they start from reading and tweaking a draft. Especially for highly routine shipping-status and return cases, many are handled with just a verify-and-tweak.
Raising and leveling quality
An unexpected benefit was quality leveling. The gap between veterans and newcomers in reply quality troubles every CS team, but because the draft guarantees a baseline as a "starting point," even newcomers can respond with confidence. Injecting the service knowledge base into the prompt also means veterans' conversation patterns are reflected in the drafts.
And yet human review can't be dropped
Running it in production reaffirms one thing: it isn't (yet) at a level where review can be removed. Misread context and subtle nuance drift persist at a certain rate. That is precisely why the operational design — a review-friendly draft format and a re-run mechanism — becomes so important.
Where to draw the automation line
I recommend deciding "how far to trust AI and where humans take over" based on the business's risk tolerance, not raw technical capability. In this system, "just before it reaches the customer" is the human's domain.
Conclusion
Applying AI to support inquiries — as "draft generation + human sending" rather than "fully automated replies" — cuts response time while protecting quality and the brand.
- AI handles research and writing; humans handle verification and sending
- The key to draft quality is injecting customer context like purchase history and past interactions
- Classifying intent switches the response format for returns, shipping, product consultations, and more
- Operational design — note attachment, queue processing, re-runs — determines real-world usability
Each topic is explored in the sub-articles below.
Injecting Customer Context — Purchase History and Past Interactions
Covers the data gathering and prompt design that prevent off-target drafts.
Classifying Inquiry Intent and Switching Response Patterns
Explains intent-specific templates and injecting the service knowledge base.
Designing the Approval Flow and Operator Experience
Covers the operational design from note attachment through review and sending.