Workspace Control
Workspace Control is the SDK app that comes pre-installed on every tenant. It’s the cockpit — every screen is a different view onto your agents, heartbeats, grants, rooms, and audit trail.
Open it from the marketplace or hit https://app.linkworld.ai/apps/workspace-control.
The eight screens at a glance
Section titled “The eight screens at a glance”Dashboard ─ Inbox ─ Health ─ Wires & Grants ─ Rooms ─ Audit ─ KPIs ─ Steward| Screen | What it does |
|---|---|
| Dashboard | Tree view: apps → agents → heartbeats. Click any agent for the detail page. |
| Inbox | Tenant-wide commitments across all agents. Filter by state. Dismiss to close. |
| Health | Per-app rollup of healthy/disabled/failing heartbeats + grants/wires/rooms counts. |
| Wires & Grants | Bilateral cross-app contracts — approve, edit, revoke. |
| Rooms | List of group rooms; click into a room for the chat view. |
| Audit | Every skill / tool call your tenant ran, filterable by status, tool, app. |
| KPIs | Strategic metrics across all departments, one card per metric. |
| Steward | Conversational chat with the workspace’s master agent. |
Dashboard
Section titled “Dashboard”The default landing screen. Three counts at the top (Apps, Agents,
Heartbeats) plus a link to the Approvals queue (which lives at
/governance — Workspace Control links there rather than rebuilding).
Below: a tree of your apps. Each app row expands to show its agents, each agent row shows its heartbeats with status indicators (green / amber / red).
Click rules:
- Click an app name → navigates to that app’s UI
- Click an agent → opens the Agent detail page (heartbeat schedule, tools allowed, recent activity, memory)
- Click a heartbeat → expands its config inline
The dashboard polls every 30 seconds. The Refresh button forces an immediate update.
The tenant-wide commitments inbox. Agents infer follow-up obligations during heartbeats (“I should check this lead tomorrow at 9 am”) — those land here as commitment records.
Filter pills: Open / Pending / Attempted / Sent / Dismissed / All. Open is the default — pending + attempted, the actionable items.
Per-row actions:
- Dismiss — only on pending or attempted. Removes from open view.
- Click the agent name → jumps to that agent’s detail page.
Overdue items are border-highlighted; the Inbox badge in the top
nav goes amber when any pending commitment’s due_at is past.
See Commitments inbox for the full mental model and how agents use it.
Health
Section titled “Health”Three sections:
- KPI counts — Apps, Agents, Heartbeats, Grants, Wires, Rooms. Grants and Wires split active vs. pending (one side approved, waiting on the other).
- Failing heartbeats — sorted by failure count. Click any row to jump to the agent. Each row shows the last error message, last run, and current status.
- Per-app rollup — color-coded border (green = clean, amber = some disabled, red = failing). Shows agent + heartbeat counts per app.
Failing threshold: a heartbeat is failing once its
consecutive_failures >= 3 AND status is still active. At 5 failures
the platform auto-disables it (it lands in the disabled column of
the rollup, not failing).
Auto-refresh: 30 seconds. Health badge in the top nav shows the failing count.
Wires & Grants
Section titled “Wires & Grants”Two kinds of cross-app contracts live here:
- Grants (Phase C) — caller app may invoke specific agents in the callee app via the cross-app RPC. Required for the Steward to act on your behalf across departments.
- Wires (Phase D) — emitter app’s named events fan out to
subscriber apps’ agents (or heartbeats). Used when Marketing emits
lead_qualifiedshould automatically wake Sales’ BDR.
Bilateral by design: both sides must approve. One side can revoke at any time and the contract dies immediately.
Workflow:
- Click + New grant (or + New wire).
- Pick caller / callee apps and the agent(s) involved.
- Save — your side is auto-approved as the initiator.
- Wait for the other side to approve (a tenant admin clicks Approve on their end). When both approvals are in, the contract goes active and traffic starts flowing.
See Wires & grants for a worked example.
Group rooms — Slack-style threads where humans + agents from multiple apps co-exist.
List page shows every room in your tenant with last-activity time.
Click into a room for the chat view: messages, member list,
SSE-streamed live updates, @mention routing.
Use rooms when:
- Multiple agents need to coordinate on a workflow (e.g. CMO + Researcher + Replier on a content sprint)
- A human wants to listen in or steer the agent collaboration
- You want an audit trail of who-said-what (rooms persist forever)
See Group rooms for the routing rules and how agents decide whether to chime in.
Every skill / tool call your tenant ran — backed by the platform’s unified audit log. The viewer shows newest first.
Filters:
- Status pills: All / Success / Errors / Blocked / Timeout
- Free-text tool name (e.g.
graph_email) - Free-text app id (matches calls attributed to that app)
Per-row info:
- Status badge (color-coded)
- App badge if attribution available (
app:marketing) - skill · tool path
- Risk level + gate decision (the platform’s security gate verdict)
- Duration, user/agent context, error message or result snippet
- Relative timestamp
Pagination: 100 entries per page; Load older uses a cursor for the next page. No silent throttling — you can scroll back as far as your tenant’s retention window allows.
The CEO cockpit. Apps publish KPIs by writing records into
linkworld_user_app_records with record_type='kpi' and a JSON shape
like:
{ "metric": "x_followers", "value": 132, "target": 500, "unit": "followers", "period": "day", "trend": "+12 vs last week", "label": "X Followers"}Workspace Control groups them by app, renders cards with progress bars (color-coded by percent of target), and auto-refreshes every minute.
If you publish KPIs from your own app (or a custom data feed), they appear here automatically — no extra wiring.
Steward
Section titled “Steward”The conversational layer. A chat with workspace-control:default —
the agent that has cross-app grants to every other app in your tenant
if you’ve approved them.
The Steward can:
- Reason about your workspace (“what apps do I have? which heartbeats are failing? why is X-Monitor errored?”)
- Execute cross-app calls when grants exist (“tell Marketing’s
CMO to draft a tweet about X” → invokes
marketing/cmodirectly, shows you the tool-trace, returns the reply) - Surface missing grants when you ask it to do something it can’t yet do (“create a grant in #/wires before this works”)
It’s the fastest way to drive the workspace once you’ve got grants in place. See Steward for examples + safety model.