Skip to main content

Wait

The Wait task is used when the workflow needs to be paused before continuing. It is a no-op task used when the workflow needs to wait:

  • Until a certain timestamp
  • For a certain duration, or
  • For an external trigger.

The Wait task will remain IN PROGRESS until a certain point. There are three wait types for the Wait task:

  • Until—Used to wait until a specified date and time, including the timezone.
  • Duration—Used to wait until a specified duration in the format: x hours x days x minutes x seconds.
  • Signal—Used to wait for an external signal.

External signals can come from an event handler, direct API call, or a webhook. For example, the Update Task or task update API can be used to explicitly to mark the Wait task as COMPLETED.

Task parameters

Configure these parameters for the Wait task.

ParameterDescriptionRequired/ Optional
inputParametersThe input parameters for the Wait task, which can be passed as a dynamic variable or a fixed value. These parameters include those required for the Wait task to complete, which depend on the wait type:
  • until for the until wait type
  • duration for the duration wait type
Required.
inputParameters. untilThe datetime and timezone in one of the following formats:
  • yyyy-MM-dd HH:mm z
  • yyyy-MM-dd HH:mm
  • yyyy-MM-dd
For example, 2026-04-30 15:20 GMT+04:00.
Required for until wait type.
inputParameters. durationThe wait duration in the format x days y hours z minutes aa seconds. The accepted units in this field are:
  • days, or d for days
  • hours, hrs, or h for hours
  • minutes, mins, or m for minutes
  • seconds, secs, or s for seconds
Required for duration wait type.

The following are generic configuration parameters that can be applied to the task and are not specific to the Wait task.

Other generic parameters

Here are other parameters for configuring the task behavior.

ParameterDescriptionRequired/ Optional
optionalWhether the task is optional.

If set totrue, any task failure is ignored, and the workflow continues with the task status updated to COMPLETED_WITH_ERRORS. However, the task must reach a terminal state. If the task remains incomplete, the workflow waits until it reaches a terminal state before proceeding.
Optional.

Task configuration

This is the task configuration for a Wait task.

{
"name": "wait",
"taskReferenceName": "wait_ref",
"type": "WAIT",
"inputParameters": {
"until": "2026-01-15 17:00 GMT+04:00"
}
}

Adding a Wait task in UI

To add a Wait task:

  1. In your workflow, select the (+) icon and add a Wait task.
  2. Select the Wait type and configure it.

Adding wait task

Examples

Here are some examples for using the Wait task.

Until wait type

This example configures a Wait task to pause execution until December 25, 2026, at 9:00 AM (GMT+04:00).

// Wait task configuration

{
"name": "wait",
"taskReferenceName": "wait_ref",
"type": "WAIT",
"inputParameters": {
"until": "2026-12-25 09:00 GMT+04:00"
}
}

Passing the until value as a variable

To define the wait time at runtime, add a workflow input parameter:

// workflow nputs

"inputParameters": [
"waitUntil"
],

The Wait task can reference that workflow input parameter using ${workflow.input.waitUntil}.

// Wait task configuration

{
"name": "wait",
"taskReferenceName": "wait_ref",
"type": "WAIT",
"inputParameters": {
"until": "${workflow.input.waitUntil}"
}
}

Now, the wait timestamp can be defined at runtime. When running the workflow, you can pass a specific value as the input:

// workflow inputs

{
"waitUntil": "2026-12-25 09:00 GMT+04:00"
}

Based on the input, the workflow waits until 9:00 AM on December 25, 2026.

Duration wait type

This example configures a Wait task to pause execution for a fixed duration.

// Wait task configuration

{
"name": "wait",
"taskReferenceName": "wait_ref",
"type": "WAIT",
"inputParameters": {
"duration": "28 days"
}
}

When the workflow reaches the wait task, it waits for 28 days and then resumes execution.

Wait for 28 days

Passing the duration value as a variable

To define the wait time at runtime, add a workflow input parameter:

// workflow inputs

"inputParameters": [
"waitDuration"
],

The Wait task can reference that workflow input parameter using ${workflow.input.waitDuration}.

// Wait task configuration

{
"name": "wait",
"taskReferenceName": "wait_ref",
"type": "WAIT",
"inputParameters": {
"until": "${workflow.input.waitDuration}"
}
}

Now, the wait duration can be defined at runtime. When running the workflow, you can pass a specific value as the input:

// workflow inputs

{
"waitDuration": "1 mins 02 seconds"
}

Based on the input, the workflow waits for 1 minute and 2 seconds.

Signal wait type

You can configure the wait type to be a signal, which can be triggered by an event handler, a direct API call, or a webhook.

Here’s a snippet of a Wait task awaiting an external signal:

{
"name": "wait",
"taskReferenceName": "wait_ref",
"type": "WAIT",
"inputParameters": {}
}

Once the workflow is run, the Wait task will be in an “In Progress” state. You can manually mark the task as completed either using the Update Task Status in a Workflow API or from the Conductor UI, as shown below:

Wait type configured as signal