Skip to main content

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

FrequencyDescriptionAdditional Config
OnceRun once at a specific timeRun-at timestamp
HourlyEvery hourMinute offset
DailyEvery dayHour and minute
WeeklyEvery weekDay of week, hour, minute
MonthlyEvery monthDay of month, hour, minute
CronCustom cron expressionCron string

Cron Expression Reference

For complex schedules, use standard cron syntax with five fields: minute, hour, day of month, month, and day of week.

PatternDescription
Every minuteRuns once per minute
Every hour (on the hour)Top of each hour
Daily at midnightOnce per day
Weekdays at 9 AMMonday through Friday
Every 15 minutesFour times per hour
First of every monthMonthly on the 1st
Every SundayWeekly on Sunday
Timezone Matters

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

  1. Go to Agents and select an agent, then navigate to Schedules
  2. Click + Create Schedule
  3. Choose a frequency (preset or custom cron)
  4. Set the timezone
  5. Configure retry and timeout settings
  6. Add input parameters for the agent
  7. Click Create

Schedule Configuration Options

SettingDescriptionDefault
FrequencyHow often the schedule runsRequired
TimezoneIANA timezone for executionUTC
Max RetriesRetry count on failure0
TimeoutMaximum execution time per runNo limit
Start DateWhen the schedule becomes activeImmediately
End DateWhen the schedule expiresNever
Enable MemoryAgent remembers state between runsOff

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

Stagger Heavy Schedules

Avoid running all resource-intensive tasks at the same time. Spread them across different hours to balance load.

Configure Retries for Network Operations

External API calls may fail transiently. Setting 2-3 retries handles most intermittent issues automatically.

Use Memory for Incremental Processing

Enable memory persistence so agents can track what was already processed and avoid redundant work on each run.

Set Reasonable Timeouts

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.