DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS /// DOCS
WORKSPACE·OVERVIEW

Workspace

A workspace is the top-level container in Onnie. Every member, project, table, page, task, routine, bot, and API key lives inside exactly one workspace. Billing, permissions, and AI context all scope to it.

When you first sign up you get one workspace. You can create additional workspaces at any time — they're fully separate: different members, different data, different billing.


What a workspace contains

Everything you build on Onnie belongs to a workspace. The main entities are:

Members and teams. People you invite, each with a role (viewer, editor, or admin). Members can be grouped into teams for easier access control and assignment.

Projects. Containers that group related Tasks, Pages, Routines, tables, and bots under one initiative. See Projects.

Tables. Structured, spreadsheet-like datasets — rows of records with typed columns, views, and forms. Tables can exist at the workspace level or inside a project.

Tasks. Persistent work items tracked through a state machine. Tasks can be assigned to a person or to a bot. See Tasks.

Pages. Long-form documents (TipTap-based) with rich content, inline references, and optional public sharing. Pages can sit at the workspace level or inside a project.

Routines. Automated jobs: Agent Routines (AI-driven), Functions (sandboxed code), and Chains (branching sequences). Routines run on a pg_cron schedule or on demand. See Routines.

Onniebots. Scoped AI workers your team configures with custom instructions, restricted tool sets, and optional skill lists. See AI Agents.

Skills. Reusable instruction documents you give to agents. See Skills.

Billing. Credits, subscriptions, and credit purchases all attach to the workspace, not to individual users.


The workspace URL

Every workspace has a unique alias_id — a 12-character base-64 token generated automatically when the workspace is created (by the set_alias_id() database trigger). You cannot choose a slug; the alias is opaque by design.

All workspace routes follow this pattern:

/{locale}/{workspaceAliasId}/...

For example:

/en/aB3kR7mN2pQx/agent
/en/aB3kR7mN2pQx/tasks

The workspaceAliasId portion of the URL is the value from the workspaces.alias_id column. It is stable — it never changes after the workspace is created, so you can bookmark or share these URLs safely.


Switching workspaces

If you belong to more than one workspace, the workspace-picker route takes you to a list of your workspaces:

/{locale}/auth/select-workspace

From there, clicking a workspace sets it as your active context and takes you to the workspace home. Your profiles.login_workspace_id is updated in the background so your next login lands on the right workspace automatically.

To create a new workspace, use the New workspace option in the workspace switcher. The setup form asks for a name and optionally lets you invite your first members and pick an icon and color.


Workspace settings

Workspace-level settings are accessible from the settings panel inside the workspace. Admins and the owner can change the following:

Name, icon, and color. Display metadata that appears in the workspace switcher and throughout the UI.

Members. Invite members by email, change roles, remove members. Invitations are tracked in workspace_invitations and expire if not accepted.

Teams. Create named teams and add workspace members to them. Teams appear in the bot and assignment pickers.

Billing. View your current plan, purchase credits, and manage subscriptions. Billing scopes to the workspace — one plan per workspace.

API Keys. Create scoped API keys for integrating with the public API. Keys are workspace-scoped and carry per-key rate limits. Go to Settings → API Keys → Create new key, choose the scopes you need, and copy the key when shown — it is only displayed once.

Workspace context (onnie_md). A free-form markdown document that any agent in the workspace receives as background context. Use it to describe your company, your conventions, or standing preferences for how Onnie should behave.


Workspace status

A workspace can be in one of four states: active, suspended, archived, or pending_deletion. Normal workspaces are active. suspended is set by the platform when a billing issue occurs. archived and pending_deletion are terminal states — once a workspace enters pending_deletion a scheduled_deletion_at timestamp is set and the data is purged after a grace period.

You can delete your workspace from Settings → Danger Zone. Only the workspace owner can trigger deletion. Members cannot delete a workspace; they can only leave it.


Creating a second workspace

You can belong to multiple workspaces simultaneously. To create one, open the workspace switcher and choose New workspace. Each workspace is provisioned independently — it gets its own alias_id, its own billing plan, its own member list, and its own set of agents and data. Nothing is shared across workspaces by default.

If you regularly switch between workspaces, the last workspace you opened is remembered in profiles.login_workspace_id so you land there on your next login. You can change your default workspace any time from the workspace switcher.