Skip to content

Workspace admin

import { Aside } from ‘@astrojs/starlight/components’;

Workspace admin and owner roles get visibility and control over team-wide jobs, automations, metric alerts, feature flags, and member tokens.

On Home, open the Admin lens in the left rail. It is a ten-tab workspace control panel — no separate admin app:

TabWhat you manage
OverviewPlan badge, seat bar, storage/views/visitors tiles, actionable alerts (pending invites, failing runs, paused pages) with deep links into other tabs
ArtifactsSortable governance table — name, owner, dates, views, visitors, visibility, status; filter by visibility; pause/unpause, change visibility, reassign owner
MembersSeat utilisation bar, invite/remove, role changes, pending invites, access-request queue (approve/deny), per-member activity metrics
SharingExternal sharing — create client orgs via a guided add flow, invite their people, share folders at a capability, read receipts, mint scoped API tokens, notes about each client (private intel the assistant remembers)
BillingSubscription detail (plan, status, trial end, renewal, cancellation); links to /billing for card and plan changes
AutomationSchedules and crew triggers as sortable tables with run-now, enable/disable, and run history
AISpend/balance/requests/tokens, per-model usage, BYO LLM key management (OpenAI / Vercel Gateway)
SecurityMembership domain allowlist editor (preserves explicit emails on save), append-only audit log feed
SupportSupport tickets from your workspace across every channel — list, thread, edit the AI-drafted reply, Approve & send, resolve
SettingsPublishing policy, workspace logo (branding), file inbox address ({slug}@inbox.shareout.site), read-only feature flags

Quick links from Overview jump into the tab that needs attention. Schedules, Alerts, and Crew AI also have their own Home lenses for day-to-day work.

GET /v1/workspaces/{id}/admin/artifacts
POST /v1/workspaces/{id}/admin/artifacts/{artifactId}/pause ← { "paused": true }
POST /v1/workspaces/{id}/admin/artifacts/{artifactId}/visibility ← { "visibility": "workspace" }
POST /v1/workspaces/{id}/admin/artifacts/{artifactId}/transfer ← { "new_owner_id": "usr_…" }

GET returns up to 200 workspace artifacts with owner, views, visitors, size, and last-updated metadata. All POST routes require admin or owner.

The Support tab is the team workbench for customer tickets. A ticket can arrive from any channel — the in-app Help button, the REST API, the Slack or Telegram bot, or email — and lands as one thread. When it opens, an AI assistant triages it (category + priority) and drafts a reply. Nothing is ever sent automatically: an admin or owner reviews the draft, edits it, and hits Approve & send, which delivers the reply on the channel the ticket came from and marks it pending. A customer reply re-opens the ticket; Resolve closes it out (and emails the customer when reachable). Resolved tickets auto-close after 7 idle days.

GET /v1/support/tickets?scope=workspace&workspace={id} ← admins/owners; &status= optional
GET /v1/support/tickets/{ticketId} ← ticket + full thread
POST /v1/support/tickets/{ticketId}/reply ← { "body": "…" } approve & send
POST /v1/support/tickets/{ticketId}/status ← { "status": "resolved" }
POST /v1/support/tickets/{ticketId}/assign ← { "assigneeUserId": "usr_…" }

End users see and follow their own tickets from the Help button on Home — no admin access needed.

GET /v1/workspaces/{id}/invites
DELETE /v1/workspaces/{id}/invites/{inviteId}
GET /v1/access-requests/incoming
POST /v1/access-requests/{requestId} ← { "action": "approve" | "deny" }

The Members tab surfaces both queues. Approving an access request grants the requester workspace membership per your membership policy.

Unified run history across crew triggers, scheduled jobs, and metric alerts. Admins list and drill into any run with a step-by-step ledger (fetch, transform, deliver phases):

GET /v1/workspaces/{id}/runs?surface=job&status=failed&limit=50
GET /v1/workspaces/{id}/runs/{surface}/{runId}

surface is crew, job, or alert. The Home Runs widget and Automation tab link into the same data. Job runs record per-query fetch steps; crew runs use the existing crew_run_events ledger.

Manage all scheduled jobs across artifacts in the workspace:

MethodEndpointDescription
GET/v1/workspaces/{id}/schedulesList all workspace schedules.
GET/v1/workspaces/{id}/schedules/{jobId}/logsRecent schedule logs.
POST/v1/workspaces/{id}/schedules/{jobId}/runRun immediately.
PATCH/v1/workspaces/{id}/schedules/{jobId}Enable or disable.
DELETE/v1/workspaces/{id}/schedules/{jobId}Delete schedule.

Job payloads (email, webhook, materialize) are documented in the Jobs guide.

Manage crew trigger automations across artifacts:

MethodEndpointDescription
GET/v1/workspaces/{id}/automationsList all crew triggers.
GET/v1/workspaces/{id}/automations/{triggerId}/runsRun history.
POST/v1/workspaces/{id}/automations/{triggerId}/runDispatch now.
PATCH/v1/workspaces/{id}/automations/{triggerId}Enable or disable.
DELETE/v1/workspaces/{id}/automations/{triggerId}Delete trigger.

Metric alert endpoints stay under /v1/metric-alerts. Teams changes who can do what:

RoleCapability
Artifact owner/editor or workspace owner/adminDefine metrics, create alerts to any destination, manage every alert on the artifact.
Workspace member or artifact viewerSelf-subscribe to personal destinations only.

Full reference: Metric alerts.

Read the enabled/disabled feature flags for the workspace. Any member can view them; only ShareOut super-admins can change them.

Notable flags:

KeyDefaultEffect
ai.web_agentoffWorkspace assistant on the home page
GET /v1/workspaces/{workspaceId}/features
Authorization: Bearer {token}

Response includes readonly: true to indicate that workspace members cannot toggle flags.

Admins and owners can create or revoke API tokens for workspace members:

POST /v1/workspaces/{workspaceId}/members/{userId}/tokens
DELETE /v1/workspaces/{workspaceId}/members/{userId}/tokens

Useful for onboarding automation or revoking access for departed members.

Control whether workspace members may take an artifact to public visibility (public). Platform safety review still runs on top — this is an internal governance layer.

GET /v1/workspaces/{id}/publish-policy
PATCH /v1/workspaces/{id}/publish-policy ← { "policy": "require_approval", "approvals_required": 2 }
PolicyEffect
allowDefault. Members publish to open visibility freely.
prohibitMembers cannot go open; artifacts stay workspace-visible.
require_approvalHeld at workspace until N nominated members approve (1–10).

GET requires workspace membership; PATCH requires admin or owner.

When policy is require_approval, members whose publish is held receive approval_required in the publish response and must nominate approvers via POST /v1/artifacts/{id}/publish-approval. Approvers act via POST …/publish-approval/{requestId}/decision. List the queue with GET /v1/workspaces/{id}/publish-approvals?status=pending.

Full flow: Publishing artifacts and Public artifacts policy.

Workspace owners and admins control who sees each activity kind in the Home Activity feed (Needs You + Pulse). Defaults are privacy-first — for example, views and favorites are self only; access requests are admins only.

GET /v1/home/event-visibility?workspace={workspaceId}
PUT /v1/home/event-visibility?workspace={workspaceId}
Authorization: Bearer {token}
Content-Type: application/json
{ "kind": "view", "audience": "members" }
AudienceWho sees the kind
selfOnly the actor (and artifact owners for their pages)
membersAll workspace members
adminsWorkspace owners and admins only
offSuppressed in this workspace

GET returns every kind with its label, tier (actionable → Needs You row, ambient → Pulse count), default, and effective audience. PUT requires admin or owner. Failed job/crew runs surface in Needs You even when the run kind is ambient in Pulse.

See Your workspace (Home).

Set how long a member’s sign-in session stays valid in this workspace. Useful for security/compliance requirements that mandate shorter sessions.

GET /v1/workspaces/{id}/session-policy
PUT /v1/workspaces/{id}/session-policy ← { "session_max_days": 7 }
FieldMeaning
session_max_days130, or null to inherit the 30-day platform default.
platform_default_daysAlways 30.
eligibleWhether the workspace’s plan allows setting a policy.

Rules:

  • GET requires workspace membership; PUT requires admin or owner.
  • Teams plan required — a Personal workspace gets 402 TIER_REQUIRED.
  • A session is per-user and spans every subdomain, so the lifetime applied at login is the strictest policy across all the workspaces a user belongs to (and never longer than 30 days). You can tighten, never extend.

Every governance action in the workspace is recorded to an append-only audit trail. Admins and owners can read it:

GET /v1/workspaces/{id}/audit?limit=100
Authorization: Bearer {token}
{
"entries": [
{
"ts": "2026-06-18T15:04:00Z",
"actor_email": "admin@acme.co",
"action": "member.remove",
"target_type": "user",
"target_id": "usr_123",
"detail": { "removed_role": "member" }
}
]
}

Recorded actions include member add/remove, bulk invite, ownership transfer, subdomain enable/disable, membership-policy changes, connection create/delete, and session-policy changes. Entries are retained for one year.

Workspace context files (agent house style) now live in the Knowledge lens under the Guidance branch — not a separate Admin tab. Admins create, edit (≤ 64 KB, lowercase .md), set the entry point, or delete files there. Members can read.

REST routes for context files are documented in Workspaces and Workspace Knowledge.