AI support chatbot: RAG, integrations, and escalation

More requests come in than the support team can handle, and routine questions consume operators' time. We develop turnkey AI chatbots: we set up search across your knowledge base, connect them to channels and systems, and plan the handoff of complex conversations to humans. This reduces response time and takes routine requests off operators' plates.
Frequently Asked Questions

AI chatbot in support: where answer quality breaks down

Problems with an AI chatbot in support almost always fall into three scenarios. Most often, knowledge base search breaks: documents are chunked so that a fragment cuts off in the middle of an instruction, and the bot pulls a section that is similar in wording but irrelevant.

From the outside, this looks like a confident off-topic answer — the client asks about a return and gets an excerpt from the delivery regulations.

Then inaccurate chatbot answers come into play for questions that are not in the base verbatim: without reformulating the request and checking that what was found is actually relevant, the model fills in a generic statement. The client asks again, gets no specifics, and leaves for a repeat contact — now through a human.

The third failure is untimely handoff of the dialog to an operator.

If the bot does not recognize a dead end either by the number of failed attempts or by a direct request to 'call a human,' it keeps the client until the last moment, and the operator receives the dialog without history.

They have to find out again what the bot already asked — the load on the first line grows, and response time lengthens.

As a result, support quality drops: the share of repeat contacts on the same topic grows, and the first line drowns in identical dialogs. We break down how this is closed — from knowledge base chunking and answer validation to escalation rules.

What changes after implementation: speed, accuracy, load

Implementing a chatbot changes not the number of contacts but their distribution between automation and people.

Typical questions — order status, return conditions, timelines — are closed in the first message, and operators are left with what requires system access or a decision on a non-standard case.

Metric Before After How it is achieved
Contacts without an operator 0% 55–70% answer from the knowledge base with a link to the source
First response time minutes at peak seconds answer without a queue or waiting for a shift change
Repeats on the same topic 20–30% a few percent clarifying questions before giving a solution
Night and peak hours on-duty operator auto-reply and handoff to an operator scenario handling without days off

Share of automatic answers

The bot answers based on the found fragment of the instruction and shows the source — the client can verify it. If there is no confidence, it asks a clarifying question instead of guessing.

First response time and repeats

The first response arrives within seconds at any time of day. Repeats on the same topic fall because the bot sees the case through to the end: it checks whether the solution helped, and only then closes the dialog.

Reduced load on the shift

Night and peak hours no longer require expanding the shift: typical scenarios are handled automatically, and an operator joins by rule — on an explicit request or a repeat contact.

In practice, in support connected to Zendesk, the share of contacts closed without an operator reached 62% in the first month of operation, and repeats on the same topic dropped almost fourfold.

AI chatbot: implementation options and when each fits

The chatbot option is chosen not by how 'smart' the model is, but by the cost of an error and the share of requests with an unambiguous answer. If the service is regulated — request, status, return — a rigid scenario is more reliable and cheaper in support.

If clients ask in free text across a large document base, you need search grounded in sources. Below are four schemes that are actually chosen between when implementing in support.

Option When it fits Limitations
Rule-based scenario Regulated service: 5–15 typical contacts, steps known in advance Does not understand wording outside the scenario; new situations require manual editing of the tree
Knowledge base search Large living base: documentation, regulations, contact history; free-text questions Depends on the cleanliness of the base; without a source link, the answer cannot be verified
Hybrid scheme Mixed flow: there are rigid operations and 'noisy' questions around them More complex setup: separate scenarios and search, set priority between them
Router bot Heterogeneous requests and several support lines, speed of reaching a human matters Does not solve the task itself — value is only in accurately passing context to an operator

In practice, the hybrid covers the most: the scenario takes operations where an error is costly, search takes the rest, and debatable cases go to escalation along with the dialog history.

The bottleneck here is not the model, but the quality of the knowledge base and request labeling: without them, any scheme answers confidently and incorrectly.

Implementation stages: from contact analysis to handoff to support

Implementation proceeds in stages, and each ends with an artifact that can be checked before launch: contact labeling, a scenario tree, escalation rules. This way, debatable points are discussed on paper rather than surfacing in the first dialogs with clients.

  1. Contact audit. We export the history of chats and requests for a period, label topics, and count shares: how many questions repeat, where data from the business system is needed, and where the client asks for a human. The output is a list of topics that the chatbot closes on its own and those that immediately go to an operator.
  2. Route scheme. We assemble the dialog tree: branches, clarifying questions, break points, and returns to the start. We agree on the scenario before development — edits in the scheme cost hours, edits in logic after launch cost weeks.
  3. Connecting knowledge sources. The knowledge base, regulations, instructions, and terms of service are chunked into fragments and updated on a schedule so that answers do not diverge from current rules. For each source, we record the owner and the change procedure.
  4. Escalation setup. We define rules for handoff to a human: uncertainty in the answer, a repeated question, emotional wording, a direct request for an operator. The dialog is passed with history and already collected data — the client does not have to answer again.
  5. Answer validation. We run the solution against a held-out sample of real dialogs: we look at the share of complete answers, false positives, and the justification of escalations. Based on the results, we calibrate the confidence threshold and supplement the knowledge base.
  6. Handoff to support. We hand over accesses and roles, the dialog log, instructions for operators, and the knowledge editing regulation. We train the team and stay in touch during the support period — edits are made by your in-house staff, without contacting us for every case.

Deliverable package: knowledge base, scenarios, accesses, regulations

After handover, you retain not only a working chatbot but also everything needed to run it independently — without contacting us for every wording edit. We transfer the package in your environment, with owner rights and without closed parts that cannot be passed to another team. We record the delivery scope in an act so that acceptance proceeds by a checklist, not by feel.

  • Knowledge base. A labeled corpus: thematic sections, source priorities, splitting long documents into linked fragments, rules for reprocessing on update. A new instruction is added without rebuilding the entire bot.
  • Scenario map. A table 'question → answer → source → condition for handoff to a human': you can immediately see which contacts the bot closes on its own and which it routes to an operator.
  • Escalation regulation. Trigger conditions — no answer above the confidence threshold, a repeated question on the same topic, a direct request for an operator; what exactly goes to the human (dialog history, found documents) and who receives the notification.
  • Access separation. Roles with the minimum necessary rights: who edits the knowledge base, who reads the correspondence, who changes scenarios. Separately — temporary contractor access and the procedure for revoking it.
  • Documentation and update procedure. A diagram of connections to the business system and channels, a list of failure points, the procedure for rolling out changes, and rollback to the previous version of scenarios.
  • Set of test questions. Reference contacts with expected answers — we run them after every edit to the base so that quality degradation is caught before users, not from complaints.

Such a package removes the main implementation risk: the bot stops being a black box dependent on one team.

Implementation case: share of automatic answers and resolution time

Before implementation

Support at Severline operated in three lines: the first took everything, the second handled warranty and returns, the third handled delivery claims. The first line closed 78% of contacts, but a third of them were typical questions about order status and delivery timelines.

At night, two operators were on duty, and a request that came in at 2:40 waited until morning for an answer.

The average time from first message to resolution was 9 hours, and when transferred between lines it stretched to a day: the client repeated the same thing to different people, and some contacts were simply lost at the junction.

What was changed and what was achieved

The chatbot was placed at the front: it handles the contact first and searches for an answer across regulations, order history, and invoices.

If the topic is sensitive or there is no confidence in the answer, the dialog goes to an operator along with the transcript and the client card, without repeated questions.

The share of automatic answers was 61% of all contacts; typical scenarios are closed without a human in 9 out of 10 cases.

The average time to resolution decreased from 9 hours to 40 minutes, and for contacts handed to an operator — to 2.5 hours, because the context is already collected. For warranty topics, the bot hands off the dialog immediately: correctness matters more there than speed.

Night load stopped being a bottleneck: 70% of contacts outside working hours are closed immediately, and the on-duty shift takes only non-standard cases. Transfers between lines decreased threefold — some escalations do not arise at all.

How knowledge base search differs from rigid scenarios

Rigid scenarios are a tree of branches written in advance: for each question there is a finite set of wordings and transitions.

Such a bot is predictable, easily covered by tests, and does not output anything extra, but any phrase outside the tree hits 'please rephrase' or immediately calls an operator.

Coverage here depends exactly on how many branches were laid down, and it has to be updated manually after every change to the regulations.

Document-based answers work differently: instructions and regulations are chunked into fragments, indexed, and the closest in meaning pieces are selected for the question, from which the answer is assembled.

Accuracy is determined not by the number of programmed branches, but by the quality of chunking, the freshness of the index, and the relevance threshold — below it, the bot must remain silent instead of completing the answer itself.

A vector index on Qdrant with filters by access rights also addresses who is allowed to see a given fragment at all.

Without source control, the scheme breaks predictably: a revoked version of a policy remains in the index, the current one lies next to it, and the bot cites both with equal confidence.

That is why only documents with a version marker and date enter the base, previous ones are displaced, and the answer always references a specific fragment — this is what makes it verifiable.

A hybrid is justified when there are both rigid procedures and a broad knowledge base: search comes first, and if confidence is below the threshold, a scenario or escalation to an operator with already collected context is triggered.

The scheme is chosen not by fashion, but by the share of questions that must have a single correct answer.

Common technical doubts before launching a bot

Before launch, doubts usually concern not the model but the bot's behavior at the edges: what it does when there is no answer in the base, and how quickly that is fixed.

Will the bot answer confidently even if it does not know?

Yes — if no confidence threshold is set. We configure a cutoff: when the relevance of found fragments is low, the bot does not invent an answer but reports that there is no data and offers an operator. The share of such refusals is visible in the logs from day one.

How are the boundaries of competence determined?

Topics that the bot does not serve — legal interpretations, individual terms, conflict contacts — are recorded as a list during design. Beyond the boundary, the request goes to an operator along with the dialog context so that the client does not repeat the question.

How is the knowledge base updated?

Documents remain in your source. Reindexing happens according to a regulation or on an event — when a new version of an instruction or terms is released. Outdated fragments are marked as no longer current: you can see which version each answer was built on.

What to do with contradictory documents?

The old instruction and the new version diverge — that is normal. We set priority by owner and modification date, and output discrepancies into a report: this is a reason to remove the duplicate from the base, not to mask it with a setting.

Can it be launched partially?

Yes. A limited launch on one channel and a set of topics is a normal start: we collect real wordings, refine the search sample, and only then does the bot take the entire flow of contacts.

Let's discuss the task: where we start and what we need from you

The project starts with analyzing the task, not with a bot demonstration. To discuss the task concretely, we need to understand what contacts come into support, what share of them can realistically be closed automatically, and where escalation to an operator is mandatory.

From this, the scope of the knowledge base and the depth of integration with your ticketing system are calculated.

What we need from the customer:

  • Examples of contacts — several dozen real dialogs from email or the ticketing system: they show client wordings and the share of repeating questions.
  • Knowledge sources — regulations, instructions, and knowledge base articles in their current form, including discrepancies between versions.
  • Escalation rules — a list of situations where the bot must hand off the dialog to a human: a disputed payment, order status, a claim.
  • Accesses — a test environment of the ticketing system, rights to the software interface, a separate channel for the pilot launch.
  • A responsible person on your side — a specialist who confirms the content of answers and approves the reference wordings.
  • Data restrictions — what cannot be sent to external services and how the correspondence history must be stored.

The first step is a 40–60 minute conversation: we go through scenarios, automation boundaries, and limitations. Then we come back with a work plan: stages, knowledge base composition, escalation scheme, and acceptance criteria — what you can use to verify the result.

AI Development Areas

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1393
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1368
  • B2B Advance company logo design
    B2B Advance company logo design
    815
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1139
  • AIDER company logo development
    AIDER company logo development
    1057
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1152