Building Cron Expressions
Cron expressions give you precise control over when a workflow runs. The Workflow Scheduler accepts standard 5-field cron syntax and includes a visual builder to help you construct expressions without writing them from scratch.
Cron Expression Syntax
A cron expression has five space-separated fields:
┌───────── minute (0–59)
│ ┌───────── hour (0–23)
│ │ ┌───────── day of month (1–31)
│ │ │ ┌───────── month (1–12)
│ │ │ │ ┌───────── day of week (0–7, where 0 and 7 are both Sunday)
│ │ │ │ │
* * * * *
Special characters:
*— any value (wildcard)*/N— every N units (e.g.,*/15in the minutes field = every 15 minutes)N-M— a range (e.g.,1-5in the day-of-week field = Monday through Friday)N,M— a list of values (e.g.,6,18in the hour field = 6am and 6pm)
Common Cron Patterns
0 0 * * *— Daily at midnight0 2 * * *— Daily at 2:00am0 6 * * 1-5— Weekdays (Mon–Fri) at 6:00am0 2 * * 1— Every Monday at 2:00am0 12 1 * *— First of each month at noon*/30 * * * *— Every 30 minutes*/15 9-17 * * 1-5— Every 15 minutes during business hours (9am–5pm, weekdays)0 6,18 * * *— Twice daily at 6am and 6pm0 0 1,15 * *— 1st and 15th of each month at midnight
Using the Visual Cron Builder
When you select the Cron schedule type, the form displays a visual builder alongside the expression input. The builder lets you choose a frequency category (hourly, daily, weekly, monthly, or custom) and fills in the expression for you.
You can also type directly into the expression field if you already know the pattern you want. The builder updates its frequency selectors to reflect what you type, and vice versa.
Previewing Next Occurrences
After entering a cron expression — whether through the builder or by typing — the form shows the next 5 scheduled execution times. This preview updates live as you type, so you can immediately see whether the expression produces the schedule you intended.
For example, entering 0 2 * * 1-5 might show:
- Monday, 2:00am
- Tuesday, 2:00am
- Wednesday, 2:00am
- Thursday, 2:00am
- Friday, 2:00am
If the next occurrence is unexpectedly far in the future — or repeats more often than intended — adjust the expression before saving.
All cron times are evaluated in the server's local timezone. If your server runs in UTC and you want runs at a specific local time, account for the timezone offset in your cron expression.
Testing Before You Save
For complex expressions, test them at crontab.guru (an external cron expression validator) before entering them in the scheduler. Paste the expression there to see a human-readable description and a list of upcoming runs.
Expressions like */5 * * * * (every 5 minutes) can generate a high volume of executions on large projects. Make sure each pipeline run can realistically complete within the interval, otherwise runs will queue up and consume server resources. Use step-level execution statistics to check how long your pipeline takes per run.
See Viewing Next Occurrences for more on the schedule preview feature.