Wait for condition workflow activity
Summarize
Summary of Wait for condition workflow activity
The Wait for condition workflow activity in ServiceNow pauses a workflow until a specified condition is met on the current record. It continuously evaluates the condition each time the record is updated, allowing the workflow to wait indefinitely for particular criteria before proceeding. This activity is designed to wait for external events such as record updates, not for changes made internally by the workflow itself.
Show less
Key Features
- Condition Evaluation: The workflow pauses until all specified conditions, either defined via the builder or a script, evaluate to true.
- Scripted Conditions: Supports scripting by using an
answervariable to determine when the condition is met. - Timeout Option: Allows configuring a maximum wait duration. If the condition is not met within this duration, the workflow proceeds to the next activity. Duration can be specified in hours, minutes, and seconds, and optionally computed according to a work schedule.
- Result Handling: Workflow designers can assign a result value in the script field. The activity transitions when the result is true.
- User Context: Condition activities run as the user whose actions triggered the condition, ensuring proper permission context.
Important Usage Notes
- Use this activity only to wait for external record updates, not for waiting on field changes made by the workflow itself.
- To wait for a workflow-initiated field change, consider inserting a one-second timer to allow the change to be detected.
Activity States
The workflow engine manages the activity through several states:
- Executing: The activity’s
onExecutefunction starts. - Waiting: The workflow pauses and waits for the specified event or condition.
- Finished: The activity has completed; the workflow proceeds based on the result.
- Cancelled: The activity or entire workflow was canceled.
- Error: A JavaScript error occurred; logs should be reviewed for details.
The Wait for condition activity causes the workflow to wait at this activity until the current record matches the specified condition.
The workflow evaluates the Wait for condition activity each time the current record is updated. Use this activity to pause a workflow indefinitely until a particular criteria is met by a record update. To pause a workflow for a timed duration see Timer workflow activities.
Results
The workflow designer can assign a result value using activity.result from
within a script field of the activity. The activity transitions when the result value is
true.
Input variables
| Field | Description |
|---|---|
| Condition | The workflow is paused at this activity until this condition matches the current record. |
| Condition script | If specified, the workflow is paused at this activity until this script sets the answer variable to true. |
| Enable Timeout | Option to limit the amount of time that the workflow waits for the activity to be completed before continuing. Note: Use the Enable timeout option to prevent this activity from continuing
to run. If the condition to continue is never met, a timeout value specifies when the system skips the Wait for Condition activity and goes to the next item in the workflow. You must set a Duration value to
enable a timeout. You can also select a Schedule if you want to compute the duration end date based on a specific work schedule. |
| Duration | Amount of time that the workflow waits before continuing when the Enable timeout option is selected. Enter the time to wait in hours, minutes, and seconds. If you leave this field empty, the workflow does not wait. |
States
| State | Description |
|---|---|
| Executing | The workflow engine knows to start the onExecute function of the activity. |
| Waiting | The workflow engine ignores the activity until a specific event to restart the activity is fired. |
| Finished | The activity finished running. See the result value for the outcome of the activity. |
| Cancelled | This activity, or the workflow that contains this activty, was canceled. |
| Error | A JavaScript error occurred. Review the logs for error details. |