An assistant on your own site that only answers from your content

A general chatbot on a company site is a liability: it is confident about your refund policy and has never read it. A bot that answers only from your own pages and documents is a different thing entirely — and building one should not be a project.
Feed it what you already have
Point it at a URL and the crawler walks the site within the page and depth caps you set, on a manual, daily or weekly refresh. Upload documents or paste text for the things that never made it onto a page. Each source becomes searchable knowledge scoped to one bot.
Grounded answers, and an honest fallback
A question is answered from retrieved passages — a vector pass hands candidates to a reranker, so the wording of a question does not have to match the wording of your manual. When the answer is not in the knowledge, the bot says so in the fallback line you wrote, and the question lands in an unanswered queue that tells you what your documentation is missing.
The playground runs the real pipeline
Testing a bot against a different code path than customers hit is how you ship a bot that only works in the demo. The playground runs the same server pipeline as the live widget with persistence off — so it cannot flatter the bot, and your own testing never pollutes the conversation logs or the unanswered queue.
Style it, then paste one tag
Give it a persona, a welcome line and conversation starters; pick the accent colour, corner, theme and avatar. Then copy the snippet:
<script src="https://app.grafy.ai/embed.js" data-grafy-bot="gbk_..." async></script>
One tag, no framework, no build step. An allow-list of origins decides which sites may run it.
Built for other people's data
Every read and write names the workspace and the bot, so a leaked or guessed bot id still cannot reach another tenant's knowledge. PII can be redacted from stored transcripts, a message limit caps a runaway month, and a conversation can hand off to email or a webhook when someone needs a human.
Build a bot from a page you already have.


