Portal Community

Properties

PropertyTypeRequiredDefaultDescription
delay_typestring enumYesSelects the delay mode. duration: pause for a number of milliseconds. until: pause until a specific UTC datetime is reached.
duration_msintegerFor duration typeNumber 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_expressionstring (BizFirst expression)NoA 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_utcstring (ISO 8601 UTC)For until typeA 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_expressionstring (BizFirst expression)NoA BizFirst expression that evaluates to a UTC ISO 8601 datetime string. Example: {@ var.contractStartDate }. Overrides until_utc when present.
in_process_threshold_msintegerNo30000Delays 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

DurationMillisecondsStrategy
30 seconds30,000In-process (at threshold)
1 minute60,000Durable suspend
1 hour3,600,000Durable suspend
24 hours86,400,000Durable suspend
7 days604,800,000Durable 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 }"
  }
}