Every Cloudflare OS deployment ships with anDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/cloudflare/cloudflare-os/llms.txt
Use this file to discover all available pages before exploring further.
/admin panel where designated administrators can customize how the platform looks and behaves for all users — without touching environment variables or redeploying. The admin panel covers what this guide calls “soft” configuration: branding, agent instructions, Gatekeeper availability, output format menus, and the Explore page. Security-critical configuration (sign-in providers, password login) is deliberately kept out of the panel and stays env-var driven.
Becoming an admin
Admin access is granted by listing usernames in theADMINS environment variable on the Workshop backend worker. Set it to a JSON array of usernames (the canonical uniqueName the user logs in with, typically their email address):
#isAdmin() check happens once when the AdminApi capability is minted for a session. Users not listed in ADMINS receive null from getAdminApi() and cannot call any admin methods. There is no in-product way to grant admin access — it always requires an env-var change and redeploy.
Admin settings overview
The Admin Panel is divided into several sections, each backed by theAdminConfig object owned by the AdminSettings Durable Object.
AdminSettings stores config in a Durable Object and mirrors it to a single reserved KV key (.adminConfig) for cheap hot-path reads. The DO is the only writer. This means updates are consistent and immediately visible to all workers that call readAdminConfig(env).Site customization
Site name
The
siteName field sets the text shown next to the top-bar logo. Leave it empty to use the default deployment name.Custom logo
siteLogoConfigured marks whether image bytes have been stored separately. Upload a logo from the Branding section.Accent color
accentColor accepts a hex string (e.g. #0050D0). Leave empty to use the default theme.Announcement banner
announcement is a Markdown string rendered as a centered top-bar notice. Use it for maintenance windows, new-feature callouts, or policy reminders.banner option (a BannerConfig with text and an accent color) for more prominent deployment-wide notices.
Agent instructions
TheinstanceInstructions field is appended to the agent system prompt for every user in your deployment. Use it to inject organization-specific context — your company’s style guide, preferred tools, internal terminology, or policies the agent should follow.
<deployment_instructions> block and marked as lower-priority than user safety instructions. Keep them to a few sentences or short paragraphs — the text is included in every agent turn.
Signup control
ThesignupsEnabled boolean toggles whether new user account creation is allowed. Disabling it is an access toggle, not an authentication change — existing accounts continue to work, but new users cannot register. To fully restrict who can authenticate, adjust AUTH_GATEKEEPERS (the env var that controls which OAuth providers are offered).
Managing Gatekeepers
The Gatekeepers panel controls which vendor integrations are available to users and how they are provisioned.Enabling and disabling vendors
SetdisabledGatekeepers to a list of vendor IDs to completely disable those integrations. A disabled vendor is not shown on the Connectors page, and getGatekeeperClassFor() enforces this at the capability level — Gadget and agent code cannot reach disabled vendors.
You can also disable specific resource types within a vendor using disabledResources:
Auto-provisioning modes
For Gatekeepers that declareautoProvisionsAccount (such as the Context Library and Scheduler), the admin picks one of three modes:
| Mode | Behavior |
|---|---|
disabled | Offered to no one. Existing accounts go dormant. |
optional | Users can opt in from the Connectors page. Nothing is auto-provisioned. This is the default. |
enabled | An account is automatically provisioned for every user and hidden from the Connectors list. |
ambientGatekeeperModes:
enabled, the Workshop auto-provisions an account on first use and silently folds it into the owner’s agent context as a named binding. Users see it working without needing to connect anything manually.
Output formats
The Formats panel controls which blueprints appear in the New Document, New Slides, and similar menus throughout the product.Promoting a blueprint as a format
Each entry in theformats array is a FormatCuration record:
noun, plural, and icon (e.g. "Slide deck", "Slide decks", PhPresentation). The overrides field lets the admin substitute the deployment’s own naming without modifying the blueprint — for example, an organization that calls its decks “Briefings” can set overrides: { noun: "Briefing", plural: "Briefings" }. This applies to every Gadget instantiated from that blueprint going forward.
Bundled format blueprints
Two blueprints are included with every Cloudflare OS deployment:format.document and format.slides. They are auto-installed on first request and appear in the Formats panel automatically. You can disable, reorder, or override them like any other promoted format.
Agent hints
TheagentHint field (max 400 characters) is a one-sentence note injected into the agent’s system prompt on every turn, telling it when to prefer this format — for example, “prefer for contracts, memos, and reports”. Keep these short: every enabled format’s hint is included in every agent context.
Featured blueprints
The Explore page shows blueprints that have been featured by an admin. Any user can publish a blueprint, but only admins can mark one as featured, making it visible to the whole deployment.AdminApi reference
TheAdminApi capability is obtained by calling getAdminApi() on an AuthenticatedApi session. It returns null for non-admins. Because the admin check happens once at capability-mint time, individual methods do not re-check.
| Method | Description |
|---|---|
setSiteName(name) | Set the site name shown next to the top-bar logo. Pass "" to reset to the default. |
setInstanceInstructions(text) | Replace the agent system-prompt instructions. Pass "" to clear. |
setGatekeeperMode(vendorId, mode) | Set a vendor’s availability mode (disabled / optional / enabled). |
setResourceEnabled(vendorId, urlPattern, enabled) | Enable or disable a specific resource type for a vendor. |
setAnnouncement(text) | Set or clear the centered top-bar notice. |
setBanner(text, color) | Set or hide the full-width banner. |
setAccentColor(color) | Set the deployment accent color (hex) or "" to reset. |
setBlueprintFeatured(blueprintId, featured) | Mark or unmark a published blueprint as featured on the Explore page. |
AdminApi — refer to packages/workshop-shared/src/api.ts for the full interface.