State flow customization

State flows control the sequence in which records transition between states in SM applications.

An administrator can perform the following tasks:
  • Add or delete states.
  • Trigger events on particular state transitions.
  • Transition to another state automatically when data in a request or its task changes, or change states manually when the user clicks a button.
  • Limit the choice list for the State field to those end states that are valid transitions from the given start state.
  • Control the visibility and behavior of selected fields on a target table when records in that table change states.
  • Create custom state flows. Turn off the State flows are enabled option on the configuration screen. Creating custom state flows requires scripting knowledge.
Note: Users with the wm_admin role can create, read, update, and delete only work order flows and work task flows. Users with the facilities_admin role can create, read, update, and delete only facilities request flows and request task flows. Users with the wm_admin role cannot manipulate facilities records, and users with the facilities_admin role cannot manipulate work order records.

How SM request and task state flows work

State flows replace the standard process that controls how requests and their associated tasks move between states. The ServiceNow system creates business rules, client scripts, and UI actions that perform the transitions and field controls you specify. These programming elements remain in use while the state flow records that use them are present. When state flows on an SM application table are deleted, the system attempts to delete any unnecessary programming elements that were created on that table. You can limit the selections for the State field to valid states for the transition, based on the starting state.

State flows provide the following controls:
  • Manual transitions: A UI action, created automatically by the system when you provide a condition or a script, initiates a transition.
  • Automatic transitions: A business rule, created automatically by the system when you provide a condition and a script, initiates a transition when changes are made to a request or task.

Features available with state flows

  • Custom transitions: Customize the order in which states can change for requests and task records.
  • Field controls: Control the behavior and visibility of specific fields when a task changes states or reaches a specified end state.
  • State choice list: Limit the values offered in a task record's State field to valid states for that transition. This is the same client script that the system creates to manage field controls for state transitions.
  • Events: Trigger events when a state transition occurs or when a record reaches a specific end state.

Start and end states

You can create a custom state flow for processing that must occur when a task record makes a specific transition from one state to another. These records require a starting state and an ending state, and processing occurs during the transition between states. To perform some processing when a task record reaches a particular end state, you only need to define the end state. In some cases a state flow can have a starting state only, such as when you need to perform some type of cleanup after a task is canceled. A state flow might have no starting or ending state if the processing in the record applies to more than one state transition.

The solution is to store the business rule or client script in a state flow record and create a condition to trigger processing for any state change that requires it. An example of this in field service management is the Roll Up Changes business rule on the Work Order Task [wm_task] table. This business rule rolls up state changes that occur in tasks to the parent work order.