Sprinter Docs

Admin

Manage tenants, members, roles, data types, agents, navigation, AI costs, webhooks, API keys, and platform settings.

Admin

The Admin page (/admin) is the control center for your workspace. It is only accessible to users with the owner or admin role. The page is organized into tabs, each governing a distinct part of the platform.

Overview

Admin tabs:

TabWhat you manage
TenantCurrent workspace name, switch between organizations, create new ones
MembersInvite users, view the team roster, change roles
RolesView role definitions and permission sets
Data TypesCreate and edit record schemas; link to the field config editor
Public Data TypesEnable/disable shared data types provided by the platform
AgentsCreate and configure AI agents; view the org chart
NavigationCustomize the sidebar sections and item order
SkillsManage reusable agent skill bundles
JobsMonitor Inngest background job history
ModelsConfigure available AI models per context
CostsTrack AI token usage and spending by agent and model
WebhooksRegister outbound HTTP hooks for platform events
API KeysGenerate, view, and revoke programmatic access keys
ConnectionsConfigure external agent connections (OpenClaw, A2A, MCP)
SourcesConfigure monitored content sources, preview feeds, and pick target records
PlatformRead-only platform info: stack, record counts, tenant count

How It Works

Tenant management

The Tenant tab shows your active workspace name, slug, and your role. If you belong to multiple organizations, the Switch Tenant card lets you change context. Use Create Tenant to spin up a new isolated workspace — you become its admin automatically.

Member management

Invite users by email from the Members tab. New users are provisioned with guest role by default (read-only). Admins can promote members to member, viewer, admin, or (for system admins) owner. You cannot change your own role.

Data Types (record schemas)

Each data type card shows its name, description, field list, and record count. Click the edit icon to open the full data type admin at /admin/entity-types/[slug], which has:

  • Schema editor — Add, remove, or rename JSON schema fields
  • Field config editor — Set display labels, rendering hints (currency, percentage), and AI extraction instructions per field
  • Views tab — Create and edit block-based views for the list and detail pages

Use Create Data Type to define a new schema from scratch.

Agents

The Agents tab lists all DB-managed agents with their system prompt preview, tool groups, and enabled/scheduled status. Code-defined agents (always available) appear in a separate read-only list at the bottom.

Click an agent name to go to /admin/agents/[id] for:

  • Full run history
  • Heartbeat schedule and last-run status
  • Config version history
  • Manual trigger button

The Org Chart visualizes reporting relationships between agents.

API Keys

Generate API keys with a name and optional scope. Keys are shown once at creation — store them securely. Revoke a key at any time. Keys authenticate requests to /api/* routes that accept the x-api-key header.

Connections

Configure external agent integrations:

  • OpenClaw / A2A — Register external agents reachable via HTTP for delegation
  • MCP servers — Connect Model Context Protocol servers for additional tool sets

Test connections and discover available tools from this tab.

Sources

The Sources tab provides a guided source-sync editor rather than a raw entity form. It supports source presets, connection selection, monitored-record picking, preview-before-save, and source-specific filtering. The tab uses React Query hooks for source lists, relation lookup, preview, validation, and save invalidation so the UI stays responsive without ad hoc effect-driven fetches.

Source saves are validation-gated. The platform normalizes legacy source types from the URL, runs a live preview/validation check, and only leaves a source in a syncable state when validation succeeds. Invalid or blocked sources are saved with an error state instead of being marked active.

The page also exposes source-sync operations directly in the admin surface:

  • Queue stats — queued items, items still awaiting workflow handoff, records needing review, and errored sources
  • Recent source runs — each source’s latest sync summary with created, duplicate, and filtered counts
  • Needs attention queue — source items with document upload failures, stale queued state, or missing workflow handoff markers

This adds the operational visibility of a news-ingestion control room without baking a product-specific news model into the platform.

Website monitors also expose a scrape strategy:

  • Auto — default, keeps the built-in HTTP + Readability pipeline
  • HTTP + Readability — lightweight fetch and DOM extraction
  • Firecrawl — remote browser-backed scrape for dynamic or JS-heavy sites
  • Browser Agent — routes website monitoring through a source-capable OpenClaw or A2A browser agent connection for sites that need real browser/computer-use navigation

For Browser Agent monitors, create a connection from the Connections tab using the Browser Monitoring Agent preset or edit an existing OpenClaw/A2A connection and enable the Source monitoring capability. Then set the Browser Monitoring Agent ID field to the external agent identifier that should perform the monitoring, such as chippy.

Manual Test Script

Prerequisites

  • Logged in as owner or admin role
  • At least one data type and one member in the workspace

Happy Path

  1. Navigate to Admin

    • Go to /admin
    • Expected: Tabs render; first tab (Tenant) is active by default
  2. View tenant context

    • Expected: Tenant name, slug, role, and email are displayed correctly
  3. Switch tabs

    • Click Members tab
    • Expected: Member list loads with email, display name, and role badge for each user
  4. Create an agent

    • Click Agents tab > New Agent
    • Fill in name, system prompt, select tool groups
    • Expected: Agent card appears in the list after save
  5. Generate an API key

    • Click API Keys tab > Generate Key
    • Expected: Key value shown once; row appears in the list with name and creation date
  6. Check costs

    • Click Costs tab
    • Expected: Token usage and spend displayed per agent and model (empty state if no AI calls yet)

Edge Cases

  • Member tab with one member (yourself): Role change UI is disabled for your own row
  • Data type with no fields: Card shows "No fields defined"; clicking edit opens empty schema editor
  • Agent with heartbeat enabled: "scheduled" badge visible on the agent card
  • External connection test fails: Error message displayed inline; connection is not saved

Regression Checks

  • Viewer and member roles cannot access /admin (redirect or 403)
  • Creating a data type without a name shows a validation error
  • Deleting a member removes them from the Members list without page reload
  • API key is shown exactly once; subsequent page reloads show only masked value

Troubleshooting

SymptomLikely CauseFix
Admin page shows 403User is member or viewer rolePromote to admin via another admin account
Agent not appearing in chatAgent enabled is falseToggle enabled in the agent dialog
Webhook not firingEndpoint URL unreachable from InngestVerify URL is publicly accessible; check Inngest delivery logs in Jobs tab
API key requests returning 401Key was revoked or wrong header nameUse x-api-key: \{key\} header; generate a new key if needed

On this page