Azure Logic Apps Cron
6-field NCronTab format for Azure Logic Apps recurrence triggers — seconds first, day-of-week 0–6, no step syntax.
Overview
Azure Logic Apps recurrence schedules use a 6-field NCronTab-style expression with the order `second minute hour day-of-month month day-of-week`. The seconds field comes first, like Quartz and Spring, but day-of-week numbering is 0–6 with Sun=0 (like POSIX), not 1–7 like Quartz.
The dialect intentionally drops step syntax (`*/n`) and the `@hourly`-style aliases. Stick to literal values, comma-separated lists, and ranges. Logic Apps evaluates schedules in the workflow's configured time zone, defaulting to UTC when none is set.
Field Structure
Field Order6 fields: second minute hour day-of-month month day-of-week
Day-of-Week0=Sunday, 1=Monday, …, 6=Saturday. No 7.
Special Characters
| Token | Meaning |
|---|---|
| * | Any value. |
| , | List separator (e.g. `1,15,30`). |
| - | Range of values (e.g. `1-5`). |
Aliases
- Not supported — no `@hourly`, `@daily`, etc.
Comparison vs. Unix Cron
| Feature | Azure Logic Apps Cron | Unix Cron |
|---|---|---|
| Field count | 6 (seconds first) | 5 |
| Seconds field | Yes | No |
| Step syntax (`*/n`) | No | Limited |
| Named months/days | Yes (JAN-DEC, SUN-SAT) | No |
| Aliases (`@hourly` etc.) | No | No |
| DOW numbering | 0=Sun … 6=Sat (like Unix) | 0=Sun … 6=Sat |
| Timezone control | Workflow time zone (UTC default) | Daemon-local or `CRON_TZ` |
Examples
Gotchas & Pitfalls
- ⚠No step syntax — `*/5 * * * * *` is invalid. Use comma-separated values like `0,5,10,15,20,25,30,35,40,45,50,55` instead, or switch the recurrence trigger to a fixed interval.
- ⚠Day-of-week numbering is 0–6 with Sun=0, unlike Quartz (1-indexed). Porting Quartz expressions verbatim will shift schedules by a day.
- ⚠Logic Apps schedules use the workflow's configured time zone. If you don't set one, UTC is used — a common surprise for teams operating in non-UTC regions.