# Delay

> Delay node for pausing flow execution by duration or until a scheduled datetime.

Pauses the flow for a set duration or until a specified date and time. Use it to introduce a wait between steps — for example, to give an external system time to process before polling it, or to schedule a downstream action for a specific moment.

## Configuration

| Field | Required | Description |
|---|---|---|
| **Mode** | Yes | `duration` — wait for a fixed amount of time. `datetime` — wait until a specific date and time. |
| **Duration** | Yes (if mode = duration) | How long to wait. Specify as a duration string in International Organization for Standardization (ISO) 8601 format — for example, `PT30S` = 30 seconds, `PT5M` = 5 minutes, `PT1H` = 1 hour. |
| **Until** | Yes (if mode = datetime) | The date and time to wait until. Accepts an ISO 8601 datetime string or an expression that resolves to one. |

## Output

The Delay node does not produce output. Downstream nodes receive the same variables that were in scope before the Delay.

## Examples

**Wait 30 seconds before retrying a request:**

A Delay node with mode `duration` and value `PT30S` placed between an HTTP Request node and a retry branch pauses execution for 30 seconds before the retry.

**Wait until a scheduled time:**

A Delay node with mode `datetime` and its value set to an expression that resolves to a datetime — such as `$vars.scheduledAt` — pauses execution until that moment.

## Common issues

| Issue | Resolution |
|---|---|
| Flow times out before the Delay completes | The flow execution has a maximum runtime. For very long delays (hours or days), consider using a Scheduled Trigger to restart the flow at the right time instead. |
| ISO 8601 duration format error | Duration values must follow ISO 8601 format. `PT30S` = 30 seconds, `PT5M` = 5 minutes, `PT1H30M` = 1 hour 30 minutes. Plain numbers are not accepted. |
