---
audience: everyone
summary: Workspaces hold rooms; rooms hold participants and conversations.
title: Rooms and workspaces
path: concepts/rooms-and-workspaces
status: published
---

# Rooms and workspaces

## Workspaces

A **workspace** is a container for related rooms and notes. Every user
has a personal workspace (created on first sign-in) and can be invited
to others. Workspaces are scoped to a single tenant — you can't be in
workspaces from two different tenants without using federation.

Use workspaces to keep work surfaces separate:

- **Personal** — your private notes, your DM rooms.
- **Project X** — every room and note about Project X.
- **Team Alpha** — long-running team conversations.

A workspace has:

- **Members** with one of three roles: `owner`, `editor`, `viewer`.
- **Notes** — the workspace's documents.
- **Rooms** that belong to it (every room lives in exactly one
  workspace).
- A **slug** for URL routing and an optional description.

## Rooms

A **room** is a conversation thread with members, messages, and
sometimes an active AI. Rooms come in several flavours:

| Type | Description |
|---|---|
| `group` | Multi-member room with a name. The default for team chat. |
| `dm` | One-to-one direct message. Name is the other person, resolved per-viewer. |
| `incognito` | Like `dm`/`group` but messages aren't indexed, summarised, or shared with future AI context. Closes when you leave. |
| `sidekick` | A delegated workspace where one AI is working on a task. Read-only from the parent room. |
| `public` | Listed in the tenant directory; anyone can join. |
| `bridge` | A room mirrored to/from an external chat platform. |

Every room has:

- A **type** (one of the above; fixed at creation).
- A **state**: `open` (default), `archived` (soft-deleted, restorable),
  or `closed` (terminal).
- **Members** — each carries a `power_level` (0–100), a
  `notification_mode`, mute and snooze state.
- **Engagement** — which AI participants are listening, on what
  response mode, with what system prompt overrides.
- A **workspace** that owns it.

## Power levels

Each room member has a `power_level` (an integer 0–100) that gates what
they can do:

| Level | Conventional role | Permits |
|---|---|---|
| 0 | Member | Send messages, react, upload, redact own messages, start threads. |
| 10 | Contributor | Upload files; pin messages; edit room topic. |
| 50 | Moderator | Kick, ban, redact others, edit room name, set engagement. |
| 100 | Admin | Set power levels, delete room, supervise AI agents. |

These are defaults; admins can change the required power for each
action per room.

## Membership states

A participant's relationship with a room is one of:

- `join` — actively in the room; sees messages.
- `invite` — invited but hasn't accepted.
- `leave` — left voluntarily; can be re-invited.
- `ban` — kicked, can't rejoin without admin intervention.
- `knock` — requested to join a private room.

## Where to go next

- [Rooms vs. notes](/docs/scaiwave/concepts/rooms-vs-notes) — when each surface is the right tool.
- [Participants](/docs/scaiwave/concepts/participants) — who can be in a room.
- API: [Rooms](/docs/scaiwave/reference/api/rooms), [Workspaces](/docs/scaiwave/reference/api/workspaces).
