> ## 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.

# Deploying from a Custom Branch

> Deploy Bolt YAML schedules from a custom Git branch instead of the default production branch to test schedule changes safely before merging.

By default, Paradime reads schedule YAML from your repository's **default branch** (usually `main` or `master`). To deploy schedules from a different branch instead, turn on **Custom Branch Deployment** in Bolt and choose the branch.

This applies to both layouts:

* The modular `.bolt/` folder
* The legacy flat `paradime_schedules.yml` file

***

## When to use this

* You keep a long-lived `release` branch and want schedules to track it instead of `main`.
* You maintain a dedicated `bolt-config` branch for schedule changes, separate from your dbt model PRs.
* You're staging a large schedule refactor on a branch and want to deploy from it before merging.

***

## How it works

While a custom schedule deployment branch is configured:

* **Parse-schedules** reads schedule YAML from the configured branch.
* The **Bolt YAML editor** in the Paradime UI reads from, and commits to, the configured branch.
* The repository's default branch is **ignored** for schedule purposes (it is still used everywhere else — `git_branch` defaults, PR targets, etc.).

Clearing the setting reverts to the default branch.

<Warning>
  The custom branch must already exist in the connected Git repository. Paradime does not create it for you.
</Warning>

***

## Setting the branch

Configure the deployment branch in Bolt, from the **Branch Deployment Settings** panel:

1. In Bolt, open **Branch Deployment Settings**.
2. Turn on **Enable Custom Branch Deployment** to deploy `schedules.yml` from a specific branch instead of the default branch.
3. Choose the branch to deploy from.
4. Click **Save Changes**.

To revert to the default branch, turn the toggle off and save.

<Warning>
  * Disabling custom branch deployment **undeploys all schedules** from the current branch.
  * Changing branches **undeploys** schedules from the previous branch and deploys them from the new branch.
  * Changes only take effect after you **Save Changes**.
</Warning>

***

## Deployment behaviour

The refresh cadence is the same regardless of which branch is used:

* **Automatic Refresh**: Paradime checks for changes every 10 minutes.
* **Manual Refresh**: Open Bolt and click **Parse Schedules** to refresh immediately.

<Info>
  💡 **Note**: To update your schedules, merge (or push) your changes to the configured branch first. Commits to other branches are ignored.
</Info>


## Related topics

- [Managing Schedules](/products/bolt/managing-schedules/index.md)
- [Bolt API](/developers/graphql-api/api-reference/bolt-api.md)
- [The .bolt/ Folder](/products/bolt/creating-schedules/schedules-as-code/modular-schedules-with-the-.bolt-folder.md)
- [Continuous Deployment with GitHub for dbt™](/products/bolt/ci-cd/continuous-deployment/github.md)
- [Packages](/guides/dbt-fundamentals/configuring-your-dbt-project/packages.md)
