diff --git a/src/content/docs/platform/agents.mdx b/src/content/docs/platform/agents.mdx index b438cdee..4e4d8573 100644 --- a/src/content/docs/platform/agents.mdx +++ b/src/content/docs/platform/agents.mdx @@ -57,7 +57,7 @@ When a team is over its plan limit (for example, after downgrading), the extra a ## Where cloud agents appear in the product * **Agents page** - The Agents page in the [Oz web app](/platform/oz-web-app/) is where teams view, create, edit, and delete cloud agents. -* **Agent picker** - Forms that start a new run or schedule include an **Agent** dropdown. **Quick run** is the default (runs execute as the calling user); picking a cloud agent runs as the cloud agent instead. +* **Agent picker** - Forms that start a new run or schedule include an **Agent** dropdown. **Quick run** is the default (runs execute as the calling user, and pull requests are authored by that person); picking a cloud agent runs as the cloud agent instead, so with [team GitHub authorization](/platform/team-access-billing-and-identity/#team-github-authorization) pull requests are authored by the **Oz by Warp** GitHub App. For recurring schedules that open pull requests, choose a cloud agent. See [Who the schedule runs as](/platform/triggers/scheduled-agents-quickstart/#who-the-schedule-runs-as). * **Run filters and detail** - The Runs view lets you filter by cloud agent, and individual run detail pages show which agent executed the run. * **Admin Panel** - Billing usage in the [Admin Panel](/knowledge-and-collaboration/admin-panel/) attributes credits consumed by cloud agent runs to the team rather than to a person. diff --git a/src/content/docs/platform/triggers/scheduled-agents-quickstart.mdx b/src/content/docs/platform/triggers/scheduled-agents-quickstart.mdx index ca1a342f..d62ad1ab 100644 --- a/src/content/docs/platform/triggers/scheduled-agents-quickstart.mdx +++ b/src/content/docs/platform/triggers/scheduled-agents-quickstart.mdx @@ -25,14 +25,28 @@ Watch this short demo of creating and testing a scheduled agent: ## 1. Set up a scheduled agent 1. From the [Schedules page](https://oz.warp.dev/schedules) in the Oz web app, click **New schedule**. -2. Enter a name, e.g. `Weekly bug report triage`. -3. Under **Agent**, select **github-bug-report-triage** from the suggested skills. -4. Choose your environment. -5. Under **Frequency**, choose a preset or enter a custom cron expression (e.g., `0 9 * * 1` for every Monday at 9 AM). -6. Click **Create schedule**. +2. Enter a schedule name, e.g. `Weekly bug report triage`. +3. Under **Agent**, choose the identity the schedule runs as. **Quick run** is the default and runs every execution as you. See [Who the schedule runs as](#who-the-schedule-runs-as) before you decide. +4. Under **Skills**, select **github-bug-report-triage**. +5. Choose your environment. +6. Under **Frequency**, choose a preset or enter a custom cron expression (e.g., `0 9 * * 1` for every Monday at 9 AM). +7. Click **Create schedule**. **Breaking it down:** The schedule lives in Oz's cloud infrastructure. Unlike a local cron job, it fires even when your machine is off. Each run starts a fresh, isolated session with no state carried over from previous executions, and every run is tracked and reviewable in the [Oz web app](/platform/oz-web-app/). +### Who the schedule runs as + +The **Agent** setting controls the identity behind every run, which determines how the agent authenticates to GitHub: + +* **Quick run** (default) - Runs execute as the user who created the schedule, using that person's GitHub credentials. Pull requests the agent opens are authored by that person. +* **A cloud agent** - Runs execute as that [cloud agent](/platform/agents/). With [team GitHub authorization](/platform/team-access-billing-and-identity/#team-github-authorization) configured, the agent authenticates as the **Oz by Warp** GitHub App, so pull requests are authored by the app instead of an individual. + +Choose a cloud agent for any schedule that opens pull requests. Bot-authored PRs are clearly attributable to automation, and they can be reviewed and approved by anyone on the team — including the person who created the schedule, who cannot approve a PR authored by their own account. + +:::caution +The **Agent** setting has no equivalent flag in the Oz CLI, so a schedule created with `oz schedule create` always runs as the user who created it. To run it as a cloud agent, set **Agent** on the schedule in the Oz web app after creating it. +::: + --- ## 2. Watch your first run diff --git a/src/content/docs/platform/triggers/scheduled-agents.mdx b/src/content/docs/platform/triggers/scheduled-agents.mdx index 109d13bd..7688443f 100644 --- a/src/content/docs/platform/triggers/scheduled-agents.mdx +++ b/src/content/docs/platform/triggers/scheduled-agents.mdx @@ -96,6 +96,10 @@ oz schedule create \ Environments are optional — if you don't specify one, the scheduled agent runs in a barebones sandbox. Without an environment, the agent won't have access to your code repositories, pre-installed tools, or setup commands, so this is only suited for tasks that don't need your codebase. ::: +:::caution +`oz schedule create` has no flag for the **Agent** setting, so a schedule created with the CLI runs as the user who created it and opens pull requests under that person's GitHub account. To run a schedule as a [cloud agent](/platform/agents/) — so pull requests are authored by the **Oz by Warp** GitHub App — set **Agent** on the schedule in the [Oz web app](https://oz.warp.dev/schedules) after creating it. See [Who the schedule runs as](/platform/triggers/scheduled-agents-quickstart/#who-the-schedule-runs-as). +::: + **Example** The following command schedules an agent to clean up old feature flags every four days: @@ -215,6 +219,8 @@ You may update one or more properties at a time, including: * The environment used for execution. * The model, MCP, and host configuration used for future runs. +The **Agent** setting is not among them — like `oz schedule create`, `oz schedule update` has no flag for it. Change it in the [Oz web app](https://oz.warp.dev/schedules). + #### Command ```bash