1. Business problem
A SaaS support team was drowning in repeated research. Agents opened the same wiki tabs, searched outdated macros, and pinged senior specialists for questions that already had approved answers somewhere in help articles, release notes, or closed tickets. First response time suffered. Answer quality varied by shift. New hires took weeks before they sounded confident.
The product already had a help center. The problem was not "no documentation." The problem was retrieval under pressure: agents needed the right paragraph, for the right product version, with enough confidence to reply to a paying customer in minutes.
2. Why AI (not rules alone)
Macros and keyword FAQ search helped for exact matches, then failed when customers paraphrased, mixed product names, or asked about edge cases that lived in older tickets. A rules tree could not keep up with weekly release notes. Hiring more agents did not remove the research tax.
AI helped when it was scoped as a RAG reply assistant, not as an unsupervised chatbot. The model drafts. Retrieval grounds. Agents edit and send. That division kept accountability with the support org while cutting repetitive lookup work.
3. Architecture: ingest โ chunk โ embed โ retrieve โ generate โ human review
Help articles / tickets / release notes
โ
โผ
Ingest + clean + version tags
โ
โผ
Chunk โ Embed โ Store (pgvector)
โ
โผ
Ticket context + retrieve top passages
โ
โผ
Constrained LLM draft + citations
โ
โผ
Agent review desk โ edit / send / escalate
Ingestion jobs synced approved articles and selected ticket resolutions. Chunking preserved headings and version metadata. Embeddings landed in PostgreSQL with pgvector, filtered by tenant and product line. At reply time, the ticket subject and recent messages formed the query. Weak retrieval triggered clarification or escalation instead of a fluent guess. Strong retrieval produced a draft with visible sources. Publish stayed human.
4. Stack choices
- Laravel: auth, roles, ticket workflow, queues, admin publishing
- React: agent desk UI with citation panel and edit controls
- OpenAI + LangChain where useful: embeddings, drafting, light orchestration
- PostgreSQL + pgvector + Redis: durable state, vectors, cache, rate limits
Laravel stayed the system of record. AI was a module beside the desk, not a rewrite of the support product.
5. Risks: cost, privacy, wrong answers
- Cost: token metering per agent and tenant; cache safe FAQ hits; cheaper models for classification, stronger models for complex drafts
- Privacy: only approved corpus to the model; redact sensitive fields from ticket context when policy required; short log retention for prompts
- Wrong answers: citations mandatory for publish candidates; low retrieval confidence blocks auto-suggest; agents must edit before send on high-risk categories
6. Outcome
Pilot agents reported lower handle time on common issues and higher consistency across shifts. Specialists saw fewer "where is the doc?" pings. Managers gained a feedback loop: accepted, edited, and rejected drafts informed prompt and chunking improvements. The qualitative win matched the design bet: trust beats fluency. Agents used the tool when sources were visible and escalation was easy.
Outcomes in operational language: lower handle time, higher first-contact resolution on covered intents, and stronger answer consistency for common issues.
7. Lessons for SaaS teams
Define the AI role before tools. Invest in corpus freshness. Measure edit distance and escalation rate, not only message volume. Keep humans in the send path until evals prove otherwise.
Build a similar support RAG system
If your support or success team needs grounded reply drafts with citations and review, this pattern maps directly to production SaaS.
Next steps: AI Chatbot Development, RAG Development, Hire AI Developer, or contact with category AI.