RITMs set to close complete, when one sctask is still on hold state.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
For RITMs that do not have any workflow or flow, the RITM is getting closed as Closed Complete when a manually created SCTask is set to Closed Complete, even though another system-generated SCTask is still in On Hold state.
Please help if there are any OOB business rule or any other reason for it!
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hello @ShruthaK ,
You can Check Business Rules on the sc_task and sc_req_item tables related to task closure.
Verify if there are any Flow Designer flows, affecting the RITM state.
If this helps you then mark it as helpful and accept as solution.
Regards,
Aditya,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
@ShruthaK - This behavior is tied to how ServiceNow handles Requested Item (RITM) closure logic out‑of‑the‑box.
This might be the reason :-
There is an OOB Business Rule called “Close Task” (on the sc_task table) and another called “Update Parent” (on sc_req_item).
When an SCTask is set to Closed Complete, the Business Rule checks if all related tasks are closed.
If it finds no open tasks, it updates the parent RITM to Closed Complete.
However, if you manually create SCTasks or if tasks are in states like On Hold, the OOB logic may not treat them as “open,” depending on how the state values are configured.
By default, only states like Open, Work in Progress, Pending are considered “active.”
On Hold may not be included in that check, so the RITM closes even though a task is still technically not resolved.
How to Fix It
Check the Business Rule “Update Parent”
Navigate to System Definition > Business Rules.
Look for rules on sc_task that update the parent RITM.
Review the condition logic — it may be excluding On Hold from the “active” states.
Modify the Active State List
In the Business Rule or Script Include (often TaskUtils), adjust the logic so that On Hold is treated as an “active” state.
Example:
Script
if (task.state == 'on_hold') {
active = true;
}
Alternative Approach – Flow Designer
If you’re moving away from workflows, you can build a Flow that triggers when SCTasks close.
Add a condition to check all child tasks of the RITM.
Only close the RITM if all tasks are Closed Complete (none in On Hold).
