# 5. Set up a pipeline

After you've done creating and polishing the models, you can finally wrap the workflow in a pipeline and create a job to schedule the execution of the workflow. This ensures your transformations are reproducible and reliable every time they run.

## Publish the models

Before creating a pipeline from the models, you need to publish them. Publishing models or any assets before using them in pipelines ensures reproducibility, makes dependencies clear, and enables parallel development across teams.

Open each model in the editor and follow these steps:

1. In the top-right corner, click **Publish**.

   <figure><img src="/files/EiTNNyY9eVwrV5gqi2Fe" alt=""><figcaption></figcaption></figure>

2. Provide a version number and description.

   For the first publish, we'll leave it as default.

   <figure><img src="/files/uU5tVv35Zpj9la4L3EQA" alt="" width="375"><figcaption></figcaption></figure>

3. Click **Publish**.

The models are now ready for use in a pipeline.

## Create a pipeline

Follow these steps:

1. Switch to the **Pipelines** tab.
2. Click on the **+** icon and select **Creating modeling pipeline.**

   <figure><img src="/files/KkQUlt5z68PWK4k2w884" alt=""><figcaption></figcaption></figure>
3. Provide the name for your pipeline.
4. Select the models that the pipeline should contain.&#x20;

   Here we add the three models set up in the previous step.

   <figure><img src="/files/DD6ZrWaFCibjXaWxuHiZ" alt=""><figcaption></figcaption></figure>
5. Click **Confirm**.

   The new modeling pipeline is then added under the **Models** folder and presented in the DAG view.

   <figure><img src="/files/kOcKZmlia63MAVflEH7I" alt=""><figcaption></figcaption></figure>
6. Click **Publish**.&#x20;

## Create a job

Now that the pipeline is created and published, you can create a job to schedule execution time. Follow these steps:

1. Open the pipeline that you've created.
2. Switch to the **Jobs** tab and click **+ Create a job**.
3. Provide the configuration for the job.

{% tabs %}
{% tab title="1. Detail" %}
Provide the name, select the target environment, and customize the associated model variables.

Since we've executed and verified the models using the console. We now can select the **Production** environment to run the transform against the production database.

<figure><img src="/files/LP1FaRqw4jBw540WhwSw" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="2. Schedule" %}
Provide the time schedule for the job and the trigger type:

* Standard setup: trigger the run at a specific time between certain intervals.
* Advanced setup: specify the schedule in crontab format, for those familiar with the `cron` scheduler. See: [Cron](https://en.wikipedia.org/wiki/Cron).
* Manually trigger: no scheduling and can be manually triggered in the **Pipeline Health** dashboard. See: [Pipeline health](/health-tracking/pipeline-health.md).

<figure><img src="/files/YWMzw5b1Oc9EmEGAvwNy" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="3. Notification" %}
Here you can configure notifications on job failure. By default, notifications are sent by email.

<figure><img src="/files/KqpF9eVuTphEiCypAupH" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

4. Click **Create**.&#x20;

The new job will be displayed in the **Jobs** section. ReOrc will execute the job at the scheduled time.

<figure><img src="/files/P5ff2H3pBD1qBrMJQJnk" alt=""><figcaption></figcaption></figure>

You can the execution status and progress of the job in the [**Pipeline health** dashboard. ](/health-tracking/pipeline-health.md)

{% hint style="success" %}
Congratulations! You have completed building a data workflow with ReOrc.
{% endhint %}

For the next step, you can explore in detail each feature and module:

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Connections</strong></td><td>Learn about the available connections</td><td></td><td><a href="/pages/DT07FCGpl37SnDAJcF7Y">/pages/DT07FCGpl37SnDAJcF7Y</a></td></tr><tr><td><strong>Data modeling</strong></td><td>Learn about the core assets in data modeling</td><td></td><td><a href="/pages/6cs9PuthpoQgIpIqEQxh">/pages/6cs9PuthpoQgIpIqEQxh</a></td></tr><tr><td><strong>Health tracking</strong></td><td>Explore the health tracking dashboard</td><td></td><td><a href="/pages/CMT05Q74cynVSGxLj4OD">/pages/CMT05Q74cynVSGxLj4OD</a></td></tr></tbody></table>


---

# 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.reorc.com/getting-started/5.-set-up-a-pipeline.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.
