Schedules
Schedules enable agents to run automatically at specified times. Whether it is a daily report, hourly sync, or weekly cleanup, schedules handle the timing so you do not have to.
Why Schedules?
Automate recurring work without manual intervention:
- Daily reports -- Generate summaries every morning
- Data sync -- Keep systems in sync hourly
- Maintenance -- Weekly cleanup and optimization
- Monitoring -- Check system health every 5 minutes
Frequency Options
| Frequency | Description | Additional Config |
|---|---|---|
| Once | Run once at a specific time | Run-at timestamp |
| Hourly | Every hour | Minute offset |
| Daily | Every day | Hour and minute |
| Weekly | Every week | Day of week, hour, minute |
| Monthly | Every month | Day of month, hour, minute |
| Cron | Custom cron expression | Cron string |
Cron Expression Reference
For complex schedules, use standard cron syntax with five fields: minute, hour, day of month, month, and day of week.
| Pattern | Description |
|---|---|
| Every minute | Runs once per minute |
| Every hour (on the hour) | Top of each hour |
| Daily at midnight | Once per day |
| Weekdays at 9 AM | Monday through Friday |
| Every 15 minutes | Four times per hour |
| First of every month | Monthly on the 1st |
| Every Sunday | Weekly on Sunday |
Always specify a timezone when creating schedules. Without one, schedules default to UTC, which can lead to surprising run times for your team.
Best Practices
Avoid running all resource-intensive tasks at the same time. Spread them across different hours to balance load.
External API calls may fail transiently. Setting 2-3 retries handles most intermittent issues automatically.
Enable memory persistence so agents can track what was already processed and avoid redundant work on each run.
A schedule without a timeout can run indefinitely if something goes wrong. Match the timeout to the expected duration of the task.
Next: Learn about Triggers for webhook-based agent execution.