# Schedule a report

Schedule a report to run at regular intervals, on certain dates and times, and in different formats.

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

## Schedule single time to run report

To schedule a report, 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 report file that you want to schedule and then select that folder.
4. In the rightmost side of the report'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 report 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 report 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. The schedule name is also the name of the report that is generated when the schedule runs.                                                                                                                                                                                                                                                |
   | **Append timestamp to content?**        | Appends a timestamp to the report name.                                                                                                                                                                                                                                                                                                                                       |
   | **Timestamp Format**                    | Specifies the format to use when the **Append timestamp to content?** toggle is turned on. You must select the format from the **Timestamp Format** list.                                                                                                                                                                                                                     |
   | **Generated content location**          | Specifies where the report is saved.                                                                                                                                                                                                                                                                                                                                          |
   | **Overwrite files with the same name?** | Specifies whether to overwrite reports with the same name as the report being generated by the schedule.                                                                                                                                                                                                                                                                      |
   | **Change schedule ownership**           | <p>Specifies the user that owns the schedule. </p><p>To select a user as the new owner, they must have all of the following permissions:</p><ul><li>Schedule Content role</li><li>Access to the source file</li><li>If it is specified, access to the <strong>Generated content location</strong> </li></ul><p>By default, the user that creates a schedule is the owner.</p> |
9. In the **Parameters** section, specify the following options:&#x20;

   | Option               | Description                                                                                                                                                                                                                                                                                                                                                                                                          |
   | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   | **Period Selection** | <p>Specifies a time period for the report data. For example, to report on data from the past week, select <strong>Last 7 Days</strong>. You can select from the following periods:</p><ul><li><strong>Last 24 Hours</strong></li><li><strong>Last 7 Days</strong></li><li><strong>Last 30 Days</strong></li><li><strong>All Time</strong></li></ul>                                                                  |
   | **Output Type**      | <p>Specifies the output type used when the report is generated. You can output a report as any of the following types:</p><ul><li><strong>HTML (Paginated)</strong></li><li><strong>HTML (Single Page)</strong></li><li><strong>HTML (Email)</strong></li><li><strong>PDF</strong></li><li><strong>Excel</strong></li><li><strong>Comma Separated Value</strong></li><li><strong>Rich-Text-Format</strong></li></ul> |

   <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 report

To schedule a report, 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 report 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 report 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 report 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. The schedule name is also the name of the file that is generated when the schedule runs.                                                                                                                                                                                                                                                  |
    | **Append timestamp to content?**        | Appends a timestamp to the generated file name.                                                                                                                                                                                                                                                                                                                               |
    | **Timestamp Format**                    | Specifies the format to use when the **Append timestamp to content?** toggle is turned on. You must select the format from the **Timestamp Format** list.                                                                                                                                                                                                                     |
    | **Generated content location**          | Specifies where the generated file is saved.                                                                                                                                                                                                                                                                                                                                  |
    | **Overwrite files with the same name?** | Specifies whether to overwrite files with the same name as the file being generated by the schedule.                                                                                                                                                                                                                                                                          |
    | **Change schedule ownership**           | <p>Specifies the user that owns the schedule. </p><p>To select a user as the new owner, they must have all of the following permissions:</p><ul><li>Schedule Content role</li><li>Access to the source file</li><li>If it is specified, access to the <strong>Generated content location</strong> </li></ul><p>By default, the user that creates a schedule is the owner.</p> |
12. In the **Parameters** section, specify the following options:&#x20;

    | Option               | Description                                                                                                                                                                                                                                                                                                                                                                                                          |
    | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Period Selection** | <p>Specifies a time period for the report data. For example, to report on data from the past week, select <strong>Last 7 Days</strong>. You can select from the following periods:</p><ul><li><strong>Last 24 Hours</strong></li><li><strong>Last 7 Days</strong></li><li><strong>Last 30 Days</strong></li><li><strong>All Time</strong></li></ul>                                                                  |
    | **Output Type**      | <p>Specifies the output type used when the report is generated. You can output a report as any of the following types:</p><ul><li><strong>HTML (Paginated)</strong></li><li><strong>HTML (Single Page)</strong></li><li><strong>HTML (Email)</strong></li><li><strong>PDF</strong></li><li><strong>Excel</strong></li><li><strong>Comma Separated Value</strong></li><li><strong>Rich-Text-Format</strong></li></ul> |

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