# Schedule a transformation or job

Schedule a transformation or job to ensure consistent and reliable execution, optimize performance during off-peak hours, and maintain centralized control with flexible scheduling and auditing.

You can schedule a transformation or job to run a single time or on a recurring schedule.

## Schedule single time to run transformation or job

To schedule a transformation or job, complete the following steps:

1. Log into the Pentaho User Console (PUC).

2. Open the **Browse Files** component by taking one of the following actions:&#x20;

   1. If you are using the **Modern Design** of PUC, in the menu on the left side of the page, click Browse Files.&#x20;
   2. If you are using the **Classic Design** of PUC, click **Switch to Modern Design**, and then select **Browse Files**.&#x20;

   The **Browse Files** component opens.

3. In the **Folders** pane, expand folders to find the one that contains the transformation or job file that you want to schedule and then select that folder.

4. In the rightmost side of the transformation or job's row, click the **More Actions** icon, and select **Schedule**. The **Create Schedule** window opens.&#x20;

5. In the **Schedule Plan** section, select **Single Schedule**.

6. (Optional) To run a schedule in the context of a project, in the **Select Content to Schedule** section, take the following actions: &#x20;
   1. Click **Select Project**. If you are scheduling a transformation or job that is already in a project folder, the path to the project folder is pre-populated and you do not need to select a project. However, you can select a different project to run the transformation or job in that context instead.
   2. In the **Select Project** window, browse to or search for the project by name.
   3. Select the project and click **Submit**.

7. In the **Start time** section, specify when the transformation or job begins running by configuring the following options:
   * **Timezone**
   * **Start date**
   * **Start time** and **AM** or **PM**

8. In the **Schedule Details** section, add schedule details by configuring the following options:&#x20;

   | Option                                  | Description                                                                                                                                                                                                                                                                     |
   | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   | **Schedule name**                       | Specifies the name of the schedule.                                                                                                                                                                                                                                             |
   | **Append timestamp to content?**        | This option does not apply to transformations (`.ktr`) or jobs (`.kjb`).                                                                                                                                                                                                        |
   | **Timestamp Format**                    | This option does not apply to transformations (`.ktr`) or jobs (`.kjb`).                                                                                                                                                                                                        |
   | **Generated content location**          | This option does not apply to transformations (`.ktr`) or jobs (`.kjb`).                                                                                                                                                                                                        |
   | **Overwrite files with the same name?** | This option does not apply to transformations (`.ktr`) or jobs (`.kjb`).                                                                                                                                                                                                        |
   | **Change schedule ownership**           | <p>Specifies the user that owns the schedule. </p><p>To select a user as the new owner, they must have the following permissions:</p><ul><li>Schedule Content role</li><li>Access to the source file</li></ul><p>By default, the user that creates a schedule is the owner.</p> |

9. (Optional) In the **Parameters** section, update parameters, variables, or arguments that you specified in the transformation or job. Parameters are applied when the transformation or job is run. Some parameters cannot be edited.&#x20;

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note:</strong> If you have already configured email notifications in the Classic Design of PUC, the <strong>Send Schedule copy by Email</strong> toggle is turned on. You cannot edit this option.</p></div>

10. Click **Schedule**. The schedule is created.

11. Click **Okay** to view your list of schedules.

## Configure recurring schedule to run transformation or job

To schedule a transformation or job, complete the following steps:

1. Log into the Pentaho User Console (PUC).
2. Open the **Browse Files** component by taking one of the following actions:&#x20;

   1. If you are using the **Modern Design** of PUC, in the menu on the left side of the page, click Browse Files.&#x20;
   2. If you are using the **Classic Design** of PUC, click **Switch to Modern Design**, and then select **Browse Files**.&#x20;

   The **Browse Files** component opens.
3. In the **Folders** pane, expand folders to find the one that contains the transformation or job file that you want to schedule and then select that folder.
4. In the rightmost side of its row, click the **More Actions** icon, and select **Schedule**. The **Create Schedule** window opens.
5. In the **Schedule Plan** section, select **Recurring Schedule**.
6. In the **Recurrence Pattern** section, select one of the following options:&#x20;
   1. **Simple Scheduler**: Configure schedules at fixed intervals (example: every 10 seconds).
   2. **Cron Scheduler**: Define schedules with Quartz cron expressions.
7. (Optional) To run a schedule in the context of a project, in the **Select Content to Schedule** section, take the following actions: &#x20;
   1. Click **Select Project**. If you are scheduling a transformation or job that is already in a project folder, the path to the project folder is pre-populated and you do not need to select a project. However, you can select a different project to run the transformation or job in that context instead.
   2. In the **Select Project** window, browse to or search for the project by name.
   3. Select the project and click **Submit**.
8. In the **Start time** section, specify when the transformation or job begins running by configuring the following options:
   * **Timezone**
   * **Start date**
   * **Start time** and **AM** or **PM**
9. In the **End of recurrence** section, choose one of the following options:
   * **Never**: Schedule never stops repeating.
   * **On a specified end date**: Schedule stops repeating on the **End date** that you specify.
10. In the **Set Schedule Frequency** section, take one of the following actions:&#x20;
    * Select one of the following options from the quick set:
      * **Every Weekday**
      * **Every Week**
      * **Every Month**
      * **Every Year**
    * Specify how often the schedule should run by doing the following:&#x20;
      1. In the **Recurrence** box, select the time unit that you want to use for configuring the recurrence. Additional options appear depending on the time unit you select.
      2. Configure the options for the time unit that you selected for the recurrence:&#x20;
         * **Seconds, Minutes, or Hours:** In **Repeats every**, enter the number of seconds between each recurrence.
         * **Daily:** In **Repeats every**, enter the number of days between each recurrence and then do the following:
           * If **1** day, select **Weekdays only** or **Includes weekends**.
           * If more than 1 day and you want to ignore daylight saving time, select **Ignore days saving adjustment (Use 24 hour interval)**.
         * **Weekly:** In **Day of the Week** select one or more days for the schedule.
         * **Monthly**:&#x20;
           * In **On the**, select the ordinal day.

             <div data-gb-custom-block data-tag="hint" data-style="warning" class="hint hint-warning"><p><strong>Important</strong>: If you select a day that exceeds the number of days in a month, the schedule will not run in that month. For example, you select the 31st day, the schedule runs only in the seven months with 31 days. It will not run in the five months with 30 or fewer days.</p></div>
           * If you selected **day**, specify the **Day of the Month;** otherwise, select the **Day of the Week**.
         * If you selected **Yearly**, do the following:
           * In **On**, select the month.
           * In **On the**, select the ordinal day.
           * If you selected day, specify the **Day of the Month**; otherwise, select the **Day of the Week**.
11. In the **Schedule Details** section, add schedule details by configuring the following options:&#x20;

    | Option                                  | Description                                                                                                                                                                                                                                                                     |
    | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Schedule name**                       | Specifies the name of the schedule.                                                                                                                                                                                                                                             |
    | **Append timestamp to content?**        | This option does not apply to transformations (`.ktr`) or jobs (`.kjb`).                                                                                                                                                                                                        |
    | **Timestamp Format**                    | This option does not apply to transformations (`.ktr`) or jobs (`.kjb`).                                                                                                                                                                                                        |
    | **Generated content location**          | This option does not apply to transformations (`.ktr`) or jobs (`.kjb`).                                                                                                                                                                                                        |
    | **Overwrite files with the same name?** | This option does not apply to transformations (`.ktr`) or jobs (`.kjb`).                                                                                                                                                                                                        |
    | **Change schedule ownership**           | <p>Specifies the user that owns the schedule. </p><p>To select a user as the new owner, they must have the following permissions:</p><ul><li>Schedule Content role</li><li>Access to the source file</li></ul><p>By default, the user that creates a schedule is the owner.</p> |
12. (Optional) In the **Parameters** section, update parameters, variables, or arguments that you specified in the transformation or job. Parameters are applied when the transformation or job is run. Some parameters cannot be edited.&#x20;

    <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p><strong>Note:</strong> If you have already configured email notifications in the Classic Design of PUC, the <strong>Send Schedule copy by Email</strong> toggle is turned on. You cannot edit this option.</p></div>
13. Click **Schedule**. The schedule is created.
14. Click **Okay** to view your list of schedules.


---

# 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.pentaho.com/pba/pentaho-user-console/modern-design/scheduler/schedule-a-transformation-or-job.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.
