> ## Documentation Index
> Fetch the complete documentation index at: https://synthetiq.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Schedules reference

> schedules.json configuration for recurring workflow execution

## schedules.json

Defined at the app root. Configures workflows that run automatically on a recurring schedule.

```json theme={null}
{
  "schedules": [
    {
      "name": "daily-order-sync",
      "cron": "0 3 * * *",
      "timezone": "UTC",
      "skipIfRunning": true,
      "workflow": "./src/server/workflows/syncOrders.ts",
      "params": {
        "orgId": "org_abc123"
      }
    }
  ]
}
```

## Fields

| Field           | Required | Description                            |
| --------------- | -------- | -------------------------------------- |
| `name`          | Yes      | Unique schedule identifier             |
| `cron`          | Yes      | Cron expression                        |
| `timezone`      | No       | Timezone (default: `"UTC"`)            |
| `skipIfRunning` | No       | Skip if previous run is still active   |
| `workflow`      | Yes      | Path to the workflow file              |
| `params`        | No       | Variable values passed to the workflow |

## Common cron expressions

| Expression     | Schedule                       |
| -------------- | ------------------------------ |
| `0 * * * *`    | Every hour                     |
| `0 */6 * * *`  | Every 6 hours                  |
| `0 3 * * *`    | Daily at 3:00 AM               |
| `0 0 * * 1`    | Weekly on Monday at midnight   |
| `0 0 1 * *`    | Monthly on the 1st at midnight |
| `*/15 * * * *` | Every 15 minutes               |

## Build-time validation

* Cron expressions are syntactically valid
* Workflow file paths resolve to exported workflow definitions
* Parameter values match the workflow's variable definitions
* Schedule names are unique
