Quickstart
Empty workspace to a grounded answer on your own site. Roughly twenty minutes, most of which is waiting for a crawl.
1. Create your workspace
Sign up with an email and password, or with Google or GitHub. On first sign-in you name your workspace — this is the name the agent speaks for, and it appears in the widget header. You can change it later in Configuration.
A workspace gets a public key and a widget secret at creation. The public key identifies your workspace to the widget and is safe to ship in a page. The widget secret is not: it signs identity payloads and must stay on your server. See Identity & signing.
2. Add knowledge
Go to Knowledge and add your first source. The fastest start is a sitemap — paste https://yourdocs.com/sitemap.xml and every page in it is fetched, chunked and embedded. A single URL or a pasted snippet works too.
Sources move through PENDING → CRAWLING → EMBEDDING → READY. Only READY chunks are retrievable, so wait for that before testing. A source that fails keeps its error message on the row.
3. Install the widget
Copy the snippet from the dashboard and paste it before the closing </body> tag. It loads asynchronously and does not block rendering.
<!-- Zealoop messenger -->
<script>
window.zealoop = { publicKey: "pk_live_your_key" };
(function () {
var i = function () { i.q.push(arguments); };
i.q = [];
window.Zealoop = i;
var s = document.createElement("script");
s.async = true;
s.src = "https://cdn.zealoop.com/widget.js";
document.head.appendChild(s);
})();
</script>Reload your site and the launcher appears. Ask it something your documentation covers — you should get an answer with a citation underneath it. Full options in Installing the widget.
4. Watch the first trace
Open Inbox in the dashboard and click the conversation you just had. Every turn shows what actually happened:
- the raw question and the standalone query it was rewritten into
- each retrieved chunk with its vector, text and rerank scores
- whether the result fell below the confidence threshold
- which model ran, how many tokens, what it cost, how long each stage took
- the outcome: answered, clarified, abstained, escalated, blocked or errored
If the agent abstained, the trace shows you the scores it abstained on. That is usually a missing document, not a tuning problem.
5. Optional — let it look things up
Docs-only Q&A works on the free plan. Two more steps turn it into an agent that resolves tickets:
- Identify your users. Call
window.Zea.identify()with a server-signed payload so the agent knows who it is talking to. - Give it data or endpoints. Upload a CSV as a Table, or connect your API as an Action.
The order that matters
Identity first, then data. An action marked requiresIdentity is never offered to the model for an unverified visitor, so wiring up orders before wiring up signing gives you an agent that can technically read rows but will always refuse to.
Where to go next
- Identity & signing — the HMAC, and why the unsigned version is worthless
- Actions — connecting your API with guards that hold
- Escalation — what happens when the agent should not decide alone