Most AI support bots answer everything โ confidently, including the things they're wrong about. DeskPilot answers from your docs, scores its own confidence, and hands off to a human instead of guessing.
Generic chatbot wrappers will answer a billing dispute, a refund request, or a question with no good source in your docs โ just as fluently as they answer "what are your hours." That fluency is the problem.
A question outside the knowledge base still gets a fluent, plausible-sounding answer โ often wrong.
Refunds, cancellations, and legal threats get handled by the same logic as "where's my package."
Most chat widgets expose zero information about how sure the model actually is.
Vector DBs and embedding pipelines are overkill for a knowledge base of a few hundred FAQ articles.
DeskPilot scores its own retrieval confidence before it ever calls the LLM โ no vector database required.
Your docs are chunked and indexed with TF-IDF cosine similarity โ no embedding API, no vector store, runs in-process.
Every query returns top-K chunks and a similarity score. That score doubles as a confidence signal for the next step.
Keyword match (refund, lawyer, cancel) or low retrieval confidence routes straight to a human โ no LLM call, no guess.
Only messages that clear the gate reach the LLM, which answers using retrieved context only and returns its sources.
Add documents directly โ chunking and TF-IDF indexing happen automatically, no embedding pipeline to stand up.
Keyword triggers plus a configurable confidence floor decide, before any LLM call, whether a human should handle it.
Every answer returns the knowledge base chunks it was grounded in, so you can show citations or audit responses.
Conversation history is tracked per session, so follow-up questions stay grounded in prior context.
Not a managed black box. Brand voice, escalation rules, confidence tolerance, and retrieval depth are all exposed at the API layer โ tune the agent to your own policy instead of a vendor's defaults.
The system prompt constrains the model to the retrieved context โ no open-domain answers, no hallucinated policy.
Add your FAQ or help-center articles to a knowledge base. Chunking and indexing happen automatically.
import { DeskPilot, KnowledgeBase } from "deskpilot"; const kb = new KnowledgeBase(); kb.addDocument({ id: "shipping", title: "Shipping Policy", content: "Standard shipping takes 5-7 business days...", });
Every response tells you whether it escalated, and why.
const agent = new DeskPilot(kb); const response = await agent.chat("session-123", "How long does shipping take?"); console.log(response.answer, response.escalate);
Watch DeskPilot answer from its docs, call a lookup_order tool
to check a real shipment, open a ticket when the shipment is stuck, and escalate
without ever calling the LLM when a message matches a high-stakes keyword.
Real output from the demo โ the agent looks up the order, recognizes the delay exceeds the normal window, and opens a ticket instead of guessing or bailing out.
Q: Where's my order ORD-1004? It's been 5 days with no tracking update. ๐ง lookup_order(ORD-1004) โ delayed ๐ง create_ticket(shipping_delay) โ TCK-1001 A: I've opened support ticket TCK-1001 for your order. A member of our team will follow up and initiate a trace with FedEx to locate your package. confidence=0.42 escalate=false Q: I want a refund and I'm talking to my lawyer about this. A: I want to make sure this gets handled correctly โ I'm looping in a teammate who can help. confidence=0.00 escalate=true (matched escalation keyword: "refund")
Swap TF-IDF for a vector store once the knowledge base grows past a few thousand chunks or needs cross-lingual matching.
Zendesk, Intercom, and email ingestion/reply adapters so DeskPilot sits behind your existing support tooling.
Push escalations directly to Slack or email instead of just returning escalate: true to the caller.
Move conversation history out of process memory and into Redis or a database for multi-instance deployments.
Plans scale by conversation volume, channels, analytics and integrations, deployment model, and support. The higher tiers aren't just more messages โ they're built for customers who need configuration, accountability, and a more controlled operating environment.
For teams putting an AI support agent live on their docs.
For growing support teams across multiple channels.
For a configured, accountable, controlled operating environment.
Free to try Reach out and we'll set up a pilot with you directly โ self-serve 14-day trial signup is coming soon.
Drop DeskPilot into your support stack in under 10 minutes.