Azure Functions (NCRONTAB)
6-field NCRONTAB format used by Azure Functions timer triggers — seconds first, day-of-week 0–6, full step syntax.
Overview
Azure Functions timer triggers are scheduled with NCRONTAB expressions: 6 fields in 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.
NCRONTAB supports the usual operators — steps (`*/n`), ranges, comma lists, and named months/days. Microsoft's canonical example is `0 */5 * * * *` ("once every five minutes"). Timer triggers evaluate in UTC by default; set the `WEBSITE_TIME_ZONE` app setting to schedule in another time zone.
Looking for Azure Logic Apps? Logic Apps Recurrence triggers do NOT use cron expressions at all — they're configured with JSON recurrence properties (`frequency`, `interval`, `schedule`). This page covers the NCRONTAB dialect used by Azure Functions timer triggers.
Field Structure
Special Characters
| Token | Meaning |
|---|---|
| * | Any value. |
| , | List separator (e.g. `1,15,30`). |
| - | Range of values (e.g. `1-5`). |
| / | Step values (e.g. `*/5` = every 5 units). |
Aliases
- Not supported — no `@hourly`, `@daily`, etc.
Comparison vs. Unix Cron
| Feature | Azure Functions (NCRONTAB) | Unix Cron |
|---|---|---|
| Field count | 6 (seconds first) | 5 |
| Seconds field | Yes | No |
| Step syntax (`*/n`) | Yes | 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 | `WEBSITE_TIME_ZONE` app setting (UTC default) | Daemon-local or `CRON_TZ` |
Examples
Gotchas & Pitfalls
- ⚠Azure Logic Apps does NOT accept cron expressions — its Recurrence trigger is configured with JSON recurrence properties (`frequency`, `interval`, `schedule`), not NCRONTAB. If you landed here for Logic Apps, use those properties instead.
- ⚠Day-of-week numbering is 0–6 with Sun=0, unlike Quartz (1-indexed). Porting Quartz expressions verbatim will shift schedules by a day.
- ⚠Timer triggers run in UTC unless you set the `WEBSITE_TIME_ZONE` app setting — a common surprise for teams operating in non-UTC regions.