Scheduled Tasks NEW
Overview
Scheduled Tasks let the Agent automatically run preset tasks on a regular schedule — without you manually starting a conversation. This is a desktop-APP-only feature.
Typical scenarios:
- Every day at 9:00, scrape 5 competitors' websites, compare changes, and send the results to DingTalk
- Every Monday at 18:00, search Gmail for all "contract"-related emails from this week, compile them into an Excel file, and email it to the boss
- Check email every 30 minutes, and send me a WeChat notification if there are any urgent emails
- On the 1st of every month, generate a team work summary report for the previous month

Entry Point
Desktop APP → left-side settings menu → Scheduled Tasks
Three Scheduling Modes
| Mode | Identifier | Description | Configuration |
|---|---|---|---|
| One-time | at |
Runs once at a specified point in time | Select date and time |
| Interval | interval |
Repeats at a fixed interval | Interval count + unit (minutes/hours/days) |
| Cron | cron |
Standard Cron expression | 5-field Cron (e.g., 0 9 * * 1 = every Monday at 9:00) |
Common Cron Expressions
| Expression | Meaning |
|---|---|
0 * * * * |
Every hour on the hour |
0 9 * * * |
Every day at 9:00 |
0 9 * * 1 |
Every Monday at 9:00 |
0 0 1 * * |
The 1st of every month at 0:00 |
*/15 * * * * |
Every 15 minutes |
0 9-18 * * 1-5 |
Every hour from 9:00 to 18:00 on weekdays |
Execution Modes
Choose the execution method when creating a task:
| Mode | Description |
|---|---|
| normal | Every execution shares the same persistent session |
| isolated | Every execution creates a new independent session, with no interference between them |
| persistent | A persistent session that retains historical context |
| selected | Uses a specified existing session |
Selection recommendations:
- Tasks that are independent of each other (such as daily monitoring) →
isolated - When you want the Agent to remember previous results (such as an ongoing project you keep following up on) →
persistent - When you need to reuse the context of an existing session →
selected
Notification Configuration
After a task finishes executing, you can be notified through multiple channels:
| Notification Channel | Requirement |
|---|---|
| Telegram | Requires the Telegram channel to be configured first |
| DingTalk | Requires the DingTalk channel to be configured first |
| Feishu | Requires a Feishu webhook to be configured |
| WeCom | Requires a WeCom webhook to be configured |
| Slack | Requires the Slack channel to be configured first |
| Teams | Requires the Teams channel to be configured first |
| Discord | Requires the Discord channel to be configured first |
| Enter the recipient email address |
For channel configuration details, see Channel Configuration.
Notification content: task execution status (success/failure) + a brief summary or the full output
Task Details Page
Each task's details page contains:
| Section | Content |
|---|---|
| Basic Information | Name, description, creator, creation time |
| Scheduling Configuration | Mode (at/interval/cron) + parameters |
| Execution Mode | normal / isolated / persistent / selected |
| Task Prompt | The instruction content the Agent runs each time |
| Notification Settings | List of enabled notification channels |
| Run Status | nextRunAtMs, lastRunAtMs, lastStatus, lastDurationMs, consecutive failure count |
| Run History | An individual record for each execution (status, start time, duration, error log) |
Run History (AllRunsHistory)
Each task has its own independent run history table:
| Column | Description |
|---|---|
| Execution Time | The start time of that execution |
| Status | Success / Failure / Timeout / Interrupted |
| Duration | Time taken to execute |
| Result Summary | The first several characters of the output |
| Error Message | The error stack trace on failure (expandable) |
Filtering by time and status is supported.
How-To Guide
Create a Scheduled Task
- Open the APP → Settings → Scheduled Tasks
- Click
+ New Task - Fill in the basic information:
- Name: e.g., "Daily Competitor Monitoring"
- Description: a brief explanation
- Select the scheduling mode:
- One-time: select the date and time
- Interval: enter the interval count and unit
- Cron: enter a Cron expression
- Fill in the Task Prompt:请抓取以下 3 个竞品官网的首页, 对比它们昨天和今天的变化(新产品、新公告、新定价), 输出变化摘要: - 竞品 A: https://... - 竞品 B: https://... - 竞品 C: https://...
请抓取以下 3 个竞品官网的首页, 对比它们昨天和今天的变化(新产品、新公告、新定价), 输出变化摘要: - 竞品 A: https://... - 竞品 B: https://... - 竞品 C: https://...This code block in the floating window - Select the execution mode (usually
isolated) - Configure the notification channel (e.g., DingTalk)
- Save
Manually Trigger Once
In the task list, click the Run Now button on the task row to manually trigger a single execution (this does not affect the next scheduled execution time).
Pause / Resume a Task
The task details page has an Enable/Disable toggle. Once disabled, the task stops being scheduled but its configuration is retained, and it can be resumed at any time.
Organization Isolation
Scheduled tasks are isolated by orgId — you can only see tasks within your own organization. When you switch organizations, the task list switches accordingly.
Impact of account switching: If the currently logged-in user changes (switching across accounts), tasks in the session will not be terminated, but ownership will be verified on subsequent executions.
FAQ
Can scheduled tasks execute tools that have permission pop-ups
Task execution will trigger tool permission pop-ups. If you are in the APP foreground at that time, you can respond; if no one responds, the system handles it according to the following rules:
- Same account: If the APP is online, the pop-up will be displayed and the user can respond
- Cross-account enterprise scenario: Denied by default after 5 minutes of no response
To avoid blocking, we recommend:
- Set commonly used tools for scheduled tasks, such as Bash and Web Fetch, to
P0(executed automatically by the APP) - Use the "Always Allow" option to add commonly used commands to the whitelist
- Configure this specifically in Runtime Security
What to do if a task fails to execute
Check the Run History on the task details page → the failure record → the error message. Common causes:
- Model API Key expired: reconfigure it on the "Models" page
- Network issues: the tool may be unable to access the internet
- Permission timeout: refer to the previous question
- LLM rate limiting: increase the retry interval or switch to a model with a higher quota
When consecutive failures reach the threshold, the task will automatically pause and send a notification.
Will tasks still run if the APP is closed
No. Scheduled tasks require the APP to be online in order to be triggered. If you need 24/7 execution, please:
- Keep the APP running persistently (background running on macOS / system tray on Windows)
- Consider deploying the APP on a dedicated backup machine that stays powered on
Can it be used together with Work's "scheduled-task" skill
Yes. If the scheduled-task skill is enabled in a Work conversation, the Agent can create scheduled tasks on your behalf within the conversation. For example, say "help me scrape these 3 websites every day at 9," and the Agent will call the scheduled-task skill to automatically create a task.
Related Documentation
- Channel Configuration — Configure notification channels such as Telegram and DingTalk
- Skill Management — The
scheduled-taskpreset skill - Runtime Security — Tool permission level configuration
