Goal
View and update workspace-level configuration settings to control safety guardrails, autonomy modes, and workspace policies.
Which Agents Use This
- custom (system/admin flows) — Used during workspace setup or policy changes
- Typically invoked by Admin users, not agents
Hard Rules
- MUST require Admin role for any updates
- MUST validate autonomy_mode transitions (can't skip levels)
- MUST NOT allow disabling Safe Mode without explicit confirmation
- Viewer role can only view config (no updates)
Steps
1. Validate permissions
- Verify workspace_id exists
- For view: require workspace:read permission
- For update: require workspace:admin permission (Admin role only)
2. View config (action=view)
- Return current workspace configuration
- Show Safe Mode status, autonomy mode, quotas, policies
3. Update config (action=update)
- Validate each update field
- Apply updates to workspace config
- Return updated config and list of changed fields
4. Validate autonomy mode transitions
- Assisted → Managed (allowed)
- Managed → Autopilot (requires Safe Mode off confirmation)
- Cannot skip levels
Output
View config:
{
"success": true,
"workspace_id": "uuid",
"config": {
"safe_mode": true,
"autonomy_mode": "managed",
"quotas": {
"daily_posts": 100,
"hourly_api_requests": 1000
},
"policies": {
"require_approval_for_schedule": true
}
}
}
Update config:
{
"success": true,
"workspace_id": "uuid",
"config": { ... },
"updated_fields": ["safe_mode", "autonomy_mode"]
}
Failure Handling
- If workspace_id not found: return error "Workspace not found"
- If not Admin role: return error "Admin permission required"
- If invalid autonomy_mode transition: return error with valid transitions
Example Usage
Scenario 1: View current config
{
"workspace_id": "uuid",
"action": "view"
}
Result: Receive current workspace configuration
Scenario 2: Update Safe Mode
{
"workspace_id": "uuid",
"action": "update",
"updates": {
"safe_mode": false
}
}
Result: Safe Mode disabled (requires Admin confirmation)