> ## 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 using YAML configuration files for version control and GitOps workflows.

#### 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 **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`). If you've configured a custom schedule deployment branch, that branch is used instead.

* **Automatic Refresh**: Paradime checks for changes every 10 minutes.
* **Manual Refresh**: For immediate updates, navigate to the Bolt interface and click **Parse Schedules**.

<Info>
  💡 **Note**: To update your schedules, make sure to merge your changes to the deployment branch first.
</Info>

You can also edit, create, and delete schedule files directly in the Paradime UI — see Editing YAML schedules from the Paradime UI.


## Related topics

- [Schedules as Code](/products/bolt/creating-schedules/schedules-as-code/index.md)
- [Schedule Configurations](/products/bolt/managing-schedules/schedule-configurations.md)
- [Github Actions to Paradime Bolt](/guides/migrations/migrating-dbt-tm-jobs-from-github-actions-to-paradime-bolt.md)
- [Triggering from Bolt](/products/dino-ai/programmable-agents/triggering-from-bolt.md)
- [Deploy Code Changes On Merge](/products/bolt/creating-schedules/templates/ci-cd-templates/deploy-code-changes-on-merge.md)
