# Properties

Documentation owner: product `control`; documentation version: `1.3.0`.
Source: `content/products/control/1.3.0/configuration-reference/modules/schedules/properties.md` at commit `eaf7a020437971baeee95e87eaf963636040ac71`.

## Scheduler module properties

| Name | Description | Default value | Mandatory |
| --- | --- | --- | --- |
| name | Must be `Scheduler`. | N/A | Yes |
| jobs | Array of job definitions. In Control, this is normally loaded with `@include_as_array:schedules/*/schedule.json`. | N/A | Yes |

## Schedule job properties

| Name | Description | Default value | Mandatory |
| --- | --- | --- | --- |
| id | Technical id of the schedule. The management UI creates this automatically and uses it as the directory name. | Generated | Yes |
| display_name | Human-readable name shown in the management UI. | Uses `id` | No |
| description | Description for the schedule. | Empty | No |
| category | Optional category used to group schedules in the management UI sidebar. | Empty | No |
| type | Job type. The management UI currently uses `NoOp` and `Pipes`. | `Pipes` for newly created schedules | Yes |
| schedule | Quartz cron expression or a supported preset alias. | Configured by the UI before save | Yes |
| enabled | Controls whether the Scheduler registers the job. When `false`, the schedule does not run, including at service start. | `true` | No |
| run_on_start | If `true`, the job is executed when the service starts while the schedule is enabled. | `false` | No |
| params | Type-specific parameters. | Empty object | No |

## Pipes job parameters

When `type` is `Pipes`, the following parameters are used inside `params`:

| Name | Description | Default value | Mandatory |
| --- | --- | --- | --- |
| params.pipes | Array of pipe ids to execute. | Empty array | Yes |
| params.parallel | If `true`, multiple pipes are executed in parallel. | `false` | No |
| params.params | Optional free-form parameter object stored with the schedule. | Empty object | No |

## Example

```json
{
  "id": "20260320_101500",
  "display_name": "Daily synchronization",
  "description": "Runs every morning",
  "category": "Integrations/Daily",
  "type": "Pipes",
  "schedule": "0 0 9 * * ?",
  "enabled": true,
  "run_on_start": false,
  "params": {
    "pipes": [
      "20260320_101500_pipe",
      "20260320_101700_pipe"
    ],
    "parallel": true,
    "params": {
      "target": "all"
    }
  }
}
```

## Quartz cron syntax

The `schedule` property can use a custom Quartz cron expression in the following format:

```
seconds minutes hours day-of-month month day-of-week
```

For detailed examples, see [Quartz cron examples](/products/control/configuration-reference/modules/schedules/quartz-cron-examples/).

<details>

<summary>Predefined schedules available in the management UI</summary>

The UI provides common presets such as:

* Every minute
* Every 5 minutes
* Every 15 minutes
* Every 30 minutes
* Every hour
* Every day at midnight
* Every day at noon
* Every week (Sunday midnight)

Custom Quartz cron expressions are also supported. Existing configurations may still use legacy aliases such as `EVERY_HOUR`, `EVERY_5_MINUTES`, and `EVERYDAY_AT_MIDNIGHT`.

</details>
