How to use schedule triggers in GitHub Actions workflows, with UTC to IST conversion table and common schedule examples.
GitHub Actions workflows can run automatically on a schedule using the on: schedule: trigger. The schedule uses standard 5-field cron syntax. All times are in UTC — there is no way to specify a timezone in GitHub Actions cron.
on:
schedule:
- cron: '0 3 * * 1-5' # Every weekday at 3am UTC = 8:30am IST
jobs:
my-job:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: echo "Running scheduled job"
| You want (IST) | Use (UTC) | Cron expression |
|---|---|---|
| 6:00 AM IST | 12:30 AM UTC | 30 0 * * * |
| 9:00 AM IST | 3:30 AM UTC | 30 3 * * * |
| 12:00 PM IST | 6:30 AM UTC | 30 6 * * * |
| 6:00 PM IST | 12:30 PM UTC | 30 12 * * * |
| 9:00 PM IST | 3:30 PM UTC | 30 15 * * * |
| Midnight IST | 6:30 PM UTC | 30 18 * * * |
*/5 * * * *) — GitHub ignores more frequent schedules@daily or other shorthands — only 5-field expressions