AI Workspaces
An AI Workspace is a scoped AI environment inside a Qefro organization (tenant). Each workspace has its own knowledge base, assistant instructions, Business Tools, and conversations. Customer AI (website widget, WhatsApp) and Employee AI (Internal Portal) bind to workspaces you configure in the Admin Console.
Introduction
In the product data model:
- Organization / tenant — top-level isolation and billing boundary (
app.qefro.comsignup) - Workspace — team/use-case boundary (Customer Support, HR, IT, …)
- Team (org RBAC) — grants Members access to specific workspaces
Admin Console APIs expose workspaces under /api/v1/org/workspaces (list/get) and GraphQL for day-to-day console operations.
Why it exists
Mixing customer FAQs with internal HR policy causes inaccurate answers and privacy risk. Workspaces make isolation the default: retrieval and Business Actions stay inside the selected workspace.
Concepts
| Term | Meaning in Qefro |
|---|---|
| Organization | Tenant: users, billing, branding, widget token |
| Workspace | Isolated knowledge + tools + conversations |
| Instructions | System guidance (tone, language, refusal) |
| Business Tools | REST/OpenAPI connectors bound to a workspace |
| Experience | Widget, Internal Portal, or WhatsApp → workspace |
Architecture
Organization
Billing, members, branding, publishable widget token.
Workspace
Knowledge and tools never cross unless you design it.
Teams + RBAC
Owner/Admin/Member; Members only see granted workspaces.
Workflow
Operate a workspace
- Create — Admin Console → create workspace and name the use case.
- Ingest knowledge — Upload documents or crawl approved sites (POST /api/v1/documents).
- Attach tools — Under the workspace, create integrations/tools or import OpenAPI.
- Bind channels — Widget data-workspace-id, portal workspace access, WhatsApp mapping.
- Monitor — Analytics, feedbacks, and tool execution logs.
Code examples
- Widget bind
- Org workspaces API
<script
src="https://cdn.qefro.com/widget.js"
data-token="YOUR_WIDGET_TOKEN"
data-endpoint="https://api.qefro.com"
data-workspace-id="YOUR_WORKSPACE_ID">
</script>
curl -sS \
-H "Authorization: Bearer $USER_JWT" \
https://api.qefro.com/api/v1/org/workspaces
Best practices
- One primary audience per workspace (customers vs employees)
- Start narrow on knowledge quality before bulk imports
- Cross-test: ask Support questions against HR knowledge to prove isolation
- Assign a human owner per workspace