Configuration Reference
All Delay node properties including duration, until, expressions, and threshold settings.
Properties
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
delay_type | string enum | Yes | — | Selects the delay mode. duration: pause for a number of milliseconds. until: pause until a specific UTC datetime is reached. |
duration_ms | integer | For duration type | — | Number of milliseconds to pause. Must be a positive integer. Examples: 30000 (30 s), 3600000 (1 h), 86400000 (24 h). Mutually exclusive with duration_expression. |
duration_expression | string (BizFirst expression) | No | — | A BizFirst expression that evaluates to the number of milliseconds to pause. Useful when the delay depends on data: {@ var.retryIntervalMs }. Overrides duration_ms when present. |
until_utc | string (ISO 8601 UTC) | For until type | — | A literal UTC datetime to wait until. Format: 2026-08-15T17:00:00Z. If the datetime is in the past when the node executes, the workflow continues immediately. |
until_expression | string (BizFirst expression) | No | — | A BizFirst expression that evaluates to a UTC ISO 8601 datetime string. Example: {@ var.contractStartDate }. Overrides until_utc when present. |
in_process_threshold_ms | integer | No | 30000 | Delays shorter than this value use in-process Task.Delay. Delays at or above this value use durable suspend. Increase to keep more delays in-process; decrease to persist more delays to storage. Default is 30,000 ms (30 seconds). |
Durable vs. In-Process Selection
The Delay node automatically selects the appropriate strategy based on the resolved duration and in_process_threshold_ms. You do not need to configure this manually for most cases. The waiting output port fires only for durable suspensions — connect a monitoring or notification node here if you need to track long-running delays.
Past Datetime Handling
For until type delays, if the resolved target time is already in the past when the node executes, the workflow does not error — it continues immediately along the success port. Design your workflows to handle the case where the scheduled time has already passed.
Common Duration Reference
| Duration | Milliseconds | Strategy |
|---|---|---|
| 30 seconds | 30,000 | In-process (at threshold) |
| 1 minute | 60,000 | Durable suspend |
| 1 hour | 3,600,000 | Durable suspend |
| 24 hours | 86,400,000 | Durable suspend |
| 7 days | 604,800,000 | Durable suspend |
JSON Configuration Examples
// Wait 24 hours (durable)
{
"node_type": "Delay",
"name": "Wait24Hours",
"config": {
"delay_type": "duration",
"duration_ms": 86400000
}
}
// Wait until a specific business date
{
"node_type": "Delay",
"name": "WaitUntilContractStart",
"config": {
"delay_type": "until",
"until_expression": "{@ var.contractStartDate }"
}
}
// Dynamic retry interval from a variable
{
"node_type": "Delay",
"name": "RetryDelay",
"config": {
"delay_type": "duration",
"duration_expression": "{@ var.retryIntervalMs }"
}
}