Production project with your ERP database
and finance agents, and a Sales project with HubSpot and the Jira connector —
without creating a second organization or a second bill.
Every organization starts with one Default project. You can add more at any
time and switch between them from the sidebar.
What a project scopes
When a project is active, you only see and use that project’s resources:- Data sources — databases, REST/GraphQL APIs, SaaS connectors, and on-prem CoreMCP sources
- Chats — including conversation history
- Unified Context — schema annotations, the business glossary, and the knowledge an agent has ingested
What stays shared across the organization
Some things belong to the whole organization, not a single project, and are the same in every project:- Billing & plan
- Members & roles
- LLM provider keys (BYOK)
- API tokens
- Audit & activity logs
Additional system prompt
Each project can carry an additional system prompt — extra instructions for the assistant scoped to that project (tone, persona, domain rules, business definitions like “active customer = ordered in the last 90 days”). Edit it under Settings → Projects (the pencil on a project), as an Admin. It’s added on top of the assistant’s built-in behavior — it does not override the safety and anti-fabrication rules. Because it’s per-project, it applies everywhere that project drives the assistant: panel chat, the widget, voice, and the Developer API.Switching projects
Use the project switcher at the top of the sidebar. The switch is instant — the sidebar, dashboard, sources, agents, and chat all reload into the selected project.Creating & managing projects
Open the switcher and choose New project, or manage them all under Settings → Projects. From there you can rename a project or delete an empty one. Creating and deleting projects requires an Admin role. A project must be empty before it can be deleted — move or remove its sources, agents, and chats first. The Default project can’t be deleted.Projects and the API / widget
The Developer API operates in your organization’s Default project unless you say otherwise: list your workspaces withGET /api/v1/projects, then pass a project_id — as a query parameter on
the sources endpoint, or in the chat completion body — to target
any project. Narrow further within a project with source_ids (see
GET /api/v1/sources).
The embeddable widget is scoped per project by its widget
key, not by a JWT claim: each project has its own key, and whichever key’s
publicId you embed fixes the whole session — chat, history, and voice —
inside that project. See
Scoping the widget to a project.