---
sourceDocument: Zurich Build workflows
sourceDocumentLink: https://www.servicenow.com/docs/r/zurich/build-workflows

 Release :

    - zurich

ft:locale :

    - en-US

ft:publication_title :

    - Zurich Build workflows

ft:clusterId :

    - crworkflow

bundleId :

    - crworkflow

workflow :

    - Creator


---

# Wait for a duration flow logic

# Wait for a duration flow logic {#ariaid-title1}

* Release version: Zurich
* 
* Updated July 31, 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 4 minutes to read

Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of Wait for a duration flow logic

The "Wait for a duration" flow logic in ServiceNow allows you to pause automated processes to give users time to act or to wait for specific dates and times before proceeding with actions.
This functionality is essential for workflows that require timed delays, scheduling, or waiting periods within business processes.
Show full answer Show less  

## Key Features

* **Duration Types:**
  * **Explicit Duration:** Wait for a fixed time period (e.g., 5 minutes).
  * **Relative Duration:** Wait for a time period based on a selected date/time or data pill (e.g., 5 minutes after flow start).
  * **Percentage Duration:** Wait for a percentage of the time between the start and a specified end time (percentage must be between 0 and 100).
* **Set Wait Duration:** You can manually enter a duration or select a duration data pill from the data pill picker, allowing dynamic wait times based on record data such as SLA duration.
* **Schedule Integration:** Optionally, select a schedule to calculate wait times in business hours (e.g., 8 a.m. to 5 p.m. weekdays), so wait durations align with working periods.
* **Handling Past Dates:** For Relative Duration, past dates do not extend wait times; durations end immediately if the date/time is in the past.
* **Output Data Pills:** Provides the total flow run time in milliseconds and the date/time when the wait completes, which can be used in subsequent flow actions.

## Practical Use Cases

* Automatically close an incident 10 days after it enters the resolved state.
* Wait 10 days after the last update on a record before executing further actions.
* Send notifications at a specific percentage of time elapsed between a record's creation and its due date, such as notifying a manager halfway through the problem resolution period.

## Relative Duration Behavior

The flow logic evaluates relative date/time, schedule, and duration in sequence:

* If the duration is zero or the relative date/time is in the past without a schedule, the wait ends immediately.
* If the relative date/time is future and a schedule is defined, the flow waits for the next scheduled time before starting the countdown.
* The timer respects scheduled working hours, delaying wait start until the schedule window begins (e.g., waits until Monday 8 a.m. if started on a weekend).

## Execution Details

The execution header shows the flow logic state, start time, and runtime (excluding the wait duration). Configuration details display variable types, configurations, and runtime values used within the flow.

## Why This Matters for ServiceNow Customers

This flow logic enables precise control over timing in automated workflows, improving process accuracy and user experience. It helps ensure that actions occur at appropriate times, respecting business hours and allowing for user response windows. By leveraging schedules and dynamic durations, customers can align automation with operational policies and SLAs effectively.  
Use this flow logic to give your users time to act during automated processes or to wait for a specific date and time to complete actions.

## Inputs {#flow-logic-wait-for-a-duration__section_rpz_sjt_p2b}

{#flow-logic-wait-for-a-duration__table_dzc_n4g_p2b__entry__2}

| Input | Description |
|-|-|
| Duration Type | * Explicit Duration: Wait for a specific time period, such as 5 minutes. * Relative Duration: Wait for a specific time period from a selected Duration data pill or date/time value, such as 5 minutes after the flow start. * Percentage Duration: Type to specify a certain percentage of time duration between the start of the flow logic and specified end time. Note: The percentage value must be from 0 through 100 only. {#flow-logic-wait-for-a-duration__ul_ixy_42f_ffb} |
| Wait for | Set this value manually or select a Duration data pill from the data pill picker (![Data pill picker]()). For example, use a Look Up Record action to select an SLA Definition record and return the value of the Duration field. * Explicit Duration: Wait duration in hours, minutes, and seconds. * Relative Duration: Wait duration in hours, minutes, and seconds before or after a specific time. Select Relative Duration to specify a wait duration from a specific date. Note: Past dates don't affect the wait duration. {#flow-logic-wait-for-a-duration__ul_mg2_ykw_fhb}You can enter a wait value of up to 999 hours. Note: The actual wait duration can vary due to the instance processing time. The flow always waits for the time that you specify for this field, but other work in the queue may add to the wait time. |
| Wait for Percentage | Wait duration as a percentage of the time period between the start of flow logic and specified end time. If you select a past date for the end time, the wait duration is set to 0. This field appears when Percentage Duration is selected from the Duration Type list. |
| During the following schedule | Select the schedule used to calculate the Scheduled End date/time value from the selected wait duration. For example, waiting for a 10-hour duration as part of an 8-5 weekdays schedule causes the flow to wait for one or more business days. If you leave this field blank, the timer runs without a schedule. For information on creating schedules, see [Define a schedule](https://www.servicenow.com/docs/access?context=t_DefineASchedule&version=zurich&pubname=zurich-platform-administration&ft:locale=en-US). |
[ ]

{#flow-logic-wait-for-a-duration__table_dzc_n4g_p2b}

## Outputs {#flow-logic-wait-for-a-duration__section_ixy_5jt_p2b}

{#flow-logic-wait-for-a-duration__table_mkh_xjt_p2b__entry__2}

| Output | Description |
|-|-|
| Duration | Total time that the flow ran in milliseconds. You can drag this data pill into the duration fields. |
| Date/time | Date/time that the flow completed. You can drag this data pill into the date/time fields. |
[ ]

{#flow-logic-wait-for-a-duration__table_mkh_xjt_p2b}  

## Close an incident if it has been in the resolved state for 10 days

In this example, a flow starts when the incident state changes to Resolved.
Figure 1. Flow trigger  

## Wait 10 days after the last update to a record

In this example, the flows waits for 10 days after the incident record has been resolved.
Figure 2. Wait for Duration flow logic  

## Update a record after 10 days

In this example, the flows closes the incident record 10 days after it was resolved.
Figure 3. Action used to close the incident  

## Wait for a duration of 50% of the time between the start of the flow logic and the due
date

In this example, the flows send a notification email to the relevant manager when a critical
problem is created and 50% of the time between the problem record creation and the problem due
date has lapsed.
Figure 4. Wait for percentage time duration flow logic

## Relative Duration type {#flow-logic-wait-for-a-duration__section_u3n_z5k_ffb}

When the duration type is Relative Duration, the flow logic first
evaluates the relative date and time, the schedule, and finally, the duration. Schedules, dates,
and times set in the past don't affect the wait duration. This table provides examples of how
the flow processes the wait duration in these scenarios.
{#flow-logic-wait-for-a-duration__table_n14_jwl_w2b__entry__4}

| Duration Setting | Relative Date/Time | Schedule | Effect |
|-|-|-|-|
| Set to 0. | None | None | Duration ends immediately. |
| Greater than 0. | Past date | None | Duration ends immediately. |
| Greater than 0. | Future date | None | Flow waits for the date/time, and then waits for the duration. |
| Greater than 0. | Past date | Future date | Flow waits for schedule, and then waits for the duration. |
| Greater than 0. | Future date | Past date | Flow waits for the date/time, and then waits for the duration. |
| Greater than 0. | Future date | Future date | Flow waits for the future date, then for the schedule, and then for the duration. |
[ ]

{#flow-logic-wait-for-a-duration__table_n14_jwl_w2b}

The timer waits for the next instance of a selected schedule. For example, if you set a
schedule for Monday through Friday from 8 a.m. to 5 p.m., and the timer is initiated on
Saturday, the timer waits until Monday at 8 a.m. before starting.

## Execution details {#flow-logic-wait-for-a-duration__section_j3h_rwr_r2b}

Figure 5. Execution details for Wait for a duration flow logic  
1. The header shows the state, start time, and runtime for the flow logic.  
   Note:  
   The runtime value in the header only includes the time that it takes to execute the flow logic and doesn't include the wait duration that is specified in the flow.
2. The Configuration Details section shows details about the variables that are used by the flow, including the type, configuration, and runtime values for each variable.
{#flow-logic-wait-for-a-duration__ol_wtt_scs_r2b}
**Related concepts**   

* [Assign subflow outputs flow logic](https://www.servicenow.com/docs/aVCFueowGIk3GW1q7TD2pQ "Specify the data the subflow returns when it completes running. Use subflow output as data for a parent flow or as input for another process.")
* [Call a workflow flow logic](https://www.servicenow.com/docs/n4HLl~zz1YzPAjh2527KSw "Run a published and active workflow from your flow. You can use the flow data as a workflow input. For example, you can specify the current record as a workflow input.")
* [Do the following until flow logic](https://www.servicenow.com/docs/zvOtf_IgQ8BqtMXOTpUQiA "Apply one or more actions repeatedly until an end condition is met. You can use the flow data to specify the end conditions.")
* [Do the following in parallel flow logic](https://www.servicenow.com/docs/h7GYP1kqLz8WBIJ9ZsjsUw "Run actions and subflows in separate paths within an isolated flow logic block.")
* [Dynamic flows flow logic](https://www.servicenow.com/docs/4ayg_Jn_dFlGemNr0DGXrQ "Identify and run a flow or subflow dynamically by using runtime data. Build templates to provide expected inputs for dynamically called flows or subflows.")
* [End Flow flow logic](https://www.servicenow.com/docs/ugyKabFGM~9Ep4W9TBOQpw "Stop running the current flow. Use End Flow within a branch of the flow to specify an exit condition. For example, end the flow when it reaches a specific If flow logic block.")
* [For Each flow logic](https://www.servicenow.com/docs/p4Nj9Qj05grn6Omrr6XPBg "Apply one or more actions to each record in a list of records.")
* [If flow logic](https://www.servicenow.com/docs/Sejns7UY0JgMnmq5Hdb3vQ "Selectively apply one or more actions only when a list of conditions is met.")
* [Make a decision flow logic](https://www.servicenow.com/docs/UG1ybSIlbYr4BasTZdnV9Q "You can use the decision table branching logic in situations where multiple conditional paths are required, as an alternative to nested If, Else If, or Else flow logic. For example, if you want to determine what kind of car insurance you need, you can add inputs such as your age, accident history, and car model to the decision table to determine a level of insurance coverage. This logic can save you time and present a more readable format than nested if conditions or switch case statements.")
* [Set Flow Variables flow logic](https://www.servicenow.com/docs/opSl92QZLFEUydwnt8AKww "Assign a value to one or more flow variables, which store flow data as data pills. Access flow variable values by referring to their data pill.")
* [Try flow logic](https://www.servicenow.com/docs/3R2POERkCFztME6Boj0xIw "Allow a flow to continue running when an error occurs within a flow logic block. Run a sequence of actions in response to errors within the flow logic block.")  
**Related reference**   

* [Append to Flow Variables flow logic](https://www.servicenow.com/docs/MVGJwG_myb~dZc0wY2ljuw "Append a value to one or more array of objects flow variables. Use flow data to generate values.")
* [Exit Loop flow logic](https://www.servicenow.com/docs/B8adm71DNgoTDwEwvgPvTQ "Exit from a flow logic loop when the conditions of an If flow logic are met. Continue running the flow from the next step after the flow logic loop. This flow logic is also known as break.")
* [Get Flow Outputs flow logic](https://www.servicenow.com/docs/MQzje~ApJlE2ePA9hf_8Uw "Retrieve output values generated by dynamic flows or subflows.")
* [Go back to flow logic](https://www.servicenow.com/docs/80KaVYJGRFwK_Ubi_5mAwA "Return to a prior step in the flow to repeat a sequence of actions.")
* [Skip Iteration flow logic](https://www.servicenow.com/docs/MX3giHitFikA7~mVUtEWmw "Skip the current iteration of a flow logic loop when the conditions of an If flow logic are met. Continue running the flow logic loop with the next item in the list. This flow logic is also known as continue.")

