Can a workflow check for field changes?

geek1
Kilo Contributor

If you're in the middle of a workflow iteration, how can you determine if a field changes?

We have an 'Acknowledgement' SLA that requires all incidents to be assigned to an individual within 30 minutes of it being assigned to the group. The SLA we have works great right now but only after go-live did we notice that the acknowledgement time didn't reset when it went to a differnet group. That said, if the Service Desk took 25 minutes to assign to Network Admins, the Network Admins only had 5 minutes to assign the ticket or they'd breach SLA.

I'm tasked to fix this problem and every time the workflow starts over see if the assignment group changed. I know when you choose which field to use you have a number of different options (empty, not empty, equal to, etc) but none of them involve changes. How would I throw an IF conditional within the workflow to check if the assignment group changed since the last time it ran?

4 REPLIES 4

ccajohnson
Kilo Sage

You may not need to change your workflow, but rather change the conditions the SLA runs. My guess is that the SLA runs if the assigned to is blank and stops if the assigned to is not blank. This means that if the assignment group is reassigned without someone being assigned then the SLA still runs. There is a way I envision getting around this:
- Create additional SLA's for each assignment group.
This will allow you to manage how long each group should take to acknowledge the request. You can add a condition that starts the workflow when the assignment group matches, then stops the workflow if that assignment group does not match.

I hope this is helpful,


geek1
Kilo Contributor

That is a very unique way of approaching the problem I didn't consider.. I think you might be right. If I create a new SLA for each group and change the selection to be group-based, I wouldn't have to make any changes to the internals.

That's very clever! I don't necessarily like having that many SLA's floating around but it might be the perfect fit for this task!

Thank you!


MKhan1
Giga Contributor

You can create a business rule and check for the field changes. Below are the methods available.

<script></script>
1) current..changes() : returns true/false.
2) current..changesTo('NEW VALUE') : returns true/false.
3) current..changesFrom('OLD VALUE') : returns true/false.


MKhan1
Giga Contributor

1)current.field_name.changes()
2) current.field_name.changesTo('NEW VALUE')
3)current.field_name.changesFrom('OLD VALUE')