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

# Schedules as Code

> Manage Bolt schedules as code with `paradime_schedules.yml`: version-control schedules in Git, review changes in pull requests, and deploy via GitOps.

## What are Paradime YAML-Based Schedules?

Paradime YAML schedules are configuration-as-code definitions, allowing you to define, version, and manage your data pipeline schedules directly within your dbt project repository.

The recommended layout is the **`.bolt/` folder** — a directory at the root of your dbt project containing one or more YAML files, each declaring a set of schedules. This lets teams own their own files and avoid merge conflicts on a shared configuration.

<Info>
  The legacy single-file `paradime_schedules.yml` at the project root is still fully supported. The two layouts can coexist, so you can adopt `.bolt/` gradually.
</Info>

<Warning>
  **Prerequisites**

  To run YAML-based schedules, connect your data warehouse to the [Scheduler Environment](/products/settings/connections/scheduler-environment/index).
</Warning>

**File Location**

```
your-dbt-project/
├── dbt_project.yml
├── .bolt/                       # recommended — modular layout
│   ├── transforms/
│   │   └── marketing.yaml
│   └── ci/
│       └── pull-requests.yaml
├── paradime_schedules.yml       # legacy — still supported
├── models/
└── ...
```

See [The `.bolt/` folder](/products/bolt/creating-schedules/schedules-as-code/modular-schedules-with-the-.bolt-folder) for the folder layout's discovery rules and examples.

## Why Use YAML-Based Schedules?

1. **Version Control**
   * Schedule configurations are tracked alongside your dbt models
   * Review schedule modifications through Pull Requests
   * Enforce team review processes for schedule changes
2. **Infrastructure as Code**
   * Schedules are treated as code, not just UI configurations
   * Easy replication across environments
   * Enables automated deployment pipelines
3. **Team Collaboration**
   * Simplified schedule review process
   * Standard formatting and validation
   * Documentation lives with the code

## How YAML-based schedules are deployed

Schedules are read from your repository's **default branch** (usually `main` or `master`), or from a [custom deployment branch](/products/bolt/creating-schedules/schedules-as-code/deploying-yaml-schedules-from-a-custom-branch) if you set one.

* **Automatic refresh**: Paradime checks for changes every 10 minutes.
* **Manual refresh**: for immediate updates, open Bolt and click **Parse Schedules**.

<Info>
  Merge your changes to the deployment branch first — schedules only update from that branch.
</Info>

You can also edit, create, and delete schedule files directly in the UI. See [Editing YAML in the UI](/products/bolt/creating-schedules/schedules-as-code/editing-yaml-schedules-from-the-paradime-ui) and [The .bolt/ folder](/products/bolt/creating-schedules/schedules-as-code/modular-schedules-with-the-.bolt-folder) for the file layout.


## Related topics

- [Deploy Schedules](/products/bolt/creating-schedules/deploy.md)
- [Managing Schedules](/products/bolt/managing-schedules/index.md)
- [Self-Healing settings for a Bolt schedule](/products/bolt/creating-schedules/self-healing.md)
- [Configuration Reference](/products/bolt/creating-schedules/schedules-as-code/configuration-reference.md)
- [Deploy from the UI](/products/bolt/creating-schedules/deploy-from-ui.md)
