Internal chat for your team,
grounded in your own docs
Ajena Crew is a helpdesk chatbot scoped to your project. Upload your runbooks, specs, and notes — staff ask questions in chat and get answers cited back to the source.
One knowledge base
per project
Every project gets its own physically separate knowledge base. Marketing’s questions hit Marketing’s docs. Engineering’s hit Engineering’s. Nothing crosses the project boundary — even within the same organisation.
- ✓Per-project isolation enforced server-side on every request
- ✓Switch projects from the top bar — chat history and KB swap instantly
- ✓No accidental cross-project leakage, even with a leaked document ID
- ✓Org-wide reference KB available as an opt-in second pass (planned)
https://ajena.sawala.cloud/crew/marketing/chat https://ajena.sawala.cloud/crew/engineering/chat # physical KB instances behind the routes ai-search ajena-orgs/org_acme-proj_marketing-crew ai-search ajena-orgs/org_acme-proj_engineering-crew
Switch projects in one click. Your KB and chat history follow you.
Every answer cites its source
Ajena uses retrieval-augmented generation: before the model answers, it pulls relevant passages from your project’s KB and shows them as citations next to the response. Click a citation card to jump to the original document.
Citations
marketing/runbooks/quiet-hours.mdmarketing/runbooks/quiet-hours.mdBring your own docs —
never an accidental upload
Upload markdown, plain text, or JSON directly to your project’s KB. Or pick existing files from Berkasna and import them with one click — they enter the KB tagged with their Berkasna source, so unlinking removes them from the KB without touching Berkasna.
uploadDirect upload
Drag a file into the admin page. Indexed in seconds. Tagged source=admin.
importImport from Berkasna
Pick files from your Berkasna bucket. Tagged source=berkasna with a back-reference for safe unlinking.
4 MB max per document
ingest flow
# direct upload (admin page)
POST /api/admin/ingest
multipart/form-data
file: ./quiet-hours.md
title: "Quiet hours"
→ 202 Accepted, indexed within ~5s, source=admin
# import from Berkasna (admin page picker)
POST /api/crew/admin/kb/import-berkasna
{ fileIds: ["asset_AB12...", "asset_CD34..."] }
→ 202 Accepted per file, source=berkasna,
back-reference preserved for safe unlinkingInternal today,
omnichannel tomorrow
Ajena ships two modes that share the same project KB but live on physically separate indexes — so an internal document can never accidentally be served to a customer-facing surface.
Crew — Internal helpdesk
Staff chat at /crew/{project}/chat. KB instance suffixed -crew. This is what ships in Wave 1.
Connect — Customer-facing chat
Embedded chat widget + WhatsApp/Messenger channels for end users. KB instance suffixed -connect. Promote a Crew doc into Connect explicitly with audit metadata.
More out of the box
Everything you need to run an internal RAG chatbot — without the infrastructure overhead.
Multi-session history
Each chat is a named session in the sidebar — rename, delete, switch between threads. History is partitioned per (org, project, user) so you only see your own.
Tool calls built-in
The agent can call tools like calculate, getWeather, getUserTimezone, or look up additional KB passages mid-conversation when the pre-retrieval context doesn’t answer the question.
AI Gateway observability
Every model call routes through Cloudflare AI Gateway for per-org cost, latency, and prompt-level tracing. No black-box LLM spend.
Workers AI inference
Inference runs on Cloudflare Workers AI — no third-party API key, no data leaving the edge. Llama 4 Scout for chat; bge-m3 + bge-reranker for retrieval.
Role-gated KB edits
Org admins manage the KB; project members chat. Wave 2 splits into ajena-admin / ajena-editor / ajena-viewer when finer-grained roles are needed.
Audit trail (Wave 2)
Every KB write, every Crew→Connect promotion, every channel-token rotation is logged with actor + timestamp + project. Visible in the org dashboard.
Ready to build with Ajena?
Spin up your project’s KB, paste your runbooks, and let your team ask questions in chat — with citations, every time.