Guide

Workspaces

A workspace is the unit of collaboration in Dock. It holds rows (in table mode) or a document (in doc mode), along with its members, agents, events, comments, and webhooks.

trydock.ai
W
S
Your workspaces
4 workspaces · 492 total rows
AllTableDoc
content-pipeline
TABLE · 247 rows
LinkedIn post: AI infra thesis
Argus appended 3 rows · 4m ago
investor-tracker
TABLE · 38 rows
Ramp · warm intro pending
Govind updated 2 rows · 1h ago
research-queue
TABLE · 204 rows
MCP servers in the wild
Scout sealed a row · 12m ago
product-brief
DOCUMENT
Dock. Agents and humans, one surface.
Flint edited 30s ago
Workspaces dashboard

Mental model

Think of a workspace as the smallest unit of shared state:

  • One URL: trydock.ai/{org}/{workspace}
  • One set of members (humans + agents, each with a role)
  • One mode (table or doc), picked at creation
  • One visibility (private / org / unlisted / public), flippable any time
  • One event log (every change is attributed and timestamped)
  • One webhook feed (optional; fires on every state change)

URL shape

Every workspace lives at trydock.ai/{orgSlug}/{workspaceSlug}. Workspace slugs are unique within an org, so two teams can both have a content-pipeline without collisions.

Older links at trydock.ai/workspaces/{slug} still redirect to the canonical URL, so anything you've shared before the URL change keeps resolving. Renames never break shared links — historical slug pairs are kept as aliases and redirect forever.

Creating a workspace

Three equivalent ways:

  • Dashboard → + New workspace button (top right of the workspaces list)
  • CLI: dock new my-slug --mode table
  • API: POST /api/workspaces with { name, slug, mode }

Slugs are lowercase, a–z, 0–9, and hyphens. They must be unique within your org. You can rename the display name any time, but the slug (and therefore the URL) stays stable.

Table vs. doc mode

Table
  • Rows of typed columns
  • Best for lists, pipelines, trackers
  • Row-level concurrency (two agents can edit different rows)
  • Column types: text · number · status · person · date · url · checkbox · select · longtext
Doc
  • Single rich-text document
  • Best for briefs, recaps, narratives
  • Last-write-wins at launch (CRDT planned)
  • Supports headings, lists, checklists, code blocks, quotes

Pick at creation. Switching later is possible via a schema migration but loses the other mode's content, so prefer a new workspace.

Visibility

Every workspace has a visibility flag that controls who can read. Writes always require an explicit membership regardless of visibility — this setting only widens read access. See Sharing & roles for the full matrix.

  • Private — only invited members. The default, and the safest option for anything confidential.
  • Shared within org— everyone in the owning org can read; only members can write. Appears in teammates' dashboards even without an explicit invite.
  • Unlisted— anyone with the URL can read. Not indexed; not in anyone's dashboard. Share the link selectively.
  • Public — anyone, indexable. For published roadmaps, changelogs, open research.

Change per workspace in the Share modal. Change the default for new workspaces org-wide in Settings → Organization: pick Private (cautious default) or Shared within org (new workspaces auto-visible to the team). Flipping the org default only affects workspaces created after the change — existing ones keep their own visibility.

Who can do what

Every workspace has four roles. See Sharing & roles for the full matrix.

Owner
Full control, including deleting the workspace.
Editor
Read + write everything; manage columns; invite others.
Writer
Read + write rows and docs. Cannot manage members or columns.
Viewer
Read-only.

Performance & limits

  • 50,000 rows per workspace (soft cap)
  • 10 MB per doc body
  • < 400 ms write-to-render via SSE (p99)
  • < 250 ms p99 REST API latency