Skip to content

Commit 84661af

Browse files
hongyi-chenoz-agent
andcommitted
docs(agent-platform): add named agents page and cross-link from related pages
Adds a new dedicated page for named agents (agent identities) under cloud agents, and reconciles a handful of existing pages so that automation guidance and service-account references point to the new page. - New: src/content/docs/agent-platform/cloud-agents/agents.mdx — what a named agent is, plan limits, attaching descriptions/secrets/skills, REST endpoints, API keys bound to a named agent, running as a specific identity, and where named agents surface in the product. - Edit: agent-platform/cloud-agents/secrets.mdx — forward-links from the team-secrets recommendation and adds a brief note that secrets can be attached directly to a named agent. - Edit: agent-platform/cloud-agents/deployment-patterns.mdx — Pattern 1 checklist now references a named agent (recommended for automation) instead of an unscoped "service account". - Edit: agent-platform/cloud-agents/oz-web-app.mdx — reconciles the two meanings of the Agents page (skills browser + named-agent management) with a clear section split and a forward link. - Edit: reference/cli/index.mdx — keeps the literal `oz whoami` output intact and adds a one-line note pointing readers to the new agents page for what a service-account principal represents. - Edit: reference/cli/federate.mdx — keeps the literal `service_account:my-sa-id` example and adds a cross-reference to the new agents page. Hard rules: no edits to sidebar.ts, vercel.json, landing pages, or any pages owned by the five orchestration-launch PRs. Co-Authored-By: Oz <oz-agent@warp.dev>
1 parent f01e3fd commit 84661af

6 files changed

Lines changed: 124 additions & 8 deletions

File tree

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
---
2+
title: Named agents
3+
description: >-
4+
Named agents are team-scoped identities that own and execute cloud agent
5+
runs. Use them to separate workflows, scope credentials, and attribute
6+
automated work to a specific bot account.
7+
sidebar:
8+
label: "Named agents"
9+
---
10+
11+
A **named agent** is a team-scoped identity that can own and execute Oz cloud agent runs. Every Warp team starts with a single default agent. Creating additional named agents lets you separate workflows, scope credentials, and attribute automated runs to a specific bot account instead of a person.
12+
13+
Named agents are useful when you want to:
14+
15+
* **Separate workflows** - Give the deploy bot, the dependency-update bot, and the code-review bot distinct identities so runs are easier to filter and audit.
16+
* **Scope credentials** - Attach a specific set of managed secrets and skills to one identity so its runs receive only the configuration that workflow needs.
17+
* **Attribute automated work** - Bind an API key to a named agent so CI pipelines and webhooks show up as that bot in run history rather than as a teammate.
18+
19+
## How named agents work
20+
21+
Each team has one default agent that runs receive automatically when no specific identity is chosen. You can create additional named agents on top of that default and run as any of them. Identities are team-scoped, so every member of a team can see and use the same set of named agents.
22+
23+
You can attach the following configuration to a named agent:
24+
25+
* **Description** - A short, human-readable summary teammates see when picking the agent.
26+
* **Managed secrets** - References (by name) to [team-managed secrets](/agent-platform/cloud-agents/secrets/) the agent should have access to.
27+
* **Skills** - Skill specs (for example, `org/repo:path/to/SKILL.md`) the agent comes preloaded with. Shorthand specs like `repo:skill_name` are accepted when they resolve unambiguously against the team's cloud environments.
28+
29+
Skill specs are stored in their normalized fully-qualified form, and managed secret references are validated against the team's secret scope at attach time. If a secret is missing or a skill repo is not accessible to the team's GitHub App installation, the request is rejected before anything is saved.
30+
31+
## Plan limits
32+
33+
Each plan caps the number of named agents (including the default) a team can have:
34+
35+
* **Free** - 1 named agent.
36+
* **Build** - 1 named agent.
37+
* **Business** - 5 named agents.
38+
* **Enterprise** - Unlimited.
39+
40+
When a team is over its plan limit (for example, after downgrading), the extra identities remain visible in the list but are marked as unavailable. Unavailable identities cannot be used to start runs, cannot have new API keys generated for them, and cannot be edited.
41+
42+
## Managing named agents
43+
44+
You can create, list, update, and delete named agents through the public API. The full request and response shapes — including error codes — live on the [API Reference](/api) page; the operations to look for are `createAgent`, `listAgents`, `getAgent`, `updateAgent`, and `deleteAgent` under the **agent** tag.
45+
46+
The endpoints behave as follows:
47+
48+
* **Create** - `POST /agent/identities` with a `name` and optional `description`, `secrets`, and `skills`. Returns `201` with the new agent's `uid`, `name`, and `available` flag.
49+
* **List** - `GET /agent/identities` returns every named agent on the team, including the default. Each entry includes an `available` flag indicating whether it is within the plan limit.
50+
* **Retrieve** - `GET /agent/identities/{uid}` returns a single agent by its UID.
51+
* **Update** - `PUT /agent/identities/{uid}` replaces individual fields. Omitting a field preserves the current value; passing an empty string or empty array clears it.
52+
* **Delete** - `DELETE /agent/identities/{uid}` soft-deletes the agent and atomically deletes every API key bound to it. The default agent cannot be deleted.
53+
54+
### Caller requirements
55+
56+
A few constraints apply across every endpoint:
57+
58+
* **Team-scoped** - Named agents belong to a team. The caller must be a member of exactly one team. If the caller is on zero teams or multiple teams, the request is rejected.
59+
* **Human callers only** - Only human users can create, update, or delete a named agent. A request authenticated as a named agent itself is rejected.
60+
* **Availability is enforced on use** - Over-plan-limit agents are returned by the list endpoint but cannot be used to update fields, generate new keys, or start new runs.
61+
62+
## API keys bound to a named agent
63+
64+
A team API key can be bound to a specific named agent at creation time. Calls authenticated with that key run as the chosen agent. The team is resolved automatically from the agent — you don't need to specify a team when generating the key.
65+
66+
To create a key bound to a named agent, pass the agent's UID to the `generateApiKey` mutation. See [API Keys](/reference/cli/api-keys/) for the full key creation flow and for the difference between user-scoped and team-scoped keys.
67+
68+
Once the key exists, the CLI and SDK authenticate as that named agent for every call. There is no extra flag to set; the binding is on the key itself.
69+
70+
## Running as a named agent
71+
72+
There are two ways to run a cloud agent as a specific named agent:
73+
74+
* **Authenticate with a key bound to the agent** - Every run started with that key executes as the bound named agent. This is the typical path for CI pipelines and scheduled work.
75+
* **Pass `agent_identity_uid` on `POST /agent/runs`** - For one-off runs, send the named agent's `uid` in the request body. The field is only valid for team-owned runs.
76+
77+
When neither path is used, runs execute under the default identity ("Quick run" in the web app).
78+
79+
## Where named agents appear in the product
80+
81+
Named agents surface across several Oz surfaces:
82+
83+
* **Agents page** - The Agents page in the [Oz web app](/agent-platform/cloud-agents/oz-web-app/) is where teams view, create, edit, and delete named agents. The same page lists the skills available to your team.
84+
* **Agent picker** - Forms that start a new run or schedule include an **Agent** dropdown. **Quick run** is the default option (runs execute as the calling user); selecting a named agent runs as that identity instead.
85+
* **Run filters and detail** - The Runs view lets you filter by named agent, and individual run detail pages show which identity executed the run.
86+
* **Admin Panel** - Billing usage in the [Admin Panel](/knowledge-and-collaboration/admin-panel/) attributes credits consumed by named-agent runs to the team rather than to a person.
87+
88+
## Related pages
89+
90+
* [Cloud agent secrets](/agent-platform/cloud-agents/secrets/) - Manage the team-managed secrets you can attach to a named agent.
91+
* [Deployment patterns](/agent-platform/cloud-agents/deployment-patterns/) - When to use a named agent for automation versus a personal identity.
92+
* [Oz API & SDK](/reference/api-and-sdk/) - Programmatic access to the named agent endpoints.
93+
* [API Keys](/reference/cli/api-keys/) - Create keys bound to a specific named agent.
94+
* [Federated identity tokens](/reference/cli/federate/) - Issue OIDC tokens from inside a run, including ones executing as a named agent.
95+
* [Oz web app](/agent-platform/cloud-agents/oz-web-app/) - The web surface where you manage named agents and inspect their runs.
96+
* [Admin Panel](/knowledge-and-collaboration/admin-panel/) - Team-level billing and access controls.

src/content/docs/agent-platform/cloud-agents/deployment-patterns.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ Use this when you already have a system that schedules work (CI, dev boxes, inte
5353
#### Minimal setup checklist
5454

5555
* A Warp team
56-
* A service account (recommended for automation)
56+
* A [named agent](/agent-platform/cloud-agents/agents/) (recommended for automation)
5757
* The Oz CLI installed on the runner / box
5858
* Any needed credentials (often via secrets + environment variables)
5959

src/content/docs/agent-platform/cloud-agents/oz-web-app.mdx

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,12 @@ The skill provides base instructions; your prompt adds context for this particul
119119

120120
## Agents
121121

122-
The **Agents** page (`/agents`) shows all skills available from your environments, plus suggested skills from Warp's public [oz-skills repository](https://github.com/warpdotdev/oz-skills).
122+
The **Agents** page (`/agents`) covers two related but distinct concepts:
123+
124+
* **Skills** - Reusable instruction sets stored in repositories that an agent can execute. Browse skills available from your environments, plus suggested skills from Warp's public [oz-skills repository](https://github.com/warpdotdev/oz-skills).
125+
* **Named agents** - Team-scoped identities that own and execute runs. The same page is where teams create and manage named agents, attach descriptions and secrets to them, and bind API keys to a specific identity.
126+
127+
For the full reference on named agents — including plan limits, the REST endpoints, and how to run as a specific identity — see [Named agents](/agent-platform/cloud-agents/agents/).
123128

124129
### Skill details
125130

@@ -142,15 +147,25 @@ Click any skill to view its details, then click **Run** to start an agent with t
142147
For more details on how skills work with cloud agents, see [Skills as Agents](/agent-platform/cloud-agents/skills-as-agents/).
143148
:::
144149

145-
### Creating new agents
150+
### Creating new skills
146151

147-
Click **New agent** to create a new skill. The guided flow helps you define the skill's instructions, which are then available for future runs.
152+
Click **New skill** to create a new skill. The guided flow helps you define the skill's instructions, which are then available for future runs.
148153

149154
<figure>
150155
![Creating a new agent skill in the Oz Web App.](../../../../assets/agent-platform/oz-web-app-new-agent.png)
151-
<figcaption>Creating a new agent skill in the Oz web app.</figcaption>
156+
<figcaption>Creating a new skill in the Oz web app.</figcaption>
152157
</figure>
153158

159+
### Named agents
160+
161+
Named agents are managed from the same Agents page. From the named-agents view, you can:
162+
163+
* **Create a named agent** - Give it a name, an optional description, a default model and harness, and the secrets and skills runs as that agent should receive.
164+
* **Edit an existing agent** - Update its description, attached secrets, attached skills, or default configuration.
165+
* **Delete an agent** - Soft-deletes the agent and atomically deletes every API key bound to it. The default agent cannot be deleted.
166+
167+
When you start a new run or schedule from the web app, the form's **Agent** dropdown lets you pick which named agent should execute the run. **Quick run** is the default option and runs as your own user. See [Named agents](/agent-platform/cloud-agents/agents/) for the full reference.
168+
154169
---
155170

156171
## Schedules
@@ -259,6 +274,7 @@ For detailed integration setup instructions, see [Slack](/agent-platform/cloud-a
259274
## Related resources
260275

261276
* [Cloud Agents Overview](/agent-platform/cloud-agents/overview/) — Learn about cloud agents and when to use them
277+
* [Named agents](/agent-platform/cloud-agents/agents/) — Team-scoped identities that own and execute runs
262278
* [Skills as Agents](/agent-platform/cloud-agents/skills-as-agents/) — Run agents based on reusable skill definitions
263279
* [Scheduled Agents](/agent-platform/cloud-agents/triggers/scheduled-agents/) — Run agents automatically on a cron schedule
264280
* [Environments](/agent-platform/cloud-agents/environments/) — Configure runtime context for cloud agents

src/content/docs/agent-platform/cloud-agents/secrets.mdx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Team secrets are shared across the entire team and are available to all cloud ag
5757
* Ideal for shared infrastructure credentials, service accounts, and read-only API keys
5858

5959
:::note
60-
Because team secrets are broadly available and may be used by fully automated or scheduled agents, they should generally be created **using bot or service accounts**, rather than credentials tied to an individual person.
60+
Because team secrets are broadly available and may be used by fully automated or scheduled agents, they should generally be created **using bot or service accounts**, rather than credentials tied to an individual person. When you want a credential to be available to one workflow only, attach it to a [named agent](/agent-platform/cloud-agents/agents/) instead of giving every run access to it.
6161
:::
6262

6363
**For example:**
@@ -68,6 +68,10 @@ Because team secrets are broadly available and may be used by fully automated or
6868

6969
This ensures credentials remain valid as team membership changes, permissions are tightly scoped, and ownership and rotation align with internal security policies.
7070

71+
:::note
72+
Team secrets can also be attached directly to a [named agent](/agent-platform/cloud-agents/agents/), so only runs executing as that agent receive them. The secret itself still lives in the team's secret scope; the named agent just references it by name.
73+
:::
74+
7175
#### Personal secrets
7276

7377
Personal secrets belong to an **individual user**.

src/content/docs/reference/cli/federate.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ oz federate issue-token \
4444

4545
The subject claim is what your cloud provider's policy will match on, so pick the combination that gives you the IAM granularity you need. Supported components:
4646

47-
* **`principal`** - The acting principal, like `user:my-user-id` or `service_account:my-sa-id`.
47+
* **`principal`** - The acting principal, like `user:my-user-id` or `service_account:my-sa-id`. A `service_account:` principal corresponds to a [named agent](/agent-platform/cloud-agents/agents/) on your team.
4848
* **`scoped_principal`** - The principal scoped to a team, like `principal:my-team-id/user:my-user-id`.
4949
* **`email`** - The principal's email, like `email:user@warp.dev`.
5050
* **`teams`** - The principal's team, like `teams:my-team-id`.

src/content/docs/reference/cli/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ Use `oz whoami` to print information about the currently authenticated principal
156156
oz whoami
157157
```
158158

159-
The output includes your user or service account ID, display name, email, and team (when available). For machine-readable output, set `--output-format json` or `--output-format text`.
159+
The output includes your user or service account ID, display name, email, and team (when available). When the CLI is authenticated as a service account principal, that principal is a [named agent](/agent-platform/cloud-agents/agents/) on your team. For machine-readable output, set `--output-format json` or `--output-format text`.
160160

161161
```sh
162162
# JSON output for scripts

0 commit comments

Comments
 (0)