Skip to content

schedules.yaml

File location: ~/.disclaw-team/schedules.yaml (optional)

Purpose: Define recurring prompts that are injected into specific bots on a schedule. Useful for news digests, status reports, or any recurring automated task.

Minimal valid example:

schedules:
- id: daily-standup
name: Daily Standup
bot_id: bot-1
cron: "0 9 * * *"
prompt: "Post a daily standup summary for the team."
enabled: true

Full example with multiple schedules:

schedules:
- id: morning-digest
name: Morning AI News
bot_id: bot-2
cron: "3 9 * * *"
prompt: "Search for and post the top AI news from the last 24 hours."
enabled: true
- id: weekly-review
name: Weekly Review
bot_id: bot-1
cron: "0 9 * * 1"
prompt: "Post a weekly team performance review."
enabled: false

Field reference:

FieldTypeRequiredDefaultDescription
schedulesarrayYesArray of schedule entries
idstringYesUnique identifier (no spaces)
namestringYesDisplay name
bot_idstringYesBot to receive the prompt
cronstringYesCron expression (5 fields)
promptstringYesTask prompt to inject
enabledboolYestrue to activate, false to skip

Cron syntax:

┌──────── minute (0-59)
│ ┌────── hour (0-23)
│ │ ┌──── day of month (1-31)
│ │ │ ┌── month (1-12)
│ │ │ │ ┌ day of week (0=Sunday, 6=Saturday)
│ │ │ │ │
* * * * *

Common examples:

CronMeaning
0 9 * * *Every day at 9:00 AM
0 9,15,21 * * *9 AM, 3 PM, 9 PM daily
0 9 * * 1Every Monday at 9 AM
*/30 * * * *Every 30 minutes

Related: CLI: start, Guides: Scheduling Tasks