Paradime Help Docs
Ask or search…
K

Create your first dbt™️ schedule

Creating your Paradime schedules file in your repository

Coming from dbt Cloud™️? Import all your dbt™️ jobs with one click. See our doc here.
Paradime offers two distinct methods for running dbt™️ schedules in production:
  • UI-Based Schedules: Create, edit, and update your dbt™️ schedules within the user interface. All the configurations available in the YAML-based schedule are available in the UI.
  • YAML-Based Schedules: Create, edit, and update your dbt™️ schedules in the paradime_schedules.yml file, which is located in your Git repository.
Cron schedules are always based on UTC.
UI-Based Schedules
YAML-Based Schedules

UI-Based Schedules

To create a UI-Based schedule, go to Bolt on the home screen and click + New Schedule.
Afterwards, fill out the various fields to complete your first schedule.
For additional details, watch the demo, and read more about the available fields.

UI-Based Schedule Fields

Fields
Description
Example
Required?
Type
The execution type for your scheduled dbt™ run: Standard, deferred, or Turbo CI.
Standard
Name
The specific name to identify your dbt™ schedule
hourly_schedule
Commands
Specify which dbt™ commands this job should execute. You can execute multiple commands in a sequence.
dbt run and/or dbt test
Git Branch
Specify a branch name from your repo other than your default branch.
main
Owner Email
Specify a job owner of the schedule
Cron Schedule
You can use "cron" syntax to specify how often you'd like the job to run. Check also crontab.guru. You can also set this to OFF if you want a schedule to be triggered only manually from the UI.
@hourly
Slack Notify On
Configure when you want a notification to be sent to Slack based on the status of the run when completed (Passed or failed).
failed and/or passed
Slack Channels and Users
Choose the specific slack channels and users to receive the alert. This is dependent on "Slack Notify On".
#data-team-alerts
Emily Notify On
Configure when you want a notification to be sent via email based on the status of the run when completed (Passed or failed).
failed and/or passed
Email Notify
Choose the email addresses to receive the alert. This is dependent on "Email Notify On".

YAML-Based Schedules

Paradime scheduler will always use the configurations in your paradime_schedules.yml from your git repo default branch (Usually this is referred as the Main branch).
Make sure that the version of the file with up to date configurations is always merged into your remote default branch.
This file is used to define your Bolt jobs specifications to run dbt™️ on a schedules. Make sure that this file sits in you dbt™️ project root level, this is usually in the same directory where your dbt_project.yml sits.
Bolt updates this list every 10 minutes when the Paradime scheduler parses the paradime_schedules.yml as per your origin/default branch.

YAML-based schedule Parameters

Parameters
Description
Example
name
This is the name to identify your job schedules.
weekly_run
schedule
This is to configure when a job should run. You can use "cron" syntax to specify when you'd like the job to run. Check also crontab.guru. You can also set this to OFF if you want a schedule to be triggered only manually from the UI.
@weekly
environment
This is to choose the environment to use when running your models. Only production is allowed.
production
commands
This is to specify which dbt™ commands this job should execute. You can execute multiple commands in a sequence.
dbt run or dbt test
git_branch
This field is optional and can be used to specify a branch name from your repo other than your default branch. If not required simply don't include this parameter in your configuration.
main-finance
owner_email
This is to specify a job owner email to each configured paradime schedule. If not required simply don't include this parameter in your configuration.
slack_on
This is to configure when you want a notification to be sent to Slack based on the status of the run when completed. This requires that the Paradime Slack App is connected to your Slack workspace.
failed and/or passed
slack_notify
This is to configure who you want to be notified in Slack when a run is completed. This requires that the Paradime Slack App is connected to your Slack workspace and the slack_on configuration must be defined for the schedule run.
#data-team-alerts
email_on
This is to configure when you want a notification to be sent via email based on the status of the run when completed.
failed and/or passed
email_notify
This is to configure who you want to be notified when a run is completed.

Example paradime_schedules.yml configuration

The below parameters are used to configure each individual schedule in paradime.
paradime_schedules.yml
1
schedules:
2
- name: operations_run #the name of your schedule
3
schedule: "*/10 * * * *" #the schedule cron configuration or use "OFF" if you want to disable the schedule
4
environment: production #the environment used to run the schedule -> this is always production
5
commands: #the set of dbt commands you want to run in the schedule
6
- dbt seed
7
- dbt run
8
- dbt test
9
owner_email: "[email protected]" #the owner email
10
slack_on: #the configuration of when a notification is triggered. Here we want to send a notification when the run is completed either successfully or when failing
11
- passed
12
- failed
13
slack_notify: #the channel/user that will be notified
14
- "#data-alerts"
15
- "@john"
16
email_notify: #the email addresses that will be notified
19
email_on: #the configuration of when a notification is triggered. Here we want to send a notification when the run is completed either successfully or when failing
20
- passed
21
- failed
Using the terminal make sure to navigate into your dbt™️ project directory, where you paradime_schedules.yml sits before running any of the available commands.

Paradime schedules terminal commands

Validate the correct file format

paradime schedule verify
This command parses the paradime_schedules.yml and checks for any formatting error of your schedule file. It will output in the terminal whether the formatting is correct or if there are any errors in the terminal.

Run your schedule locally

This command runs all your defined schedules in the paradime_schedules.yml file based on your local context (ie. based on your development environment and your current branch).
paradime schedule run
You can also run this command in your terminal for only a selected schedule by adding your schedule name.
paradime schedule run hourly

Dry run

This command simulates the execution of a schedule without running any dbt™️ models against your database.
paradime schedule run --dry-run daily
Similarly to the paradime schedule run, this command supports a schedule selector to run the command for a specific schedule name. See the below example:
paradime schedule run --dry-run
📹️ See also our tutorial on creating your first schedule in paradime.