AdvancedScheduled Tasks

Scheduled Tasks (Cron)

Kyber has a built-in cron scheduler for recurring tasks. Jobs run automatically and can optionally deliver their output to a chat channel.

Using the agent

The easiest way to manage scheduled tasks is to ask the agent directly:

Schedule a daily news summary at 9am
Set up a reminder every Friday at 5pm to review my week

The agent uses the schedule_cronjob tool to create jobs and list_cronjobs to show what’s scheduled.

CLI commands

You can also manage cron jobs from the command line:

# Run every 5 minutes
kyber cron add --name "check-news" --message "Check tech news and summarize" --every 300
 
# Run daily at 9am
kyber cron add --name "morning-brief" --message "Give me a morning briefing" --cron "0 9 * * *"

Delivering to a channel

Send the output to a specific chat:

kyber cron add \
  --name "daily-digest" \
  --message "Summarize today's important events" \
  --cron "0 18 * * *" \
  --deliver \
  --to "YOUR_CHAT_ID" \
  --channel telegram

Managing jobs

# List all jobs
kyber cron list
 
# Remove a job
kyber cron remove <job-id>

Cron syntax

Standard cron expressions are supported:

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

Examples:

ExpressionMeaning
*/5 * * * *Every 5 minutes
0 9 * * *Daily at 9:00 AM
0 9 * * 1-5Weekdays at 9:00 AM
0 */6 * * *Every 6 hours
0 0 1 * *First of every month at midnight

How it runs

Cron jobs are managed by the gateway process. When the gateway starts, it loads all configured jobs and schedules them. Each job triggers an agent message as if a user sent it.

Tool reference

The agent has access to these cron tools:

ToolDescription
list_cronjobsList all scheduled jobs
schedule_cronjobCreate a new scheduled task
remove_cronjobRemove a scheduled task by ID