AI Draft Replies for Support Tickets — Automation Where Humans Send

AI generates reply drafts for CRM support tickets. Humans always review and send — safe, realistic CS automation

AI DraftSupport InquiriesHubSpotCustomer SupportLLM
6 min read

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.

Auto-send vs. draft generation
BEFORE
AI sends automatically

Effort approaches zero, but incorrect guidance reaches the customer as-is. Quality and brand risk can't be controlled

AFTER
AI drafts, human sends

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.

Structure of the AI reply-draft system
HubSpot ticket

Inquiry emails become tickets

Periodic fetch → QStash queue
Context gathering

NextEngine purchase history / past tickets / product-master matching

Intent classification

Detects returns, shipping, stock, product consultation, etc.

Draft generation with the LLM
Attached as a ticket note

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.

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.