docs/platform/workflow/add-and-configure-steps/configure-action-steps/delay.mdx
After adding a Delay step to a workflow, it pauses workflow execution for a specified duration or until a scheduled time, then resumes execution with the next step. You can add a Delay step anywhere in a workflow, before or after any other step to control when subsequent steps run.
This page focuses on how to configure the Delay step for your use case.
<Note> To learn when to use Delay step in a workflow, refer to the [Delay step overview](/platform/workflow/add-and-configure-steps#delay). </Note>Delay supports delivery-aware execution:
timezone attribute is set.You can add a delay step anywhere in a workflow, before or after any other step. When the workflow reaches the delay step, execution pauses for the configured duration and then resumes with the next step.
Delay types are used to define how long the workflow execution should be delayed before proceeding. These delay types are:
A fixed delay pauses workflow execution for a static duration. Use this when the delay length is known in advance and does not change.
You can specify fixed delays in seconds, minutes, hours, days, weeks, or months.
<video autoPlay loop muted playsInline src="/images/workflows/add-and-configure-steps/action-steps/delay/fixed-delay.mp4" />A scheduled delay pauses workflow execution until a specific date and time, based on the subscriber’s time zone.
You can configure scheduled delays to resume execution:
In the example above, the scheduled delay pauses workflow execution until the current day at either 10:00 AM or 11:00 AM, at 23, 24, or 25 minutes past the hour, based on the subscriber’s time zone.
A dynamic delay, also called a variable-based delay, determines the delay duration using a variable from the event payload. This allows the delay to change per workflow execution.
The variable can be defined in one of the following formats:
2027-01-01T12:00:00Z. This value should be for future date and time.{ "amount": 30, "unit": "minutes" }. This value should be for future date and time. Here amount is the number of units to delay and unit is the time unit. unit can be seconds, minutes, hours, days, weeks, or months.In this example, the delayTill variable is used to pause the workflow until the future date and time specified in the delayTill variable.
```json
{
"delayTill": "2027-01-01T12:00:00Z"
}
```
```json
{
"delayTill": {
"amount": 30,
"unit": "minutes"
}
}
```
If a dynamic delay using an ISO date is added as the first step in a workflow, it effectively schedules the workflow execution to start at the specified time.
When enabled, delayed execution respects the subscriber’s delivery schedule.
If the delay completes outside the subscriber’s available delivery window, execution resumes during the next available time slot. This option is disabled by default.