From 2bfb368792964a924fd7d8e346e002088711163f Mon Sep 17 00:00:00 2001 From: David Karlsson <35727626+dvdksn@users.noreply.github.com> Date: Tue, 3 Nov 2026 12:02:30 +0000 Subject: [PATCH 1/5] docs: explain scheduled tasks in Agentic Platform Add a schedules guide covering recurring tasks, sandbox cleanup, and setup in the Console. Include a Jira digest example with MCP tools and explain custom-secret support for API integrations. --- content/manuals/agentic-platform/_index.md | 4 + content/manuals/agentic-platform/schedules.md | 102 ++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 content/manuals/agentic-platform/schedules.md diff --git a/content/manuals/agentic-platform/_index.md b/content/manuals/agentic-platform/_index.md index e26099a48164..379a591b6c8a 100644 --- a/content/manuals/agentic-platform/_index.md +++ b/content/manuals/agentic-platform/_index.md @@ -26,6 +26,10 @@ grid: description: Access, pause, resume, and delete your sandboxes. icon: command-line link: /agentic-platform/sandboxes/ + - title: Schedules + description: Run recurring tasks in a fresh sandbox. + icon: clock + link: /agentic-platform/schedules/ - title: MCP description: Connect predefined or custom MCP servers. icon: cpu-chip diff --git a/content/manuals/agentic-platform/schedules.md b/content/manuals/agentic-platform/schedules.md new file mode 100644 index 000000000000..616dfc5e98fb --- /dev/null +++ b/content/manuals/agentic-platform/schedules.md @@ -0,0 +1,102 @@ +--- +title: Run tasks on a schedule +linkTitle: Schedules +description: Schedule recurring agent tasks in Docker Agentic Platform, with a fresh sandbox for each run, MCP tools for external services, and a time limit for cleanup. +keywords: docker agentic platform, schedules, cron, sandboxes, automation, mcp +weight: 25 +--- + +Schedules run a prompt or command in a sandbox at a recurring time. Use them +for work such as a daily Jira digest, an email summary, or a weekly dependency +review, without starting an agent manually or keeping a sandbox running +between tasks. + +Each run creates a fresh sandbox with the kit, compute size, credentials, and +tools saved in the schedule. When the task finishes, the sandbox is deleted. +The time limit also deletes the sandbox if the task hasn't finished. + +Schedules are available for accounts included in the feature rollout. If +**Schedules** isn't visible in your Console, the feature isn't available for +your selected account. + +## Prepare tools and credentials + +Choose a [kit](kits.md) that can run your task without interactive input. Save +the kit's required model provider credentials in [Secrets](secrets.md). + +For tasks that use external services, connect and authorize the relevant +[MCP servers](mcp.md) before creating the schedule. You can select these tools +for scheduled runs, including custom servers connected through the MCP gateway. +If the predefined servers don't cover your service, create your own MCP server +and [add its remote endpoint](mcp.md#add-a-server-by-url). The endpoint must +support streamable HTTP. + +For a custom CLI or API integration, the schedule API supports selecting +[custom secrets](secrets.md#add-a-custom-secret) if your account supports them. +The Console schedule form doesn't offer custom-secret selection. Use an MCP +server for integrations you configure through this form. For a schedule +configured through the API, include the required CLI in your kit and use the +secret's placeholder where the client expects a credential. Check that your +[network policy](policies.md) permits access to the service. Don't put secret +values in the task's prompt. + +## Create a schedule + +1. Open **Schedules** in the Console and select **New schedule**. +2. Enter a **Name** and, optionally, a **Description**. +3. Under **Agent**, choose a kit and check its credential status. Add any + missing credentials through **Secrets**. +4. Under **Sandbox**, choose the network **Policy**, **Tools**, and **Compute** + size for each run. Connect or reconnect selected tools if prompted. +5. Choose a **Time limit** for each sandbox. This time to live (TTL) limits + how long a task can run. The available choices are 1, 4, 8, and 24 hours. + A task still running at expiry is stopped, its sandbox is deleted, and the + run counts as failed. +6. Under **Schedule**, select a **Runs** preset and **Timezone**. For a cron + expression, choose **Custom**. Review **Next runs** to check the timing. +7. In **Prompt**, enter the prompt for an agent kit, or the command for a + command kit such as Shell. Specify where the task should save or send its + results, because files left in the sandbox are deleted with it. +8. Select **Save schedule**. + +Custom cron expressions have five fields: minute, hour, day of month, month, +and day of week. For example, `0 9 * * 1-5` runs at 09:00 every weekday in the +selected time zone. + +## Example: Daily Jira digest + +To prepare a daily summary of your team's work, connect an MCP server that +can search Jira and a server that can send email. These can be custom remote +servers. Authorize access to the project and mailbox the task needs, then +select both servers under **Tools**. + +Choose an agent kit, set the cadence to `0 9 * * 1-5`, and select your team's +time zone. Use a prompt such as: + +```text +Use the connected Jira tool to find issues in project EXAMPLE updated in +the past 24 hours. Summarize progress, blockers, and issues awaiting review. +Include issue keys and links. Use the connected email tool to send the digest +to team@example.com with the subject "Daily EXAMPLE digest". +If either service fails, report the error instead of inventing a summary. +``` + +Replace the project and recipient with your own values. The prompt describes +the task; the connected servers must provide the corresponding search and +email tools. Test the task with **Run now** before relying on its cadence. + +## Manage schedules and review runs + +Open a schedule to review its settings in **Overview** and its run history in +**Runs**. The history shows when each run started, its result, and duration. +Use **Run now** to trigger a run without waiting for the next scheduled time. + +Use **Edit schedule** to change the task or its sandbox settings. Pause a +schedule to suspend future scheduled runs, and resume it when needed. You can +also duplicate a schedule or delete it when you no longer need it. + +The schedule saves the kit and selected resources when you save its settings. +After adding credentials, updating a kit, or changing a custom MCP server's +URL, edit and save the schedule to use those changes. If a run fails, check +its reported error and confirm that its credentials, tools, and network access +are still valid. From 3dc5de92207b78b9149238fff730eb46a3499e20 Mon Sep 17 00:00:00 2001 From: David Karlsson <35727626+dvdksn@users.noreply.github.com> Date: Tue, 3 Nov 2026 12:25:29 +0000 Subject: [PATCH 2/5] docs: Clarify scheduled task setup and prompt handling The schedule guide limited credential preparation to model providers and did not explain how custom kits receive prompts. Include custom credentials, frame integrations around user needs, and describe how the kit prompt template builds the scheduled command. --- content/manuals/agentic-platform/schedules.md | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/content/manuals/agentic-platform/schedules.md b/content/manuals/agentic-platform/schedules.md index 616dfc5e98fb..144988796541 100644 --- a/content/manuals/agentic-platform/schedules.md +++ b/content/manuals/agentic-platform/schedules.md @@ -22,20 +22,21 @@ your selected account. ## Prepare tools and credentials Choose a [kit](kits.md) that can run your task without interactive input. Save -the kit's required model provider credentials in [Secrets](secrets.md). +the credentials you need in [Secrets](secrets.md), including model provider +API keys, service tokens, or custom secrets. -For tasks that use external services, connect and authorize the relevant +If you need to connect to external services, connect and authorize the relevant [MCP servers](mcp.md) before creating the schedule. You can select these tools for scheduled runs, including custom servers connected through the MCP gateway. If the predefined servers don't cover your service, create your own MCP server and [add its remote endpoint](mcp.md#add-a-server-by-url). The endpoint must support streamable HTTP. -For a custom CLI or API integration, the schedule API supports selecting -[custom secrets](secrets.md#add-a-custom-secret) if your account supports them. -The Console schedule form doesn't offer custom-secret selection. Use an MCP -server for integrations you configure through this form. For a schedule -configured through the API, include the required CLI in your kit and use the +If you need credentials for a custom CLI or API integration, use the schedule +API to select [custom secrets](secrets.md#add-a-custom-secret), if your account +supports them. The Console schedule form doesn't offer custom-secret selection. +Use an MCP server for integrations you configure through this form. When you +configure a schedule through the API, include the required CLI in your kit and use the secret's placeholder where the client expects a credential. Check that your [network policy](policies.md) permits access to the service. Don't put secret values in the task's prompt. @@ -63,6 +64,14 @@ Custom cron expressions have five fields: minute, hour, day of month, month, and day of week. For example, `0 9 * * 1-5` runs at 09:00 every weekday in the selected time zone. +## Use a custom kit + +If you use a custom agent kit, configure its prompt template to run the agent +without interactive input. Docker Agentic Platform uses this template to build +the command for each scheduled run, substituting the prompt you entered into +the template's arguments. The image's `ENTRYPOINT` or `CMD` alone doesn't define +how a scheduled prompt is passed to the agent. + ## Example: Daily Jira digest To prepare a daily summary of your team's work, connect an MCP server that From 7e901816a5daef0edb11ce2ca40ad13d15e44d94 Mon Sep 17 00:00:00 2001 From: David Karlsson <35727626+dvdksn@users.noreply.github.com> Date: Tue, 3 Nov 2026 12:29:14 +0000 Subject: [PATCH 3/5] docs: Remove rollout qualifiers from schedules guide The schedules guide qualified support based on account rollout state. Remove those caveats so schedules and custom secrets are documented as supported. --- content/manuals/agentic-platform/schedules.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/content/manuals/agentic-platform/schedules.md b/content/manuals/agentic-platform/schedules.md index 144988796541..59fd690f065d 100644 --- a/content/manuals/agentic-platform/schedules.md +++ b/content/manuals/agentic-platform/schedules.md @@ -15,10 +15,6 @@ Each run creates a fresh sandbox with the kit, compute size, credentials, and tools saved in the schedule. When the task finishes, the sandbox is deleted. The time limit also deletes the sandbox if the task hasn't finished. -Schedules are available for accounts included in the feature rollout. If -**Schedules** isn't visible in your Console, the feature isn't available for -your selected account. - ## Prepare tools and credentials Choose a [kit](kits.md) that can run your task without interactive input. Save @@ -33,8 +29,8 @@ and [add its remote endpoint](mcp.md#add-a-server-by-url). The endpoint must support streamable HTTP. If you need credentials for a custom CLI or API integration, use the schedule -API to select [custom secrets](secrets.md#add-a-custom-secret), if your account -supports them. The Console schedule form doesn't offer custom-secret selection. +API to select [custom secrets](secrets.md#add-a-custom-secret). The Console +schedule form doesn't offer custom-secret selection. Use an MCP server for integrations you configure through this form. When you configure a schedule through the API, include the required CLI in your kit and use the secret's placeholder where the client expects a credential. Check that your From 4eb9f4d3b9d0a3dc76226e2a49d38e53e082e90b Mon Sep 17 00:00:00 2001 From: David Karlsson <35727626+dvdksn@users.noreply.github.com> Date: Wed, 4 Nov 2026 08:34:05 +0000 Subject: [PATCH 4/5] docs: use a GitHub workflow in the schedules example The schedules guide used email delivery for its example. Replace it with a daily development digest saved as a GitHub issue, and focus the introduction on developer tasks. --- content/manuals/agentic-platform/schedules.md | 38 +++++++++++-------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/content/manuals/agentic-platform/schedules.md b/content/manuals/agentic-platform/schedules.md index 59fd690f065d..6d7e656a525d 100644 --- a/content/manuals/agentic-platform/schedules.md +++ b/content/manuals/agentic-platform/schedules.md @@ -7,9 +7,9 @@ weight: 25 --- Schedules run a prompt or command in a sandbox at a recurring time. Use them -for work such as a daily Jira digest, an email summary, or a weekly dependency -review, without starting an agent manually or keeping a sandbox running -between tasks. +for recurring development work such as reviewing dependencies, triaging issues, +or summarizing pull requests, without starting an agent manually or keeping a +sandbox running between tasks. Each run creates a fresh sandbox with the kit, compute size, credentials, and tools saved in the schedule. When the task finishes, the sandbox is deleted. @@ -68,27 +68,33 @@ the command for each scheduled run, substituting the prompt you entered into the template's arguments. The image's `ENTRYPOINT` or `CMD` alone doesn't define how a scheduled prompt is passed to the agent. -## Example: Daily Jira digest +## Example: Daily repository activity digest -To prepare a daily summary of your team's work, connect an MCP server that -can search Jira and a server that can send email. These can be custom remote -servers. Authorize access to the project and mailbox the task needs, then -select both servers under **Tools**. +To prepare a daily summary of development activity, connect an MCP server +that can read GitHub pull requests and issues and create issues. Authorize +access to the repository, then select the server under **Tools**. If the +predefined servers don't provide these tools, add a custom remote server. Choose an agent kit, set the cadence to `0 9 * * 1-5`, and select your team's time zone. Use a prompt such as: ```text -Use the connected Jira tool to find issues in project EXAMPLE updated in -the past 24 hours. Summarize progress, blockers, and issues awaiting review. -Include issue keys and links. Use the connected email tool to send the digest -to team@example.com with the subject "Daily EXAMPLE digest". -If either service fails, report the error instead of inventing a summary. +Use the connected GitHub tools to review pull requests and issues in +OWNER/REPOSITORY updated in the past 24 hours. Summarize merged changes, +open pull requests awaiting review, and reported blockers. Include links +to the original pull requests and issues. +Save the summary as a GitHub issue in OWNER/REPOSITORY with the title +"Development digest: YYYY-MM-DD", using today's date. Check for an existing +issue with that title before creating one, and update it if it exists. +Exclude previous digest issues from the summary. +If a tool fails, report the error instead of inventing a summary. ``` -Replace the project and recipient with your own values. The prompt describes -the task; the connected servers must provide the corresponding search and -email tools. Test the task with **Run now** before relying on its cadence. +Replace `OWNER/REPOSITORY` with your repository. The GitHub issue preserves +the digest after the sandbox is deleted and gives your team a place to discuss +follow-up work. The connected server must provide the tools needed to read +repository activity and find, create, and update issues. Test the task with +**Run now** before relying on its cadence. ## Manage schedules and review runs From 630f16fdefd56162e66b5a347936f0cbf679f472 Mon Sep 17 00:00:00 2001 From: David Karlsson <35727626+dvdksn@users.noreply.github.com> Date: Wed, 4 Nov 2026 10:05:38 +0000 Subject: [PATCH 5/5] docs: replace schedules digest with weekly issue triage Archiving a repository digest as an issue does not give readers a useful recurring task. Replace it with weekly bug report triage that requests missing details through MCP tools and keeps the results on the relevant issues. --- content/manuals/agentic-platform/schedules.md | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/content/manuals/agentic-platform/schedules.md b/content/manuals/agentic-platform/schedules.md index 6d7e656a525d..b7da3ca30ceb 100644 --- a/content/manuals/agentic-platform/schedules.md +++ b/content/manuals/agentic-platform/schedules.md @@ -68,33 +68,33 @@ the command for each scheduled run, substituting the prompt you entered into the template's arguments. The image's `ENTRYPOINT` or `CMD` alone doesn't define how a scheduled prompt is passed to the agent. -## Example: Daily repository activity digest +## Example: Weekly issue triage -To prepare a daily summary of development activity, connect an MCP server -that can read GitHub pull requests and issues and create issues. Authorize +To reduce time spent asking for missing details in bug reports, schedule an +agent to review issues and request reproduction steps. Connect an MCP server +that can read GitHub issues and comments and add comments to issues. Authorize access to the repository, then select the server under **Tools**. If the predefined servers don't provide these tools, add a custom remote server. -Choose an agent kit, set the cadence to `0 9 * * 1-5`, and select your team's -time zone. Use a prompt such as: +Choose an agent kit, set the cadence to `0 9 * * 1`, and select your team's +time zone to run every Monday at 09:00. Use a prompt such as: ```text -Use the connected GitHub tools to review pull requests and issues in -OWNER/REPOSITORY updated in the past 24 hours. Summarize merged changes, -open pull requests awaiting review, and reported blockers. Include links -to the original pull requests and issues. -Save the summary as a GitHub issue in OWNER/REPOSITORY with the title -"Development digest: YYYY-MM-DD", using today's date. Check for an existing -issue with that title before creating one, and update it if it exists. -Exclude previous digest issues from the summary. -If a tool fails, report the error instead of inventing a summary. +Use the connected GitHub tools to review open issues labeled "bug" in +OWNER/REPOSITORY. For each issue, read its description and comments and +check whether it includes reproduction steps, expected behavior, actual +behavior, and version information. +If details are missing and no comment has already requested them, add one +comment asking for the specific missing details. Skip issues awaiting a +response to an earlier request. Don't close issues or change their labels. +If a tool fails, stop and report the error instead of guessing. ``` -Replace `OWNER/REPOSITORY` with your repository. The GitHub issue preserves -the digest after the sandbox is deleted and gives your team a place to discuss -follow-up work. The connected server must provide the tools needed to read -repository activity and find, create, and update issues. Test the task with -**Run now** before relying on its cadence. +Replace `OWNER/REPOSITORY` with your repository and `bug` with the label your +team uses for bug reports. The comments stay with the issues after the sandbox +is deleted, so reporters can respond and maintainers can follow up. The +connected server must provide tools to read issues and their comments and +add comments. Test the task with **Run now** before relying on its cadence. ## Manage schedules and review runs