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.
Creating Schedules
From the Dashboard
- Go to Agents and select an agent, then navigate to Schedules
- Click + Create Schedule
- Choose a frequency (preset or custom cron)
- Set the timezone
- Configure retry and timeout settings
- Add input parameters for the agent
- Click Create
Schedule Configuration Options
| Setting | Description | Default |
|---|---|---|
| Frequency | How often the schedule runs | Required |
| Timezone | IANA timezone for execution | UTC |
| Max Retries | Retry count on failure | 0 |
| Timeout | Maximum execution time per run | No limit |
| Start Date | When the schedule becomes active | Immediately |
| End Date | When the schedule expires | Never |
| Enable Memory | Agent remembers state between runs | Off |
Date Bounds
You can restrict a schedule to a specific date range. For example, a "Q4 Campaign" schedule can start on October 1st and automatically stop on December 31st.
Memory Persistence
Enable memory persistence for incremental processing. The agent remembers what it processed in previous runs and can pick up where it left off -- essential for data sync and batch processing scenarios.
Managing Schedules
From the dashboard or via API, you can:
- Pause -- Temporarily stop a schedule without deleting it
- Resume -- Reactivate a paused schedule
- Run Now -- Trigger an immediate run outside the normal timing
- Update -- Change frequency, timezone, or input parameters
- Delete -- Permanently remove a schedule
Monitoring Schedules
Each schedule tracks:
- Last run -- When it last executed and whether it succeeded
- Next run -- The next scheduled execution time
- Run count -- Total executions
- Failure count -- How many runs have failed
- Next 5 runs -- Preview of upcoming execution times
You can also view the full run history with status, errors, and timing for each execution.
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.