Another thing you could consider doing is to assign these tasks to a CMDB Remediation Workflow that will modify your data automatically (e.g. walk up the management hierarchy as managers may be able to assume accountability for assigning responsibility for previously active direct reports) and then complement the auto-reassignment of those roles with notifications: "ACTION REQUIRED: You have been assigned the following things for the following reasons... make sure these items are properly assigned to the right people"

 

That said, based on a quick review of your code, I don't know whether getValue('active') == 0 is actually the right logical test for that condition.  I could be wrong though.  And also the !businessContact test looks suspect, because getValue() might not return an actual null, but rather an empty string.  I would use gs.nil(businessContact) for this test instead to be sure.


The opinions expressed here are the opinions of the author.