Cancel a workflow

Canceling a workflow stops the workflow from executing and sets the workflow context State to Canceled. To cancel an executing workflow, you can use the cancelContext(context) script. You can define an onCancel script to clean up unresolved workflow activities.

About this task

Canceling a workflow attempts to stop the workflow gracefully by injecting a cancel command into the workflow engine.

To cancel an active workflow:


  1. Navigate to Workflow > Active Contexts.
  2. Select a workflow context record.
  3. Select the Cancel related link.
    A confirmation window appears.
    Cancel Confirmation
  4. Click OK.
    The Wait for Cancel window appears. The workflow engine attempts to cancel the workflow gracefully.
    Wait for Cancel

    If the workflow does not respond to the cancel command, the Force Cancel window appears.

    Force Cancel
  5. Click Force cancel to interrupt the thread the workflow is actively executing or click Continue waiting to continue waiting for the workflow to cancel gracefully.
    Warning: Whenever possible, allow a workflow to cancel gracefully. Forcing a workflow to cancel can leave related workflows and scripts in an unresolved state. You can use an on-cancel script to clean up unresolved artifacts from a cancelled workflow.

Cancel a workflow with the cancelContext(context) script

To cancel an executing workflow, you can use the cancelContext(context) script. This script can be useful in cases where a workflow must be canceled in response to an event or where a user must manually cancel a workflow.

About this task

For more information, see the API reference.

Define an on-cancel script

Canceling a workflow can leave records or scripts in an unresolved state. For example, canceling a service catalog workflow may leave catalog items in the requesting user's cart. An administrator can specify an On-cancel script that runs when the workflow transitions to the Canceled state. This script can notify users, log information, or resolve the state of any scripts run within a workflow activity. The sys_id of the workflow context is available in this script using the context_sys_id variable.

About this task

To define this script:


  1. Navigate to Workflow > Workflow Versions.
  2. Select a workflow version that you have checked out.
    Workflow versions that are not checked out are not editable.
  3. Edit the On-cancel script field.
    You may need to configure the form to add this field.
  4. Click Update.


This example script adds a comment to a Requested Item [sc_req_item] record indicating the workflow for that request has been canceled.
var grContext = new GlideRecord("wf_context"); 
var grReq = new GlideRecord("sc_req_item");
// The current record may not exist, make sure it exists before modifying it.
if (grReq.get( {
    grReq.comments = "The workflow processing this item was Canceled. Contact your system administrator for further information.";