Hi Mariusz,
Here's another example for you...
However, there are a few other things I would suggest:
- I would rather use "Latest Assignment" and its User or Group attributes instead of any of those "Current..." attributes. Reasoning: once an assignment has been made, Latest Assignment will ALWAYS contain a value... there are some inner-workings that sometimes will set those "Current..." values back to null, which make it less than dependable for reference (e.g., for a ticket that's been closed, what if a client emails you back? who do you notify? ... Right)
- For the first condition, instead of "Note Notify Assignee" (a simple checkbox), use a calculation and have it check if the CreationUser for the latest Note is equal to the LatestAssignment/User for the Incident, returning true if it *does not*. The 'YES' on your decision then routes to the first Reminder that goes to "LatestAssignment/User" and-or "LatestAssignment/Group", 'NO' routes to the next decision.
(calc)
import System
static def GetAttributeValue(Incident):
Value = true
if Incident.Notes.Latest().CreationUser == Incident.LatestAssignment.User:
Value = false
return Value - Replace condition "Note Notify Client" with something similar to (2), except substituting "RaiseUser" for "LatestAssignment/User". Still return true if they don't match, and 'YES' then routes to the client reminder.
You can keep the check to see if the assignment user is populated, or not. If you do, change it to use LatestAssignment as well. You could also add some logic to notify the group if the user is null, etc.
Using this setup though, if another analyst (not the assigned) or another end user (not the client) adds a note, then BOTH the assigned analyst and the client will receive notification.
-Brian