AI chatbots trained on your docs,
live on your site in minutes
Upload PDFs, scrape your help center, and give visitors immediate answers with citations. You get an isolated Shadow DOM widget, built-in lead capture, and zero style conflicts.
How Qchat works from
raw docs to a live chatbot
From your internal documents to a working chatbot on your website in under five minutes. You do not need to configure vector databases or fine-tune models yourself.
Connect your content
Drop in PDFs, Word docs, Markdown files, or paste your website URL. The system parses, chunks, and indexes your material for search automatically.
Tune your assistant and lead forms
Set custom system instructions, choose your brand colors, add starter prompts, and configure lead capture fields (Name, Email, Phone) for high-intent visitors.
Embed with one script tag
Copy the embed tag and paste it before your closing body tag. It works across React, Next.js, WordPress, Shopify, or plain HTML without stylesheet conflicts.
Tenant data isolation
Scoped Postgres queries and partitioned vector metadata keep each organization data strictly separated.
Model flexibility & BYOK
Use platform tokens or plug in your own OpenAI, Anthropic, or Google Gemini keys with zero token markup.
Fast token streaming
Server-Sent Events stream answers token by token with direct citations to the source documents.
Team management
Invite admins and team members with clear permission levels to manage documents and review captured leads.
Everything you need to launch
an accurate chatbot on your site
From document indexing to the Shadow DOM widget and CRM lead capture, every piece is ready for production.
Hybrid RAG retrieval
Combines vector similarity search with BM25 keyword matching and a cross-encoder reranker. This helps prevent hallucinations and gives visitors direct footnotes linking to the exact source page.
// Hybrid retrieval with cross-encoder reranking
const candidates = await hybridSearch({
query: userPrompt,
tenantId: ctx.tenantId,
limit: 50
});
const rerankedChunks = await reranker.score({
query: userPrompt,
documents: candidates,
topK: 5
});
return generateStream({
context: rerankedChunks,
model: 'claude-3-5-sonnet',
citations: true
});Customize the widget
to match your website style
Change colors, screen position, greeting text, and lead capture fields to preview how the widget looks.
Widget Configuration
<script
src="/widget.js"
data-key="embed_hqvx_2Hbi2PoZ9AZCmkCASGqXWtQ9GVW"
data-position="bottom-right"
data-primary-color="#2563EB"
data-theme="dark"
defer>
</script>Qchat Assistant
OnlineEstimate your monthly token usage
Estimate how many tokens you might need based on expected monthly conversations.
Projected Metrics & Savings
Simple pricing with
clear token limits
Choose a plan that fits your monthly conversation volume. Bring your own API keys for 0% token markup, or use our managed quota.
- 100,000 Monthly Tokens
- Standard Widget
- Basic Document RAG (5 sources)
- 1 Embed Key · 2 Team Members
- Bring Your Own API Key (all providers)
- 500,000 Monthly Tokens
- Lead Capture Form & CRM
- Web Page Scraper (50 sources)
- 3 Embed Keys · 10 Team Members
- Custom Branding
- Bring Your Own API Key (all providers)
- 5,000,000 Monthly Tokens
- Unlimited Sources, Keys & Team Members
- Lead Capture Form & CRM
- Priority Support & SLA
- Dedicated Onboarding
- Bring Your Own API Key (all providers)
Built with tenant privacy
at every layer
Your documents and visitor conversations are private. We enforce tenant isolation, domain rules, and credential encryption across Qchat.
Tenant database isolation
Every query, document chunk, and chat session is filtered by tenant ID constraints in PostgreSQL. Organizations cannot see each other data.
CORS & domain allowlisting
Your embed keys only execute on authorized domains you specify. Unauthorized websites cannot load your widget or use your token balance.
AES-256 credential encryption
Custom BYOK API keys (OpenAI, Anthropic, Gemini) are encrypted at rest with AES-256-GCM before saving to the database.
Sliding-window rate limiting
Redis-backed rate limiters defend against spam and token draining per IP address and embed key.
Shadow DOM encapsulation
Widget HTML and CSS render inside an isolated Shadow Root, keeping your website stylesheets free from style collisions.
99.9% Uptime & monitoring
High-availability cloud infrastructure with continuous health checks and token telemetry.
What teams say about
using Qchat
“Qchat solved our custom chatbot maintenance headaches. Ingesting 200 API documentation pages took under three minutes, and the widget dropped cleanly into our Next.js site without any CSS conflicts.”
“The in-chat lead capture form helped us double qualified demo inquiries. The team appreciates having the chat transcript attached directly to each lead.”
“Tenant data isolation and BYOK support were hard requirements for our healthcare clients. Qchat met our security requirements and saved us months of internal RAG development.”
Questions and answers
Details on embedding, technical architecture, data privacy, and billing on Qchat.
Under five minutes. Create your account, upload your documents (PDF, DOCX, TXT) or paste a website URL, set your brand color, and copy the script tag to your site.
Talk with our team about
custom limits or security
Reach out with questions about plan quotas, enterprise requirements, or dedicated setup assistance.