AWS EventBridge Scheduler: Cron and Rate Expressions
EventBridge Scheduler lets you trigger AWS Lambda, Step Functions, SQS, SNS, and 270+ other targets on a schedule. It uses a 6-field cron syntax that differs from standard Linux cron — here's everything you need to know.
EventBridge Uses 6-Field Cron (Not 5)
Standard Linux cron (5 fields)
MIN HOUR DOM MONTH DOWAWS EventBridge cron (6 fields)
MIN HOUR DOM MONTH DOW YEARThe 6th field is Year (1970–2199). Also note: EventBridge wraps cron in cron() — e.g., cron(0 9 * * ? *)
Two Types of Schedule Expressions
1. Cron expressions
Precise control over day, time, and recurrence. 6 fields, wrapped in cron().
= 9:00 AM UTC, every day
2. Rate expressions
Simple fixed intervals. Use for every N minutes/hours/days.
= Every 5 minutes. Also: rate(2 hours), rate(1 day)
The ? (No-Specification) Wildcard
EventBridge requires that you set exactly one of day-of-month (DOM) or day-of-week (DOW) — not both. The other field must be set to ?.
cron(0 9 * * ? *)
9 AM every day — DOW is ?
cron(0 9 ? * MON *)
9 AM every Monday — DOM is ?
cron(0 9 * * MON *)
INVALID — both DOM and DOW set
cron(0 9 ? * ? *)
INVALID — both set to ?
Common Patterns
| Schedule | EventBridge Expression |
|---|---|
| Every day at midnight UTC | cron(0 0 * * ? *) |
| Every 5 minutes | cron(*/5 * * * ? *) |
| Every weekday at 9 AM | cron(0 9 ? * MON-FRI *) |
| First of month at 2 AM | cron(0 2 1 * ? *) |
| Every 1 hour | cron(0 * * * ? *) |
| Every Sunday at 6 AM | cron(0 6 ? * SUN *) |
| Last day of month at midnight | cron(0 0 L * ? *) |
| Every 15 minutes on weekdays | cron(*/15 * ? * MON-FRI *) |
Timezone Support
EventBridge Scheduler (the newer service, not the older CloudWatch Events rules) natively supports timezones. When creating a schedule via the console or SDK, you can specify any IANA timezone name.
# AWS CLI — create a schedule in a specific timezone
aws scheduler create-schedule \
--name my-schedule \
--schedule-expression "cron(0 9 ? * MON-FRI *)" \
--schedule-expression-timezone "America/New_York" \
--target '{"Arn":"arn:aws:lambda:...","RoleArn":"..."}' \
--flexible-time-window '{"Mode":"OFF"}'Convert Linux cron to AWS EventBridge format
Our Platform Converter translates standard 5-field cron expressions to EventBridge's 6-field format automatically.