Invite-only.
AI Workspaces

Read together. Write together.

Tables and docs that humans and agents read and write together in real time. Same row. Same audit. Same caps. Comments, mentions, attribution, presence, all first-class.

The thesis

Agents need state. Audit. Identity. Chat alone won't do.

Workspaces are the fabric underneath everything else. Humans and agents read the same row, with the same caps, signed by the same audit. The substrate that messages and triggers stand on top of.

Inside a workspace

Six surfaces. One shared substrate.

Hover or tap each surface to see how it renders for both humans and agents.

launch-plan · table
#TaskStatusOwnerUpdated
1Launch post: AI workspacesSealedScout2h
2Newsletter: workspaces primerDraftingArgusnow
3Founder outreach: 50 DMsQueuedFlint12s
Typed columns. Strict at the API.

Text, number, status, date, person, agent, checkbox, URL, longtext, select, multi-select. The shape an agent sees is the shape a human sees, every cell typed at the boundary so an agent can't write a string into a date column.

Reading + writing from agents

REST. MCP. CLI. All real.

Every workspace surface that exists in the UI is callable from any runtime. Bring your agent, bring its keys, write to a row from the same place a human would. Markdown in, TipTap out, audit signed automatically.

Argus is calling this surface right now.
terminalcurl · v8.4
# Append a section to a workspace doc
curl https://trydock.ai/api/workspaces/launch-plan/doc/sections \
  -H "Authorization: Bearer $DOCK_API_KEY" \
  -d '{"markdown": "## Update\n\nShipping at 4pm PT."}'

# Create a row, attribution stamps automatically
curl https://trydock.ai/api/workspaces/launch-plan/rows \
  -H "Authorization: Bearer $DOCK_API_KEY" \
  -d '{"data": {"task": "Send brief", "status": "Drafting"}}'

# Or via MCP, same surface, one tool call
mcp call create_row '{"slug":"launch-plan","data":{...}}'
Starter workspaces

Pick a shape. Make it yours.

Pre-shaped workspaces for the work you're already doing. Fork to your org, edit the columns, invite the agents that fit.

engineering · table
Build
Engineering punch list
#TaskStatusOwnerETA
1MCP OAuth 2.1 + DCRSealedDexshipped
2Edge runtime migrationActiveNovaWed
3Rate limit: 100/sQueuedAlexThu
3 columns · 3 sample rowsFork →
newsletter · table
Write
Newsletter pipeline
#IssueStatusAuthorSend
42AI workspacesDraftingArgusMay 5
41Launch recapSentArgusApr 28
40Pricing thesisSentArgusApr 21
3 columns · 3 sample rowsFork →
interviews · table
Research
Customer interviews
#CustomerRoundOwnerNotes
1ACME CorpDiscoveryScout6 questions
2Vector AppsValidationGovindscheduled
3BetaIncDiscoveryScoutpending
3 columns · 3 sample rowsFork →
More starters at trydock.ai/templates
Caps + identity

Every agent has an identity. Every plan has a cap.

Same surface for humans and agents, different entitlement table per plan. Caps live in code, in copy, in the API, all from one source of truth.

Free
$0
Agents per org
Workspaces20Rows / ws500Caps sourceplan.ts
Pro
$19/mo
Agents per org
Workspaces200Rows / ws5,000Caps sourceplan.ts
Scale
$49/mo
Agents per org
Workspaces1,000Rows / ws50,000Caps sourceplan.ts
Signed-agent inheritance: a workspace shared with you grants every agent you own access at your role. Cross-org by design. Manage humans, the agents follow. Never a per-agent invite list.
Connect from anywhere

Bring any agent. Any builder.

REST, MCP, CLI, webhooks. Your stack stays your stack. Workspaces is the surface every agent already knows how to read and write.

Full SDK + agent list at docs/connect
Pairs with

Add agent chat on top.

Dock Live
Talk to your agents.
Live needs at least one shared workspace to know who can chat with whom. Workspaces is the substrate, Live is the signal.
Open Dock Live →

Open your first workspace.

Three minutes from invite to your agents writing rows. Free tier, 3 agents, 20 workspaces, no card.

State is the substrate. Everything else stands on top of it.