How to auto-change Incident state from On Hold to In Progress on reassignment and make Work Notes ma

nameisnani
Mega Sage
Hi Team,
 
I need guidance on implementing the following requirement in ServiceNow Incident Management:
 
Requirement:
 
When an Incident is currently in "On Hold" state and the ticket is reassigned (Assignment Group or Assigned To changes), the system should automatically update the State to "In Progress".
 
Additionally, during this transition, "Work Notes" should be made mandatory to ensure proper documentation of the reassignment activity.
 
Details: -
Current State: On Hold - Action: Reassignment (Assignment Group or Assigned To changes)
- Expected Behavior:
1. Incident State should automatically change to "In Progress"
2. Work Notes field must be mandatory during this update
 
If anyone has implemented a similar requirement, please share your approach.
 
please provide me the configuration steps to achieve thsi requirment 
 
Thanks in advance for your help!

vaishali231
Kilo Sage

Hey @nameisnani 

Use:

  • Data Policy → Make Work Notes mandatory
  • Before Business Rule → Change State to In Progress

This is more reliable than a UI Policy because Data Policies and Business Rules are enforced across all channels, including Service Operations Workspace.

 

Step 1: Create a Data Policy

Navigate to:

System Policy → Data Policies

 

Click New

Configuration

Field

Value

Name

Work Notes Mandatory on Reassignment

Table

Incident

Active

True

Inherit

False

Conditions

State = On Hold

 

Create a Data Policy Action:

Field Name

Mandatory

Work Notes

True

Note: If the requirement is only during reassignment, the Business Rule below will enforce the final validation server-side.

 

Step 2: Create a Before Update Business Rule

Navigate to:

System Definition → Business Rules

 

Click New

Configuration

Field

Value

Name

Move On Hold Incident To In Progress On Reassignment

Table

Incident

When

Before

Insert

False

Update

True

Advanced

True

Order

100

Leave Condition blank.

 

Business Rule Script

(function executeRule(current, previous) {
    var reassigned =
        current.assignment_group.changes() ||
        current.assigned_to.changes();

    if (previous.state == 3 &&
        current.state == 3 &&
        reassigned) {
        // Validate Work Notes
        if (gs.nil(current.work_notes.toString())) {
           gs.addErrorMessage(
                'Work Notes are mandatory when reassigning an On Hold Incident.'
            );
            current.setAbortAction(true);
            return;
        }
        // Move State to In Progress
        current.state = 2;

    }

})(current, previous);

 

***********************************************************************************************************************************

If this response helps, please mark it as Accept as Solution and Helpful.

Doing so helps others in the community and encourages me to keep contributing.

Regards

Vaishali Singh

Servicenow Developer
Linkedin - https://www.linkedin.com/in/vaishali-singh-2273361bb












yashkamde
Mega Sage

Hello @nameisnani ,

 

For this you can implement an Business Rule:

 

> Create a Business Rule on the Incident table.

> Trigger: Before Update

> Condition:

  • current.state == 'On Hold'

  • (current.assignment_group.changes() || current.assigned_to.changes())

> Action:

  • Set current.state = 'In Progress'

> also in BR add a check :

if (!current.work_notes.changes()) {
    gs.addErrorMessage('Work Notes are mandatory when reassigning an On Hold incident.');
    current.setAbortAction(true);
}

 

If my response helped mark as helpful and accept the solution.

 

@yashkamde  

 

 

could u please provide - screenshots please 

 

after form saves - in activites log state transistions are not capturing

yes sure !

but which transitions are you expecting?

as per your requirement I done this so getting the result :

Screenshot 2026-06-29 140450.png

 

Business rule :

yashkamde_0-1782722253464.png