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

# Configuration Reference

This section describes the YAML configuration format for scheduling and managing automated tasks. The configuration supports various execution modes including scheduled runs, trigger-based execution, CI/CD integration and API, plus additional configurations like deferred artifacts (dbt™️ defer), notifications and Self-Healing.

<Info>
  💡 **Looking for complete examples?** Jump to the Example Configurations section below.
</Info>

**Base Configuration**

Every scheduler configuration must include these basic fields:

```yaml theme={"system"}
name: string               # Human-readable display name of the schedule
slug: string               # Unique machine identifier (auto-generated by `paradime schedule verify`)
description: string        # Job description
owner_email: string       # Email of the job owner
git_branch: string        # Target Git branch
environment: string       # Only "production" is supported
commands:                 # List of commands to execute
  - string
```

**Execution Modes**

**1. Schedule-Triggered Execution**

Basic scheduled execution using cron expression:

```yaml theme={"system"}
schedule: '0 */2 * * *'     # Runs every 2 hours
timezone: UTC               # Timezone
```

<Accordion title="Supported Timezone List">
  | Timezone                         | Timezone                  | Timezone              |
  | -------------------------------- | ------------------------- | --------------------- |
  | Africa/Accra                     | America/Sao\_Paulo        | Etc/GMT-6             |
  | Africa/Addis\_Ababa              | America/Scoresbysund      | Etc/GMT-7             |
  | Africa/Algiers                   | America/Shiprock          | Etc/GMT-8             |
  | Africa/Asmara                    | America/Sitka             | Etc/GMT-9             |
  | Africa/Asmera                    | America/St\_Barthelemy    | Etc/GMT-10            |
  | Africa/Bamako                    | America/St\_Johns         | Etc/GMT-11            |
  | Africa/Bangui                    | America/St\_Kitts         | Etc/GMT-12            |
  | Africa/Banjul                    | America/St\_Lucia         | Etc/GMT-13            |
  | Africa/Bissau                    | America/St\_Thomas        | Etc/GMT-14            |
  | Africa/Blantyre                  | America/St\_Vincent       | Etc/GMT+0             |
  | Africa/Brazzaville               | America/Swift\_Current    | Etc/GMT+1             |
  | Africa/Bujumbura                 | America/Tegucigalpa       | Etc/GMT+2             |
  | Africa/Cairo                     | America/Thule             | Etc/GMT+3             |
  | Africa/Casablanca                | America/Thunder\_Bay      | Etc/GMT+4             |
  | Africa/Ceuta                     | America/Tijuana           | Etc/GMT+5             |
  | Africa/Conakry                   | America/Toronto           | Etc/GMT+6             |
  | Africa/Dakar                     | America/Tortola           | Etc/GMT+7             |
  | Africa/Dar\_es\_Salaam           | America/Vancouver         | Etc/GMT+8             |
  | Africa/Djibouti                  | America/Virgin            | Etc/GMT+9             |
  | Africa/Douala                    | America/Whitehorse        | Etc/GMT+10            |
  | Africa/El\_Aaiun                 | America/Winnipeg          | Etc/GMT+11            |
  | Africa/Freetown                  | America/Yakutat           | Etc/GMT+12            |
  | Africa/Gaborone                  | America/Yellowknife       | Etc/GMT0              |
  | Africa/Harare                    | Antarctica/Casey          | Etc/Greenwich         |
  | Africa/Johannesburg              | Antarctica/Davis          | Etc/UCT               |
  | Africa/Juba                      | Antarctica/DumontDUrville | Etc/Universal         |
  | Africa/Kampala                   | Antarctica/Macquarie      | Etc/UTC               |
  | Africa/Khartoum                  | Antarctica/Mawson         | Etc/Zulu              |
  | Africa/Kigali                    | Antarctica/McMurdo        | Europe/Amsterdam      |
  | Africa/Kinshasa                  | Antarctica/Palmer         | Europe/Andorra        |
  | Africa/Lagos                     | Antarctica/Rothera        | Europe/Astrakhan      |
  | Africa/Libreville                | Antarctica/South\_Pole    | Europe/Athens         |
  | Africa/Lome                      | Antarctica/Syowa          | Europe/Belfast        |
  | Africa/Luanda                    | Antarctica/Troll          | Europe/Belgrade       |
  | Africa/Lubumbashi                | Antarctica/Vostok         | Europe/Berlin         |
  | Africa/Lusaka                    | Arctic/Longyearbyen       | Europe/Bratislava     |
  | Africa/Malabo                    | Asia/Aden                 | Europe/Brussels       |
  | Africa/Maputo                    | Asia/Almaty               | Europe/Bucharest      |
  | Africa/Maseru                    | Asia/Amman                | Europe/Budapest       |
  | Africa/Mbabane                   | Asia/Anadyr               | Europe/Busingen       |
  | Africa/Mogadishu                 | Asia/Aqtau                | Europe/Chisinau       |
  | Africa/Monrovia                  | Asia/Aqtobe               | Europe/Copenhagen     |
  | Africa/Nairobi                   | Asia/Ashgabat             | Europe/Dublin         |
  | Africa/Ndjamena                  | Asia/Ashkhabad            | Europe/Gibraltar      |
  | Africa/Niamey                    | Asia/Atyrau               | Europe/Guernsey       |
  | Africa/Nouakchott                | Asia/Baghdad              | Europe/Helsinki       |
  | Africa/Ouagadougou               | Asia/Bahrain              | Europe/Isle\_of\_Man  |
  | Africa/Porto-Novo                | Asia/Baku                 | Europe/Istanbul       |
  | Africa/Sao\_Tome                 | Asia/Bangkok              | Europe/Jersey         |
  | Africa/Timbuktu                  | Asia/Barnaul              | Europe/Kaliningrad    |
  | Africa/Tripoli                   | Asia/Beirut               | Europe/Kiev           |
  | Africa/Tunis                     | Asia/Bishkek              | Europe/Kirov          |
  | Africa/Windhoek                  | Asia/Brunei               | Europe/Kyiv           |
  | America/Adak                     | Asia/Calcutta             | Europe/Lisbon         |
  | America/Anchorage                | Asia/Chita                | Europe/Ljubljana      |
  | America/Anguilla                 | Asia/Choibalsan           | Europe/London         |
  | America/Antigua                  | Asia/Chongqing            | Europe/Luxembourg     |
  | America/Araguaina                | Asia/Chungking            | Europe/Madrid         |
  | America/Argentina/Buenos\_Aires  | Asia/Colombo              | Europe/Malta          |
  | America/Argentina/Catamarca      | Asia/Dacca                | Europe/Mariehamn      |
  | America/Argentina/ComodRivadavia | Asia/Damascus             | Europe/Minsk          |
  | America/Argentina/Cordoba        | Asia/Dhaka                | Europe/Monaco         |
  | America/Argentina/Jujuy          | Asia/Dili                 | Europe/Moscow         |
  | America/Argentina/La\_Rioja      | Asia/Dubai                | Europe/Nicosia        |
  | America/Argentina/Mendoza        | Asia/Dushanbe             | Europe/Oslo           |
  | America/Argentina/Rio\_Gallegos  | Asia/Famagusta            | Europe/Paris          |
  | America/Argentina/Salta          | Asia/Gaza                 | Europe/Podgorica      |
  | America/Argentina/San\_Juan      | Asia/Harbin               | Europe/Prague         |
  | America/Argentina/San\_Luis      | Asia/Hebron               | Europe/Riga           |
  | America/Argentina/Tucuman        | Asia/Ho\_Chi\_Minh        | Europe/Rome           |
  | America/Argentina/Ushuaia        | Asia/Hong\_Kong           | Europe/Samara         |
  | America/Aruba                    | Asia/Hovd                 | Europe/San\_Marino    |
  | America/Asuncion                 | Asia/Irkutsk              | Europe/Sarajevo       |
  | America/Atikokan                 | Asia/Istanbul             | Europe/Saratov        |
  | America/Atka                     | Asia/Jakarta              | Europe/Simferopol     |
  | America/Bahia                    | Asia/Jayapura             | Europe/Skopje         |
  | America/Bahia\_Banderas          | Asia/Jerusalem            | Europe/Sofia          |
  | America/Barbados                 | Asia/Kabul                | Europe/Stockholm      |
  | America/Belem                    | Asia/Kamchatka            | Europe/Tallinn        |
  | America/Belize                   | Asia/Karachi              | Europe/Tirane         |
  | America/Blanc-Sablon             | Asia/Kashgar              | Europe/Tiraspol       |
  | America/Boa\_Vista               | Asia/Kathmandu            | Europe/Ulyanovsk      |
  | America/Bogota                   | Asia/Katmandu             | Europe/Uzhgorod       |
  | America/Boise                    | Asia/Khandyga             | Europe/Vaduz          |
  | America/Buenos\_Aires            | Asia/Kolkata              | Europe/Vatican        |
  | America/Cambridge\_Bay           | Asia/Krasnoyarsk          | Europe/Vienna         |
  | America/Campo\_Grande            | Asia/Kuala\_Lumpur        | Europe/Vilnius        |
  | America/Cancun                   | Asia/Kuching              | Europe/Volgograd      |
  | America/Caracas                  | Asia/Kuwait               | Europe/Warsaw         |
  | America/Catamarca                | Asia/Macao                | Europe/Zagreb         |
  | America/Cayenne                  | Asia/Macau                | Europe/Zaporozhye     |
  | America/Cayman                   | Asia/Magadan              | Europe/Zurich         |
  | America/Chicago                  | Asia/Makassar             | Factory               |
  | America/Chihuahua                | Asia/Manila               | GB                    |
  | America/Ciudad\_Juarez           | Asia/Muscat               | GB-Eire               |
  | America/Coral\_Harbour           | Asia/Nicosia              | GMT                   |
  | America/Cordoba                  | Asia/Novokuznetsk         | GMT-0                 |
  | America/Costa\_Rica              | Asia/Novosibirsk          | GMT+0                 |
  | America/Coyhaique                | Asia/Omsk                 | GMT0                  |
  | America/Creston                  | Asia/Oral                 | Greenwich             |
  | America/Cuiaba                   | Asia/Phnom\_Penh          | Hongkong              |
  | America/Curacao                  | Asia/Pontianak            | HST                   |
  | America/Danmarkshavn             | Asia/Pyongyang            | Iceland               |
  | America/Dawson                   | Asia/Qatar                | Indian/Antananarivo   |
  | America/Dawson\_Creek            | Asia/Qostanay             | Indian/Chagos         |
  | America/Denver                   | Asia/Qyzylorda            | Indian/Christmas      |
  | America/Detroit                  | Asia/Rangoon              | Indian/Cocos          |
  | America/Dominica                 | Asia/Riyadh               | Indian/Comoro         |
  | America/Edmonton                 | Asia/Saigon               | Indian/Kerguelen      |
  | America/Eirunepe                 | Asia/Sakhalin             | Indian/Mahe           |
  | America/El\_Salvador             | Asia/Samarkand            | Indian/Maldives       |
  | America/Ensenada                 | Asia/Seoul                | Indian/Mauritius      |
  | America/Fort\_Nelson             | Asia/Shanghai             | Indian/Mayotte        |
  | America/Fort\_Wayne              | Asia/Singapore            | Indian/Reunion        |
  | America/Fortaleza                | Asia/Srednekolymsk        | Iran                  |
  | America/Glace\_Bay               | Asia/Taipei               | Israel                |
  | America/Godthab                  | Asia/Tashkent             | Jamaica               |
  | America/Goose\_Bay               | Asia/Tbilisi              | Japan                 |
  | America/Grand\_Turk              | Asia/Tehran               | Kwajalein             |
  | America/Grenada                  | Asia/Tel\_Aviv            | Libya                 |
  | America/Guadeloupe               | Asia/Thimbu               | MET                   |
  | America/Guatemala                | Asia/Thimphu              | Mexico/BajaNorte      |
  | America/Guayaquil                | Asia/Tokyo                | Mexico/BajaSur        |
  | America/Guyana                   | Asia/Tomsk                | Mexico/General        |
  | America/Halifax                  | Asia/Ujung\_Pandang       | MST                   |
  | America/Havana                   | Asia/Ulaanbaatar          | MST7MDT               |
  | America/Hermosillo               | Asia/Ulan\_Bator          | Navajo                |
  | America/Indiana/Indianapolis     | Asia/Urumqi               | NZ                    |
  | America/Indiana/Knox             | Asia/Ust-Nera             | NZ-CHAT               |
  | America/Indiana/Marengo          | Asia/Vientiane            | Pacific/Apia          |
  | America/Indiana/Petersburg       | Asia/Vladivostok          | Pacific/Auckland      |
  | America/Indiana/Tell\_City       | Asia/Yakutsk              | Pacific/Bougainville  |
  | America/Indiana/Vevay            | Asia/Yangon               | Pacific/Chatham       |
  | America/Indiana/Vincennes        | Asia/Yekaterinburg        | Pacific/Chuuk         |
  | America/Indiana/Winamac          | Asia/Yerevan              | Pacific/Easter        |
  | America/Indianapolis             | Atlantic/Azores           | Pacific/Efate         |
  | America/Inuvik                   | Atlantic/Bermuda          | Pacific/Enderbury     |
  | America/Iqaluit                  | Atlantic/Canary           | Pacific/Fakaofo       |
  | America/Jamaica                  | Atlantic/Cape\_Verde      | Pacific/Fiji          |
  | America/Jujuy                    | Atlantic/Faeroe           | Pacific/Funafuti      |
  | America/Juneau                   | Atlantic/Faroe            | Pacific/Galapagos     |
  | America/Kentucky/Louisville      | Atlantic/Jan\_Mayen       | Pacific/Gambier       |
  | America/Kentucky/Monticello      | Atlantic/Madeira          | Pacific/Guadalcanal   |
  | America/Knox\_IN                 | Atlantic/Reykjavik        | Pacific/Guam          |
  | America/Kralendijk               | Atlantic/South\_Georgia   | Pacific/Honolulu      |
  | America/La\_Paz                  | Atlantic/St\_Helena       | Pacific/Johnston      |
  | America/Lima                     | Atlantic/Stanley          | Pacific/Kanton        |
  | America/Los\_Angeles             | Australia/ACT             | Pacific/Kiritimati    |
  | America/Louisville               | Australia/Adelaide        | Pacific/Kosrae        |
  | America/Lower\_Princes           | Australia/Brisbane        | Pacific/Kwajalein     |
  | America/Maceio                   | Australia/Broken\_Hill    | Pacific/Majuro        |
  | America/Managua                  | Australia/Canberra        | Pacific/Marquesas     |
  | America/Manaus                   | Australia/Currie          | Pacific/Midway        |
  | America/Marigot                  | Australia/Darwin          | Pacific/Nauru         |
  | America/Martinique               | Australia/Eucla           | Pacific/Niue          |
  | America/Matamoros                | Australia/Hobart          | Pacific/Norfolk       |
  | America/Mazatlan                 | Australia/LHI             | Pacific/Noumea        |
  | America/Mendoza                  | Australia/Lindeman        | Pacific/Pago\_Pago    |
  | America/Menominee                | Australia/Lord\_Howe      | Pacific/Palau         |
  | America/Merida                   | Australia/Melbourne       | Pacific/Pitcairn      |
  | America/Metlakatla               | Australia/North           | Pacific/Pohnpei       |
  | America/Mexico\_City             | Australia/NSW             | Pacific/Ponape        |
  | America/Miquelon                 | Australia/Perth           | Pacific/Port\_Moresby |
  | America/Moncton                  | Australia/Queensland      | Pacific/Rarotonga     |
  | America/Monterrey                | Australia/South           | Pacific/Saipan        |
  | America/Montevideo               | Australia/Sydney          | Pacific/Samoa         |
  | America/Montreal                 | Australia/Tasmania        | Pacific/Tahiti        |
  | America/Montserrat               | Australia/Victoria        | Pacific/Tarawa        |
  | America/Nassau                   | Australia/West            | Pacific/Tongatapu     |
  | America/New\_York                | Australia/Yancowinna      | Pacific/Truk          |
  | America/Nipigon                  | Brazil/Acre               | Pacific/Wake          |
  | America/Nome                     | Brazil/DeNoronha          | Pacific/Wallis        |
  | America/Noronha                  | Brazil/East               | Pacific/Yap           |
  | America/North\_Dakota/Beulah     | Brazil/West               | Poland                |
  | America/North\_Dakota/Center     | Canada/Atlantic           | Portugal              |
  | America/North\_Dakota/New\_Salem | Canada/Central            | PRC                   |
  | America/Nuuk                     | Canada/Eastern            | PST8PDT               |
  | America/Ojinaga                  | Canada/Mountain           | ROC                   |
  | America/Panama                   | Canada/Newfoundland       | ROK                   |
  | America/Pangnirtung              | Canada/Pacific            | Singapore             |
  | America/Paramaribo               | Canada/Saskatchewan       | Turkey                |
  | America/Phoenix                  | Canada/Yukon              | UCT                   |
  | America/Port\_of\_Spain          | CET                       | Universal             |
  | America/Port-au-Prince           | Chile/Continental         | US/Alaska             |
  | America/Porto\_Acre              | Chile/EasterIsland        | US/Aleutian           |
  | America/Porto\_Velho             | CST6CDT                   | US/Arizona            |
  | America/Puerto\_Rico             | Cuba                      | US/Central            |
  | America/Punta\_Arenas            | EET                       | US/East-Indiana       |
  | America/Rainy\_River             | Egypt                     | US/Eastern            |
  | America/Rankin\_Inlet            | Eire                      | US/Hawaii             |
  | America/Recife                   | EST                       | US/Indiana-Starke     |
  | America/Regina                   | EST5EDT                   | US/Michigan           |
  | America/Resolute                 | Etc/GMT                   | US/Mountain           |
  | America/Rio\_Branco              | Etc/GMT-0                 | US/Pacific            |
  | America/Rosario                  | Etc/GMT-1                 | US/Samoa              |
  | America/Santa\_Isabel            | Etc/GMT-2                 | UTC                   |
  | America/Santarem                 | Etc/GMT-3                 | W-SU                  |
  | America/Santiago                 | Etc/GMT-4                 | WET                   |
  | America/Santo\_Domingo           | Etc/GMT-5                 | Zulu                  |
</Accordion>

**2. Run Completion Trigger**

Triggers execution based on completion of another job:

```yaml theme={"system"}
schedule: 'OFF'
schedule_trigger:
  enabled: true
  schedule_slug: string     # Slug of the trigger schedule
  workspace_name: string    # Workspace containing the trigger schedule
  trigger_on:               # Events that trigger execution
    - passed
    - failed
```

**3. Merge Trigger**

Triggers execution on merge events:

```yaml theme={"system"}
schedule: 'OFF'
trigger_on_merge: true     # Enables merge-triggered execution
```

<Warning>
  Requires **GitHub integration**.
</Warning>

**4. Turbo CI Configuration**

Configuration for CI pipelines, triggered when a Pull Request is opened:

```yaml theme={"system"}
schedule: 'OFF'
turbo_ci:
  enabled: true
  deferred_schedule_slug: string  # Slug of the schedule whose artifacts the CI run defers to
  successful_run_only: boolean    # Whether to defer only to artifacts from successful runs
```

**5. API Configuration**

Basic configuration when triggering Bolt via API:

```yaml theme={"system"}
schedule: 'OFF'
```

<Info>
  For more details on Paradime APIs check our **Developers guide**.
</Info>

**6. Suspended State**

Configuration for suspended jobs:

```yaml theme={"system"}
suspended: true            # Indicates the job is suspended
```

**Deferred Artifacts (dbt™ defer)**

Any schedule can defer to the artifacts of another schedule's run, enabling state-based selectors like `state:modified+` and `source_status:fresher+`. This is not an execution mode — it works alongside any trigger type (cron, merge trigger, run completion or API).

```yaml theme={"system"}
deferred_schedule:
  enabled: true
  deferred_schedule_slug: string  # Slug of the schedule whose artifacts to defer to
  successful_run_only: boolean    # Whether to defer only to artifacts from successful runs
```

<Info>
  💡 `deferred_schedule_slug` can reference the schedule itself. A self-referential deferred schedule compares against the artifacts of its own previous run — useful for incremental patterns like building only models with fresher sources.
</Info>

**Environment Variable Overrides**

Set or override environment variables for a single schedule using `env_overrides`. The overrides are scoped to that schedule's commands only — they don't affect other schedules or your Bolt-level environment variables.

```yaml theme={"system"}
env_overrides:
  - key: string            # Environment variable name
    value: string          # Literal value, or ${BOLT_VAR} to reference a Bolt-level env var
```

Each entry takes a `key` and a `value`. Values can be either a **literal string** or a **reference** to an existing Bolt-level environment variable using `${VAR_NAME}` — useful when you want one schedule to point an existing variable like `DBT_TARGET` at a different value managed in your Bolt environment.

**Example: literal value**

```yaml theme={"system"}
env_overrides:
  - key: CUSTOM_VAR
    value: literal_value
```

**Example: reference an existing Bolt-level env var**

```yaml theme={"system"}
env_overrides:
  - key: DBT_PROFILES_DIR
    value: ${MY_NEW_VAR}     # Resolves to the current value of MY_NEW_VAR from Bolt env vars
  - key: DBT_TARGET
    value: ${MY_NEW_VAR}
```

**Validation rules**

* `key` must match the pattern `^[a-zA-Z_][a-zA-Z0-9_]*$` (letters, digits and underscores; cannot start with a digit).
* `value` cannot contain whitespace.
* A `${VAR}` reference that points to a Bolt-level variable that doesn't exist is **dropped silently** (a warning is logged) — the schedule still deploys.
* Entries with an invalid `key` or `value` are skipped with a warning — they will not break the deploy.

<Info>
  💡 If both a Bolt-level env var and an `env_overrides` entry define the same key, the schedule-level override wins for that schedule's commands.
</Info>

**Notifications Configuration**

Notifications can be configured for various events through multiple channels:

```yaml theme={"system"}
notifications:
  emails:                  # Email notifications configuration
    - address: string      # List of recipient email address
      events:              # List of events to notify for each recipient
        - passed           # Schedule completed successfully
        - failed          # Schedule completed successfully with errors
        - sla             # SLA threshold exceeded
        
  microsoft_teams:         # Microsoft Teams notifications
    - channel: string      # List of Teams channel name
      events:              # List of events to notify for each recipient
        - passed          # Schedule completed successfully
        - failed          # Schedule completed successfully with errors
        - sla             # SLA threshold exceeded
        
  slack_channels:
    - channel: string      # List of Slack channel name
      events:              # List of events to notify for each recipient
        - passed          # Schedule completed successfully
        - failed          # Schedule completed successfully with errors
        - sla             # SLA threshold exceeded
        
sla_minutes: number        # SLA threshold in minutes
```

<Info>
  For Slack and MS Teams notifications, check our integrations guide:

  * **Slack**
  * **Microsoft Teams**
</Info>

**Self-Healing**

When a schedule run fails, Paradime can automatically trigger a DinoAI agent against the failure inside the configured Slack thread. The agent reviews the run, implements a fix, and opens a pull request for your team to review.

```yaml theme={"system"}
self_healing:
  enabled: true                       # Turn Self-Healing on for this schedule
  slack_channel: '#agent-demo'        # Slack channel the agent runs in (see rule below)
  agent_name: bolt-pipeline-healer    # Name of a YAML-defined programmable agent
```

| Field           | Type     | Required             | Description                                                                                                         |
| --------------- | -------- | -------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `enabled`       | `bool`   | Yes                  | Set to `true` to turn Self-Healing on for this schedule. Defaults to `false`.                                       |
| `slack_channel` | `string` | When `enabled: true` | The Slack channel the agent threads into. **Must also appear in `notifications.slack_channels`** for this schedule. |
| `agent_name`    | `string` | No                   | Name of a programmable agent defined under `.dinoai/agents/<name>.yml`.                                             |

<Warning>
  **Validation:** if `enabled: true` is set with a `slack_channel`, that channel **must also be listed** in this schedule's `notifications.slack_channels`. The deployer rejects the schedule with `self_healing.slack_channel '<channel>' must also appear in notifications.slack_channels` otherwise — the agent reuses the failure-notification thread, so the notification has to exist for the agent to find it.
</Warning>

**Example: Self-Healing alongside notifications**

```yaml theme={"system"}
schedules:
  - name: daily run
    slug: daily-run-a1b2c3
    environment: production
    git_branch: main
    commands:
      - dbt build
    schedule: "0 4 * * *"
    timezone: UTC
    notifications:
      slack_channels:
        - channel: '#agent-demo'
          events:
            - failed
        - channel: '#data-alerts'
          events:
            - failed
    self_healing:
      enabled: true
      slack_channel: '#agent-demo'
      agent_name: bolt-pipeline-healer
```

When this schedule fails, the failure posts to both `#agent-demo` and `#data-alerts`. The agent then runs in-thread in `#agent-demo`, and `#data-alerts` receives a courtesy `🦖 Self-healing started in #agent-demo` pointer.

**Trigger integration**

You can set up triggers to automate actions when runs complete. Trigger Settings allow you to connect Bolt to external tools and services, enabling automated workflows based on your pipeline execution results.

```yml theme={"system"}
integrations:
  incident_io:
    - status_id: 01JZNBWY12QNFFJ2G1E8H2FKDR
      status: Merged
      mode: retrospective
      type_id: 01JZNBWY12JPEG0AWMDK9TWG6V
      type: Default
      severity_id: 01JZNBWY12XG5HTZT11DYJ2TDN
      severity: Minor
      visibility: public
  pagerduty:
    - mode: standard
      from_email: datateam@acme.io
      incident_type_name: incident_default
      incident_type_display_name: Base Incident
      service_id: PO26BTW
      service_name: Data Alerts
      urgency: low
      priority_id: PEI9MBW
      priority_name: P1
      escalation_policy_id: PFEBPFK
      escalation_policy_name: Default
  datadog:
    - severity: SEV_1
      severity_name: Critical
      customer_impacted: true
      state: ACTIVE
      state_name: Active
      commander_user_id: 39363321-5c14-11f0-a281-2e6613966262
      commander_user_name: Kaustav Mitra
      notification_handles:
        - '@kaustav@paradimehq.com'
  new_relic:
    - environment: testing
```

**Example: Complete Configuration**

<Tabs>
  <Tab title="Scheduled Trigger">
    ```yaml theme={"system"}
    schedules:
      - name: daily run
        slug: daily-run-e4f5g6
        description: "Daily build of all dbt models"
        owner_email: john@acme.io 
        environment: production
        git_branch: main  
        commands:
          - dbt run
          - dbt test
        schedule: 0 10 * * *
        timezone: UTC    
        sla_minutes: 60
        notifications:
          emails:                 
            - address: john@acme.io 
              events:
                - failed
                - sla
          slack_channels:
            - channel: data-team    
              events:            
                - passed         
                - failed         
            - channel: pipeline-monitoring    
              events:                    
                - failed         
                - sla  
    ```
  </Tab>

  <Tab title="Run Completion Trigger">
    ```yaml theme={"system"}
    schedules:
      - name: "Finance reports update"
        slug: finance-reports-update-h7i8j9
        description: "Update all finance models"
        owner_email: john@acme.io 
        environment: production
        git_branch: main  
        commands:
          - dbt run --select tag:finance
        schedule: 'OFF'
        schedule_trigger:
          enabled: true
          schedule_slug: daily-run-e4f5g6
          workspace_name: data-platform
          trigger_on:
            - passed
            - failed  
        sla_minutes: 60
        notifications:
          emails:                 
            - address: john@acme.io 
              events:
                - failed
                - sla
          slack_channels:
            - channel: data-team    
              events:            
                - passed         
                - failed         
            - channel: pipeline-monitoring    
              events:                    
                - failed         
                - sla  
    ```
  </Tab>

  <Tab title="Merge Trigger">
    ```yaml theme={"system"}
    schedules:
      - name: "On Merge run CD"
        slug: on-merge-run-cd-n4o5p6
        description: "Continuos deployment run to deploy changes as soon as Merged to the MAIN branch"
        owner_email: john@acme.io 
        environment: production
        git_branch: main  
        commands:
          - dbt run --select state:modified+
        schedule: 'OFF'
        trigger_on_merge: true 
        deferred_schedule:
          enabled: true
          deferred_schedule_slug: on-merge-run-cd-n4o5p6  
          successful_run_only: True     
        sla_minutes: 60
        notifications:
          emails:                 
            - address: john@acme.io 
              events:
                - failed
          slack_channels:
            - channel: data-team    
              events:            
                - passed         
                - failed         
            - channel: pipeline-monitoring    
              events:                    
                - failed         
    ```
  </Tab>

  <Tab title="Deferred Artifacts">
    ```yaml theme={"system"}
    schedules:
      - name: "High Frequency run"
        slug: high-frequency-run-q7r8s9
        description: "Trigger run and build models only when new data landed in sources tables"
        owner_email: john@acme.io 
        environment: production
        git_branch: main  
        commands:
          - dbt source freshness
          - dbt build --select source_status:fresher+ state:modified+ result:error+ result:fail+
        schedule: '0,30 6-23 * * *'
        timezone: UTC
        deferred_schedule:
          enabled: true
          deferred_schedule_slug: high-frequency-run-q7r8s9
          successful_run_only: False     
        sla_minutes: 60
        notifications:
          emails:                 
            - address: john@acme.io 
              events:
                - failed
                - sla
          slack_channels:
            - channel: data-team    
              events:            
                - passed         
                - failed         
            - channel: pipeline-monitoring    
              events:                    
                - failed         
                - sla
    ```
  </Tab>

  <Tab title="Turbo CI Configuration">
    ```yaml theme={"system"}
    schedules:
      - name: "Turbo CI run"
        slug: turbo-ci-run-t1u2v3
        description: "Trigger run and build models when a Pull Request is opened in a temporary schema"
        owner_email: john@acme.io 
        environment: production
        git_branch: main  
        commands:
          - dbt build --select state:modified+
        schedule: 'OFF'
        turbo_ci:
          enabled: true
          deferred_schedule_slug: high-frequency-run-q7r8s9
          successful_run_only: False     
        sla_minutes: 60
        notifications:
          emails:                 
            - address: john@acme.io 
              events:
                - failed
                - sla
          slack_channels:
            - channel: data-team    
              events:            
                - passed         
                - failed         
            - channel: pipeline-monitoring    
              events:                    
                - failed         
                - sla 
    ```
  </Tab>
</Tabs>

***

**Best Practices**

**Schedule Format**

* Use standard cron expressions for scheduling
  * ✅ Standard cron to define days 0-6
    * `10 * * * 0-6` : At minute 10 on every day-of-week from Sunday through Saturday.
  * ❌ Non-standard cron to define days 1-7
    * `10 * * * 1-7` : At minute 10 on every day-of-week from Monday through Sunday
* Use `'OFF'` to disable scheduled execution
* Use [**crontab.guru**](https://crontab.guru/#10_*_*_*_0-6) to validate your cron expressions

**SLA Configuration**

* `sla_minutes` should be set based on job complexity

  Consider dependencies when setting SLA
* Recommended minimum: 30 minutes

**Notification Configuration**

* Configure at least one notification channel
* Include critical events (failed, SLA) in notifications
* Use team channels for collaborative workflows
* Make sure to set the Slack / MS Teams Channel or Email for System notifications. Check our guide here for **Notifications Settingss**

***

**Paradime schedules terminal commands**

Before running any of the following commands, navigate to your dbt™️ project directory where `paradime_schedules.yml` is located.

| CLI command                                            | Description                                                                                                                                                     |
| ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `paradime schedule verify`                             | **Validate File Format -** This command checks the `paradime_schedules.yml` for formatting errors and outputs the result.                                       |
| `paradime schedule run`                                | **Run Schedule Locally** - To run all defined schedules based on your local context: (ie. based on your development environment and your current branch).       |
| `paradime schedule run &#x3C;schedule_name>`           | **Run Selected Schedule Locally -** To run the named schedule based on your local context: (ie. based on your development environment and your current branch). |
| `paradime schedule run --dry-run`                      | **Dry run** - To simulate all schedule executions without running dbt™️ models.                                                                                 |
| `paradime schedule run --dry-run &#x3C;schedule_name>` | **Dry run** - To simulate the named schedule executions without running dbt™️ models.                                                                           |


## Related topics

- [Triggering from Bolt](/products/dino-ai/programmable-agents/triggering-from-bolt.md)
- [bolt-ci-healer](/guides/programmable-agents/bolt-ci-healer.md)
- [Bolt Pipeline Healer](/guides/programmable-agents/bolt-pipeline-healer.md)
- [Tools Reference](/products/dino-ai/programmable-agents/tools-reference.md)
- [API Reference](/developers/graphql-api/api-reference/index.md)
