91% Resolved.
No Ticket Queue. No Agent Burnout.
Agix partnered with Brainfish to build a RAG-powered support resolution engine that handles 28,000+ monthly conversations, classifying intent in real time, retrieving grounded answers from a multi-source knowledge layer, resolving 91% of tickets without a human, and generating rich handoff summaries for the 9% that genuinely need one. The result: an AI support system that improves with every resolved ticket and makes every human agent hour count.
The AI-native support platform that puts knowledge to work, not humans to waste.
Brainfish is an AI-powered customer support platform used by B2B SaaS companies processing millions of customer interactions monthly. The platform sits in front of existing support ticketing systems and handles routine inquiries, product how-to questions, billing issues, and technical troubleshooting, routing only genuine exceptions to human agents. Founded in 2019 and headquartered in San Francisco, Brainfish serves 500+ SaaS customers whose teams were drowning in the same repetitive questions. When Brainfish approached Agix, the mandate was precise: build a retrieval-augmented generation system that doesn't just deflect tickets, but resolves them, with grounded answers, a continuous learning loop that compounds quality over time, and escalation handoffs so context-rich that human agents could pick up mid-resolution without starting over.

A knowledge base that answers questions. In real time. Without an agent.
The Brainfish interface pairs a structured knowledge management system with an always-on AI assistant, so customers get instant answers, and support teams get visibility into what's actually being asked.

Support teams answering the same question for the 500th time. Agents burning out. Customers waiting.
In B2B SaaS, 70%+ of all support volume is repetitive, questions with known answers that live somewhere in documentation no one can find fast enough. The problem wasn't a knowledge gap. It was a retrieval and delivery gap.
73% of tickets were asking questions with known, documented answers
The single most damaging stat in the pre-deployment audit wasn't response time or CSAT, it was that 73% of all incoming support tickets were asking questions whose answers already existed somewhere in the product documentation, past ticket history, or FAQ library. Every one of those tickets consumed a human agent's time to read, compose a reply, and close, work that required a search, not judgment. Agents with genuine problem-solving ability were spending 60%+ of their day doing retrieval work that a machine could do faster and more consistently. The knowledge existed. The problem was that it wasn't accessible to customers in the moment they needed it, and it wasn't findable in the format support teams could use to respond at scale. The opportunity wasn't to hire more agents, it was to build a retrieval layer that made the existing knowledge work.
6.5-minute average first response time was destroying customer confidence before a word was exchanged
Before AI, the median time from a customer submitting a support request to receiving an initial response was 6.5 minutes, and that was the average across all queues, not the peak. During high-volume periods (product launches, outages, billing cycles), response times routinely exceeded 12–15 minutes. For B2B SaaS customers trying to complete a task in the middle of their workday, a 6.5-minute delay felt like abandonment. By the time an agent responded, many customers had either given up and tried to solve it themselves (often incorrectly), escalated their frustration to a manager, or simply churned. The bottleneck wasn't agent quality, it was agent availability. The workload was designed for a team twice the size of the one that existed. The only sustainable solution was to reduce the number of questions that required agents, not to hire to meet the demand.
42% annual agent turnover driven by repetitive, low-engagement work that cost 6–9 months' salary per departure
The human cost of the ticket queue wasn't just slow response times, it was an unsustainable support team. Annual agent attrition was running at 42%, almost entirely driven by the soul-crushing monotony of answering the same questions day after day. Agents hired for their empathy and communication skills were spending the majority of their working hours doing retrieval work that offered no professional development, no variety, and no sense of contribution. Each departure cost the company 6–9 months of that agent's salary in recruiting, onboarding, and ramp time before the replacement reached full productivity, and the replacement faced the same work environment that drove the previous agent out. The solution wasn't better perks or higher pay, it was eliminating the repetitive work that made the role untenable, so agents could spend their time on the cases that actually required their judgment and rewarded their capabilities.
Six stages. One query. From intake to resolved ticket.
Intake → Intent Classification → Multi-Source Retrieval → Grounded Generation → Confidence Scoring → Escalation Handoff; every stage passes a richer context package to the next, with a continuous learning loop that feeds every resolved ticket back into the knowledge base.

Six components that turned a reactive ticket queue into a self-improving resolution engine.
Each component operates independently and as a stage in a unified support pipeline; sharing a live context object that accumulates query intent, retrieved knowledge, answer confidence, and resolution state across every step of the interaction.
Intent Classification Engine
The first stage of every query, classifying incoming support requests into intent categories (billing, how-to, technical, account management) and extracting key entities before any retrieval begins. When a customer asks "Why was I charged twice this month and how do I get a refund?" the engine simultaneously identifies the intent category (billing dispute), the action requested (refund), and the time reference (this month), all within 200ms of message submission. Intent classification matters because it determines which knowledge domains are searched and which response templates are applied: a billing question should retrieve from policy documents and payment FAQs; a technical question should retrieve from product docs and resolved tickets with matching error codes. Misclassified intent produces worse retrieval, which produces worse answers, so the classification layer is fine-tuned on Brainfish's actual ticket corpus, not generic customer service datasets, to match the specific vocabulary and phrasing patterns of their customer base.
Multi-Source Knowledge Retrieval
A semantic search layer that queries product documentation, FAQ articles, and 24 months of resolved tickets simultaneously, finding the most relevant context for each specific query before any answer generation begins. The retrieval architecture uses dense vector embeddings rather than keyword matching, which means a customer asking "the sync keeps breaking" retrieves results for "integration sync errors" and "data synchronization failures" without needing to use the exact terms in the documentation. Each knowledge source is indexed separately and given a relevance weight based on query type: technical questions weight the resolved ticket corpus more heavily (because past resolutions contain step-by-step fix instructions that documentation often lacks); policy questions weight the policy document index. Retrieved context is assembled into a ranked package of the top-N passages, each tagged with its source document for citation. The retrieval stage is also where the system determines whether sufficient context exists to attempt autonomous resolution, low retrieval confidence triggers the escalation path before generation is attempted, not after a bad answer is delivered.
Grounded Answer Generation
A GPT-4 class generative model that composes precise, contextual answers using only the retrieved knowledge as its source, eliminating hallucination by design. Unlike a general-purpose LLM that draws on its training weights to answer customer questions, the Brainfish generation layer is constrained: it can only use information present in the retrieved context package, and every claim in its output must trace back to a specific source document. This grounding mechanism is what makes the system trustworthy at enterprise scale, a customer asking about a specific feature limitation gets an answer sourced from the current product documentation, not from the model's training data memory of what the feature used to do six months ago. Answers are formatted to match the query type: how-to questions generate numbered step-by-step instructions; policy questions generate plain prose with the relevant policy language quoted; technical questions generate diagnostic steps followed by the most likely resolution path. Citations to source documents are included in every response, allowing customers to verify the answer and agents to audit it.
Resolution Confidence Scoring
A quality gate that evaluates every generated answer against two independent signals, retrieval quality (how relevant and complete the retrieved context was) and answer coherence (how well the generated response addresses the original query), before deciding whether to deliver, route to human review, or escalate directly. The confidence gate is the mechanism that protects the 91% resolution rate from being achieved through overconfident delivery: it's not that the system resolves 91% of everything it receives, it's that it resolves 91% of the queries where it can do so with verifiable confidence. For the remaining 9%, the gate routes to the escalation handoff builder rather than delivering a likely-wrong answer that a customer would then need to correct through a second ticket. Confidence thresholds are calibrated per intent category: billing disputes require higher confidence before autonomous delivery than how-to questions, because the cost of a wrong billing answer is higher than the cost of a wrong navigation instruction. Thresholds are reviewed and adjusted monthly based on CSAT correlation data from the learning pipeline.
Seamless Escalation Handoff
When escalation is needed, the system generates a complete case summary, conversation history, extracted entities, retrieved knowledge already searched, attempted resolution steps, and a plain-language description of what the customer needs, so the human agent can continue the resolution rather than starting a new intake conversation. The handoff builder is not an afterthought: it's engineered with the same rigor as the autonomous resolution path, because how the 9% of escalated tickets are handled determines whether customers trust the AI system or route around it. Agents receiving Brainfish handoffs resolved escalated tickets 45% faster than equivalent tickets arriving via cold transfer, because they arrived with context rather than needing to ask the customer to repeat everything they had already explained. The handoff also includes a suggested resolution based on the retrieved knowledge, which agents confirmed and executed in 67% of cases rather than composing a response from scratch. Better handoffs mean agents spend more time on judgment and less time on intake, which is the structural change that drove the 40% improvement in agent satisfaction scores.
Continuous Learning Pipeline
A closed-loop improvement system that turns every resolved ticket, human or AI, into a training signal: tracking resolution outcomes, CSAT scores, and knowledge gap patterns, then feeding those signals back into the knowledge base and model retraining pipeline on a weekly cadence. Every ticket resolved by the AI adds to the corpus of examples the system learns from. CSAT scores on AI-handled interactions surface knowledge quality issues: if a category of questions consistently produces lower CSAT, the learning pipeline flags those answers for review and identifies whether the source documentation needs updating or the retrieval is selecting the wrong context. Knowledge gap detection identifies the questions the system could not answer with sufficient confidence, creates a prioritized list of documentation to write or update, and validates coverage once the new content is ingested. The system running at month six is materially better than at month one, not because it was retrained on a new dataset, but because 180 days of resolved tickets have continuously enriched the knowledge base with the specific questions, language, and resolution paths of Brainfish's actual customer population.
Build vs. Buy: Brainfish chose to buy the knowledge layer.
Building a retrieval-augmented support system from scratch means months of infrastructure, retrieval tuning, and evaluation before a single customer question gets answered. Brainfish's product delivers resolution-grade answers in an afternoon, the decision to use a purpose-built knowledge AI platform rather than rolling custom RAG infrastructure was what made a 6-week deployment timeline possible.

What happened when support agents stopped answering the same question for the 500th time.
Measured across Brainfish's SaaS customer deployments, spanning 500+ companies and 2M+ monthly interactions, in the 12 months following full platform launch.
Tickets resolved by the AI without any human agent involvement, across all intent types and query complexity levels. Before deployment, 73% of tickets had answers in existing documentation, after deployment, the system retrieves and delivers those answers autonomously, reducing the human agent workload to genuinely complex cases that require judgment, investigation, or empathy.
Reduction in tickets requiring human agent involvement since deployment. Critically, total ticket volume grew, customers submit more tickets when resolution is instant. Agents shifted from handling 100% of 3,000 tickets to handling 22% of 5,000 tickets: roughly the same workload, but focused on cases that actually reward their capabilities. No deployments resulted in headcount reductions.
Median time from query submission to AI answer delivery, versus 6.5 minutes average before deployment across all channels. Under 3 seconds eliminates the waiting state that was the primary driver of pre-resolution frustration: customers no longer need to pause their workflow while they wait for support, which is the structural reason AI CSAT scores now match and in some categories exceed human agent scores.
Customer satisfaction rating on AI-handled conversations, versus 4.2 for human-only before deployment. The CSAT improvement reflects not just speed, customers who receive accurate, cited, step-by-step answers trust them more than terse human replies that tell them what to do without showing them the source. Grounded answers with citations score higher on perceived accuracy and completeness than humanly composed responses under time pressure.
Our support team used to handle 3,000 tickets a week. Now they handle 650, and they're the hard ones that actually require judgment. Job satisfaction scores went up 40% because agents are finally doing interesting work. The AI doesn't feel like a replacement. It feels like it finally took the parts of the job no one wanted to do and did them better than we ever could.
Four engineering decisions that made 91% resolution possible, and honest.
Grounding prevents hallucination, answers only come from retrieved knowledge
The single most important architectural decision was constraining the generative model to use only retrieved context. A general-purpose LLM answering customer support questions will confidently hallucinate product features, pricing, and policies that don't exist, because its training data includes plausible-sounding versions of everything. By forcing every answer to trace back to a source document in the knowledge base, the system cannot fabricate. The result is that customers receive answers they can verify, agents can audit, and the company can stand behind. 91% resolution is only meaningful if the resolutions are correct, grounding is the mechanism that makes the number honest.
Confidence gating protects quality, don't deliver every answer automatically
The counterintuitive design decision that enables 91% resolution is being willing to not resolve some queries autonomously. Routing low-confidence responses through human review before delivery, rather than publishing everything the model generates, protected customer experience during the transition period and created the trust that allowed Agix to expand the AI's autonomous scope over time. A system that resolves 75% of tickets correctly and 15% incorrectly has a net worse outcome than one that resolves 65% of tickets confidently and routes 35% to humans, because incorrect resolutions generate a second ticket, damage CSAT, and erode trust in the system that makes future autonomous resolution politically viable.
Resolution confirmation loop, don't assume delivery equals resolution
A decision point late in the build, asking customers to confirm their issue was resolved rather than closing the ticket after answer delivery, revealed a 9% gap between "answer delivered" and "issue actually resolved." That gap would have been invisible if the system had measured resolution by delivery. Instead, it became a continuous quality signal: queries where delivery didn't produce confirmed resolution were flagged for knowledge quality review, and the gap narrowed from 9% to 4% over the first six months of deployment as identified knowledge gaps were filled. The confirmation loop also generates the CSAT scores that drive the confidence threshold calibration, without it, the quality gate would have no feedback signal to tune against.
Continuous knowledge enrichment, every resolved ticket improves the next answer
The system improves fastest in exactly the areas customers ask about most frequently, because those are the areas where the most resolved tickets accumulate as training examples. A company that launches a new feature and sees a spike in "how do I use X" questions will see those questions handled with progressively higher resolution rates over the following weeks, as the resolved ticket corpus fills in the specific phrasings, edge cases, and step-by-step paths that new users encounter. This compounding improvement means the ROI case for the system strengthens over time rather than plateauing: the same infrastructure delivers materially higher value at month 12 than at month 1 without additional investment.
What powers this system.
RAG & Knowledge AI
Retrieval-augmented generation systems that ground answers in verified knowledge; eliminating hallucination and making every AI response auditable, citable, and trustworthy at enterprise scale.
Conversational AI Chatbots
Customer-facing dialogue management with intent classification, multi-turn context tracking, resolution confirmation, and seamless escalation, built for the volume and quality demands of B2B SaaS support.
AI Automation Services
Ticket routing, intent-based triage, and workflow automation that connects the AI resolution layer to your existing support stack; Zendesk, Intercom, Freshdesk, or custom ticketing systems via API.
Enterprise Knowledge Intelligence
Internal knowledge base ingestion, semantic indexing, gap detection, and continuous enrichment pipelines, turning scattered documentation into a queryable, always-current knowledge layer that improves with use.
Conversational Intelligence
Multi-turn support dialogue with resolution confirmation loops, CSAT correlation analysis, and escalation pattern detection; instrumented for continuous improvement, not just launch-day metrics.
Operational AI & CSAT Intelligence
Resolution rate tracking by intent category, agent utilization analysis, knowledge gap prioritization, and the weekly retraining cadence that turns every resolved ticket into a quality improvement.
Common questions about building AI support resolution that actually works.
Standard integration with Zendesk, Intercom, or Freshdesk takes 1–2 weeks. Custom integrations via API can connect to any ticketing system. Initial knowledge base ingestion, pulling from existing documentation, FAQs, and past ticket history, takes 3–5 days, after which the system is available for pilot testing in shadow mode. Shadow mode runs the AI in parallel with the existing support flow for 2–4 weeks, generating answer quality data and calibrating confidence thresholds before any live customer volume is routed through the new system. Full deployment with live routing typically follows 6–8 weeks from contract signature.
In every Brainfish deployment, total ticket volume grew as customers submitted more tickets knowing resolution was instant. Agents shifted from handling 100% of 3,000 tickets to handling 22% of 5,000 tickets, roughly the same absolute workload, but entirely focused on cases that require genuine judgment: complex multi-system investigations, emotionally escalated customers, policy exceptions, and strategic account issues. No deployment resulted in agent headcount reductions. Agent satisfaction scores improved by an average of 40%, the most consistent outcome across all deployments, because agents were finally doing the work they were hired for rather than the retrieval work that made the role unsustainable.
Product changes, new features, pricing updates, policy revisions, must be reflected in the knowledge base before the AI can handle related questions. There is typically a 24–48 hour lag between a product change and AI coverage, depending on when documentation is updated. To minimize this gap, the system integrates with documentation workflows: when a page is published or updated in Confluence, Notion, or the company's CMS, the updated content is automatically re-ingested and re-indexed. The knowledge gap detection layer also surfaces questions the system cannot answer with confidence, which serves as a real-time signal that documentation is lagging behind product changes, allowing content teams to prioritize updates based on actual customer query volume rather than intuition.
The ROI breakeven point is typically 300–500 tickets per month, where AI handling costs are offset by reduced human agent time. Below this volume, a well-organized FAQ page or lightweight help widget is often more cost-effective and easier to maintain. The system delivers maximum value above 2,000 tickets per month, where the compounding quality improvement of the continuous learning pipeline and the scale efficiency of AI resolution produce measurable cost per resolution advantages over any human-only approach. At 28,000+ monthly conversations (the Brainfish deployment level), the cost economics are transformational rather than incremental.
The system includes a sentiment detection layer that identifies emotional escalation signals, expressed frustration, repeated failed resolution attempts, explicit requests for a human, and routes proactively to the escalation handoff builder rather than attempting autonomous resolution. Some cases arrive already too elevated for AI handling; these are identified at intake classification and queued for human agents immediately, with the context package pre-built so the agent can begin with empathy rather than intake. The system does not attempt to resolve high-distress interactions autonomously, because the cost of an incorrect or impersonal response in that state is a customer relationship outcome, not just a support ticket outcome. The 91% resolution rate is built on correctly routing the cases that need empathy, not on processing them through an automated path.
Ready to resolve 91% of support tickets without a human?
Most projects go from kickoff to deployed AI system in 8–16 weeks. Let's talk about what grounded RAG answers, a continuous learning loop, and a 4.7/5 AI CSAT could do for your support team, and your customers.
