---
version: "2026.1.0"
language: "en"
---
# Schedules

If you need your automation flows to run at specific times without manual intervention, **Schedules** help you plan and execute flows automatically, at fixed times, at regular intervals, or on demand.

In this article, you will learn what a schedule is, when to use it, and how to create and configure one step by step.

## What is a Schedule?

A **Schedule** defines when a group of automation flows from a [Run List](https://docs.leapwork.com/leapwork-flow/latest/working-with-leapwork/run-lists.md) should be executed and on which [Agents](https://docs.leapwork.com/leapwork-flow/latest/working-with-leapwork/agents-overview.md). Schedules can be triggered:

* **On demand**: Manually or via API

* **Automatically**: At specific times or on a recurring basis

Once created, schedules are saved in the [Controller](https://docs.leapwork.com/leapwork-flow/latest/what-is-leapwork/architecture-overview.md), which is responsible for keeping track of them and executing them on the target environments. You create schedules in Leapwork Flow, and the Controller runs them.

Schedules are associated with Run Lists and can be accessed from the top menu of Run Lists section:  
![image-20260527-070703.png](https://docs.leapwork.com/__attachments/a_cad63c845e180fda076c32745662d853db3e84d95e3224cfb3cf641bb53d2225/image-20260527-070703.png?cb=810529a61a0d8abf1555cb0d2b67e998)

## Why use Schedules?

The **Leapwork scheduler** provides centralized control over the execution of automation flows, helping to optimize both time and resources. It supports:

* Granular control of when [flows](https://docs.leapwork.com/leapwork-flow/latest/working-with-leapwork/designing-automation-flows/sub-flows.md) run, at specific times of day, in specific time zones

* Automatic calculation of estimated run time, based on historical performance and parallelization options

* Control over recurring schedules, including **working hours** , **queue handling** , and **conflict resolution**

* Easy parallelization, flows can be distributed across selected Agents or run on all simultaneously

* Handling of busy Agents through queue or skip logic

* The ability to stop a run immediately if a flow fails or exceeds a threshold

## Common use cases

Schedules are commonly used to:

* Run large collections of test flows against development or QA environments

* Trigger business processes at specific times

* Execute flows automatically via the public [REST API](https://docs.leapwork.com/leapwork-flow/latest/public-rest-apis/api-endpoints.md)

* Run the same flows in different configurations (e.g., *browsers, environments, OS*)

* Run nightly regression tests while the team is offline or start a weekly data sync every Monday at 6 AM. This allows teams to automate repetitive tasks and ensure consistency without manual oversight.

You can design flows once and configure them to run automatically in different conditions, without further manual input.

## Create a new Schedule

Follow these steps to configure and activate a schedule:

1. In Leapwork Flow, open the **Run Lists** section from the left-hand side menu.

2. Double-click the **Run List** you want to schedule.

3. Click the **Schedules** button from the top bar.

4. Select New Schedule from the popup. This opens the schedule configuration window.

![image-20260527-070738.png](https://docs.leapwork.com/__attachments/a_c32fa811968b5edc6a211a506783e70340a0d38a8d0a0b6ca4c31337350944f9/image-20260527-070738.png?cb=ac82a42785485bc91278b236df327b89)

5. Provide a descriptive title that reflects the purpose of the schedule.

![image-20260527-071017.png](https://docs.leapwork.com/__attachments/a_10917d648e705feaa86a4d4e5d7700326473efba82b78998fd8d58737f98f563/image-20260527-071017.png?cb=132745da216f9a7dc6a64c2e24bcd893)

6. Select the run type from the **Trigger** drop-down.

| **Run Type**  |                                                         **Description**                                                          |
|---------------|----------------------------------------------------------------------------------------------------------------------------------|
| **On Demand** | The schedule will not be run unless someone explicitly clicks the **Run Now** button or triggers it to run through the REST API. |
| **Scheduled** | Time-based triggers for the schedule.                                                                                            |

For the **Scheduled** run type, the following parameters should be specified:  

| **Parameter**  |                                                                                                                                                                                                                                                         **Description**                                                                                                                                                                                                                                                         |
|----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Time zone**  | Select from the **Time zone** dropdown to specify when the schedule should run.                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **Start time** | The **Start time**specifies when the schedule should begin. For recurring schedules, this defines the start point for the repetition pattern.                                                                                                                                                                                                                                                                                                                                                                                   |
| **Recurring**  | The option to define whether a single trigger or multiple triggers at regular intervals are required. * **No recurrence:**Runs only once. * **Every X Seconds/Minutes/Hours/Days/Weeks/Months:** Runs at a fixed interval (e.g., *every 1440 minutes*). * **After last run with X seconds delay:** Loops the execution with a pause between runs. * **Working hours:**Limit when the schedule is allowed to run: * **Every day, all time:** Runs 24/7 with no restrictions * **Custom:** Choose specific days and time windows. |
| **End Time**   | The **End time** is the last time when a run can start and is available only in the case of a recurring schedule.                                                                                                                                                                                                                                                                                                                                                                                                               |

7. Choose the [Agents](https://docs.leapwork.com/leapwork-flow/latest/working-with-leapwork/agents-overview.md) that will execute the scheduled flows. Select from the available distribution:

![image-20260527-072149.png](https://docs.leapwork.com/__attachments/a_00b7dded1dbc6a5929aa8c690503aa69e9a3463050730cd6ec906d3b3b822ef5/image-20260527-072149.png?cb=fcb71280bd26448b162cb21a926402f6)

**All flows on each Agent (when all are available)**

The entire Run List is executed on **each** selected Agent.
Use case:  
Ideal when you want to validate that the same flows run correctly across different Agent environments, such as different operating systems, browsers, or cloud setups.

1. **Divide flows on each Agent (when all are available):**The flows in the Run List are distributed evenly across all selected Agents.

   **Use case:** Efficient when you want to reduce total execution time by running flows in parallel, with each Agent responsible for part of the workload.

2. **All flows on first available Agent:**Only one Agent is selected, the first one that becomes available. That Agent will run the entire Run List.

   **Use case:**Best suited when only one execution is needed, and it's acceptable to let any free Agent handle the full workload.

**Example:**

This example uses a Run List with four flows (Flow A, Flow B, Flow C, and Flow D), and four available Agents:

* Remote Agent

* Leapwork Cloud Agent

* BrowserStack

* GridLastic

|      **Agent**       | **All flows on each Agent** | **Divide flows on each Agent** | **First available** |
|----------------------|-----------------------------|--------------------------------|---------------------|
| Remote Agent         | Flow A, B, C, D             | Flow A                         | Busy                |
| Leapwork Cloud Agent | Flow A, B, C, D             | Flow B                         | Flow A, B, C, D     |
| BrowserStack         | Flow A, B, C, D             | Flow C                         | Busy                |
| GridLastic           | Flow A, B, C, D             | Flow D                         | Busy                |

8. Choose how flows should run:

   * **Run in order:** Follows the sequence defined in the Run List.

   * **Run in random order:** Shuffles flow execution order.

9. Click the **Variables** section and define one or more entries to assign dynamic input values to your flows. Each variable consists of a **name** and a **value**, and these can be referenced inside the automation flows included in the schedule.

A single flow can behave differently depending on which schedule triggered it, for example, using different environments, credentials, or configurations.  
![image-20260527-072416.png](https://docs.leapwork.com/__attachments/a_27b093ab70dbbb3d1113068413a5e84afbaff32372d46bab07d043cc6a9014b9/image-20260527-072416.png?cb=ef95bd0043df5f814e8cf11b772bc97d)

10. To define automated responses based on execution results, go to the **Actions** section and add one or more actions. For each action:

![image-20260527-072513.png](https://docs.leapwork.com/__attachments/a_2e1f5bc69e8a516b5aa684ffa4dc591a4c79f61ce78c88339d774b4e75db54f4/image-20260527-072513.png?cb=a3d4f7bd32df7bd52dba991893c94d04)

a. Select a **condition** from the dropdown.

* **When automation run is completed**

* **When have failed more than** (you'll define how many flows must fail)

* **When have passed more than** (define the number of passed flows)

* **When automation run is completed but has taken longer than** (define duration in minutes)

* **When any flow in automation run has taken longer than** (also define time in minutes)

b. Choose the **action type**.  
![image-20260527-072610.png](https://docs.leapwork.com/__attachments/a_d1fd8803f6bb18bc7394d8457d1124863ab2ee142bb537e28e5d738e957d10d7/image-20260527-072610.png?cb=42e467fbf8cab44ef9f361ea2f786d02)

* **Send email.**Opens fields for:

  * Email address (recipient)

  * Subject

  * Text body.

* **Send HTTP(S) request.**Depending on the selected method (GET, POST, PUT, PATCH, DELETE), different fields will be shown:

  * **GET / DELETE** → URL, Headers.

  * **POST / PUT / PATCH** → URL, Headers, variables.

* **Run PowerShell script on Controller.**Opens fields for:

  * **Command**

  * (Optional) **Username**

  * (Optional) **Password.**

c. In supported text fields, such as **Text** , **URL** , **Headers** , **Post variables** , **User** , and **Command,** you can **right-click** and choose to insert:

* A **predefined token**, which dynamically includes data from the run.

![image-20260527-091300.png](https://docs.leapwork.com/__attachments/a_41031f74502e8ecb2bc26ba5bf57c9fd47ce02eafd14b8dfb563eca25ed93e8a/image-20260527-091300.png?cb=ac1096b034fe84c5d30f97e450a4123e)

* A **custom variable** defined earlier in the schedule.

![Untitled design (8).jpg](https://docs.leapwork.com/__attachments/a_11fa28e4b81fb8a4494b8fba3b8a2023043155d447c2c3fcd8f51a8b57642a0b/Untitled%20design%20(8).jpg?cb=6fc44ed6876099a4ab73e408c3d493e2)

This allows you to personalize messages, payloads, or scripts with context from the current execution. Here are the available tokens:  

|       **Token**       |                                                                      **Description**                                                                       |
|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|
| \[CONDITION\]         | This is the condition selected from dropdown while setting the Action for the Schedule.                                                                    |
| \[FAILED FLOWS LIST\] | Gives a list of flows which have been failed.                                                                                                              |
| \[FLOWS DONE\]        | Gives a count of flows which have been completed.                                                                                                          |
| \[FLOWS FAILED\]      | Gives a count of flows which have been failed.                                                                                                             |
| \[FLOWS PASSED\]      | Gives a count of flows which have been passed.                                                                                                             |
| \[RESULTS-JSON\]      | Gives a result in a JSON format.                                                                                                                           |
| \[RESULTS-TABLE\]     | Gives the result in tabular format having list of flows along with their execution status. It also gives the number of flows completed, failed and passed. |
| \[RESULTS-VIDEO\]     | Gives the location where the video file of execution of flow is saved.                                                                                     |
| \[RUN LIST NAME\]     | Gives the name of the run list executed.                                                                                                                   |
| \[SCHEDULE NAME\]     | Gives the name of schedule executed.                                                                                                                       |
| \[START TIME\]        | Gives a date and time when schedule was started.                                                                                                           |
| \[TIME TAKEN\]        | Gives a time taken for execution of the flows in run list.                                                                                                 |

[Explore integrations with Leapwork](https://www.leapwork.com/services/learning-center/integrations)

11. Configure optional execution behaviors by clicking **Settings**:

The settings are as follows:  
* **When schedule is already running**:

  * Queue next run

  * Skip next run

  * Stop current run and start next

* **When selected agent is busy**

  * Queue runs

  * Skip run

* **Reserve agent strategy**

  * **All agents for step before starting step** -- All assigned Agents must be free before the next step starts

  * **All agents for all steps before starting scheduler** -- All required Agents across all steps must be available before execution starts

    **Example:** If a schedule is configured to run across 3 Agents using the "All agents for all steps" strategy, and only 2 Agents are currently free, the schedule will wait until the third is also available. This ensures full parallel execution as designed.
* **Error handling**

  * Stop run if it exceeds a certain % of estimated time

  * Stop run if it exceeds a fixed number of minutes

  * Stop and disable schedule if flows fail

12. Select the **Flow Report type (Enterprise editions only)**:

    1. **None** (default): No PDF report will be generated.

    2. **Detailed**(Coming soon): Currently disabled; will be available in a future release with a more detailed breakdown of flow contents.

![image-20260527-091415.png](https://docs.leapwork.com/__attachments/a_775b1b1b0a814d2a21695272be781fbd328a564d1b968689d5c4972d5c9d1e3e/image-20260527-091415.png?cb=349bdcf6f3e5262a26f7bd16d669e321)

**Notes:**

* Only applies to **successful** scheduled runs.

* Does **not** affect manual or preview executions.

* Available **only for Admin users** . **Contributors and Readers** will not see or be able to modify this setting.

13. Click**Apply**to create the schedule.

Once applied, the schedule appears in the **Schedules** list. If the schedule is active, the **Next Run Time** is displayed.

To execute the schedule manually, right-click the schedule and select **Run Now**.