Wait / Delay Block
Pause workflow execution for a specified duration
Pauses workflow execution for a configurable amount of time. Use it to add delays between API calls for rate limiting, wait for external processes, create timed sequences, or add cooldowns between steps.
Overview
| Property | Value |
|---|---|
| Type | delay |
| Category | blocks |
| Color | #6366F1 |
When to Use
- Add a pause between API calls to respect provider rate limits
- Wait before checking an external system for status changes (polling patterns)
- Space out messages, emails, or notifications over time in a timed sequence
- Add a buffer between retries or repeated operations as a cooldown period
- Give time for a webhook delivery, file processing, or third-party job to complete before continuing
Configuration
Duration
A required short-input field that accepts a positive number specifying how long to wait. Supports decimals (e.g. 0.5). Variable references are supported — you can pass {{blockName.field}} to drive the delay dynamically from an earlier block's output.
Unit
A required dropdown that selects the time unit for the duration value. The default is seconds.
| Option | ID |
|---|---|
| Seconds | seconds |
| Minutes | minutes |
| Hours | hours |
Inputs & Outputs
-
Inputs:
duration(number) — How long to waitunit(string) — Time unit (seconds, minutes, or hours)
-
Outputs:
delayed(boolean) — Whether the delay completedduration(number) — Requested delay durationunit(string) — Time unit useddelayMs(number) — Actual delay in millisecondsstartedAt(string) — ISO timestamp when delay startedcompletedAt(string) — ISO timestamp when delay completed
Tools
Wait / Delay (delay_wait) — Pauses workflow execution for a specified duration by posting to the internal /api/tools/delay endpoint. Accepts duration (number, required) and unit (string, required — one of seconds, minutes, hours). Returns the six output fields listed above once the delay completes.
YAML Example
delay_1:
type: delay
name: "Wait / Delay"
inputs:
duration: 5
unit: seconds
connections:
outgoing:
- target: next-block-idTo drive the delay dynamically from an earlier block:
delay_1:
type: delay
name: "Wait / Delay"
inputs:
duration: "{{starter.waitSeconds}}"
unit: seconds
connections:
outgoing:
- target: next-block-id