# Understanding schedule types and triggers

Scheduling is a crucial part of managing your data workflows. Paradime offers flexible options to ensure your jobs run exactly when you need them and in the most efficient manner.

**Estimated completion time:** 10 minutes

{% hint style="warning" %}

### Prerequisites

* Access to the [Bolt application](https://www.paradime.io/pricing) in Paradime
* A [Production Connection](https://docs.paradime.io/app-help/guides/paradime-101/getting-started-with-your-paradime-workspace/setting-up-data-warehouse-connections) to your data warehouse (AKA Schedule Connection)
* [At least one dbt™ model materialized in your dbt™ project](https://docs.paradime.io/app-help/guides/getting-started-with-the-paradime-ide/creating-a-dbt-model#id-4.-materialize-your-dbt-tm-model)
  {% endhint %}

### What You'll Learn

In this guide, you'll learn about:

1. [Different types of Bolt schedules ](#id-1.-schedule-types) (Standard, Deferred, and Turbo CI) and when to use them
2. Various [schedule triggers](#id-2.-schedule-triggers) (Scheduled run, On Run Completion, On Merge, Bolt API) and when to use them)
3. [Schedule statuses](#id-3.-schedule-statuses) and their meanings

***

### 1. Schedule Types

Paradime supports three main schedule types, each designed for specific use cases:

<table><thead><tr><th width="150">Type</th><th>Description</th><th>Best for</th></tr></thead><tbody><tr><td><strong>Standard</strong></td><td>Runs your dbt™ job directly in the production environment</td><td>Regular production runs, daily or hourly updates</td></tr><tr><td><strong>Deferred</strong></td><td>Runs your job in a separate environment before merging changes to production</td><td>Testing changes before deploying to production, CI/CD workflows</td></tr><tr><td><strong>Turbo</strong> CI</td><td>Performs rapid, incremental runs of only changed models</td><td>Fast feedback on model changes, efficient CI processes</td></tr></tbody></table>

For more details on setting up each type, refer to our [advanced scheduling documentation](https://docs.paradime.io/app-help/documentation/bolt/managing-schedules/schedule-configurations).

***

### 2. Schedule Triggers

{% embed url="<https://youtu.be/YCvU_8qzjWg>" %}

Paradime supports four main schedule triggers:

<table><thead><tr><th width="196">Schedule Trigger</th><th>What it does</th><th width="217">How it works</th><th>Best for</th></tr></thead><tbody><tr><td><strong>Scheduled Run</strong></td><td>Runs your job at specific times and frequencies</td><td>Uses cron syntax to set the schedule</td><td>Regular, time-based job execution (e.g., daily reports, weekly updates)</td></tr><tr><td><strong>On Run Completion</strong></td><td>Triggers your job after another specified job finishes</td><td>You select a "parent" job, and this job will start once the parent completes</td><td>Creating dependencies between jobs (e.g., running a summary job after individual data updates)</td></tr><tr><td><strong>On Merge</strong></td><td>Runs your job when a pull request is merged into a specified branch</td><td>Connects to your Git repository and triggers based on merge events. <br><br>See <a href="../../../../documentation/bolt/managing-schedules/schedule-configurations#defer-to-production-configuration">Defer to Production</a> documentation for details. </td><td>Continuous Deployment workflows, ensuring your data pipeline updates with your code changes</td></tr><tr><td><strong>Bolt API</strong></td><td>Allows you to trigger jobs programmatically from your existing data pipelines</td><td>Provides API endpoints to start, stop, or check job status<br><br>See <a href="https://docs.paradime.io/app-help/documentation/bolt/managing-schedules/bolt-api">Bolt API documentation</a> for details.<br></td><td>Integrating Paradime jobs with external systems or custom workflows</td></tr></tbody></table>

***

### 3. Schedule Statuses

As you manage multiple Bolt schedules, you'll encounter the following statuses:

| Status      | Description                                                                         |
| ----------- | ----------------------------------------------------------------------------------- |
| ✅ Success   | The schedule has completed successfully                                             |
| 🚫 Canceled | The schedule was manually canceled or stopped before completion                     |
| ❌ Error     | The schedule encountered an error during execution (AKA the scheduled run "failed") |
| ⏸️ Paused   | The schedule has been temporarily paused                                            |
| 🕐 No runs  | The schedule has yet to execute and/or it is not configured to execute.             |

***

{% hint style="info" %}

### Related Documentation

* [How to use Trigger Type "Defer To Production"](https://docs.paradime.io/app-help/documentation/bolt/managing-schedules/schedule-configurations#defer-to-production-configuration)
* [Using --defer in Paradime](https://docs.paradime.io/app-help/concepts/paradime-fundamentals/dbt-tm-defer-to-production)
* [Bolt API and Webhooks](https://docs.paradime.io/app-help/documentation/bolt/bolt-api)
* [TurboCI](https://docs.paradime.io/app-help/documentation/bolt/ci-cd/turbo-ci)
  {% endhint %}

***

### Summary

You've learned about the different types of Bolt schedules, various trigger methods, and schedule statuses. This knowledge will help you choose the right schedule type and trigger for your specific use cases, and understand the status of your running schedules.

Next, we'll explore how to [view run history and analytics for your Bolt schedules](https://docs.paradime.io/app-help/guides/paradime-101/running-dbt-in-production-with-bolt/viewing-run-history-and-analytics), which will help you monitor and optimize your dbt™ workflows.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.paradime.io/app-help/guides/paradime-101/running-dbt-in-production-with-bolt/understanding-schedule-types-and-triggers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
