I'm attempting to create a workflow in a SharePoint Online list where, if the 'assigned to' field is changed to a different name, that user is sent an email notification.

The issue is that SharePoint will activate this 'send email' workflow even if another column of the list item is modified. Therefore, I'm looking for a solution where the workflow fires only if that one 'assigned to' column changes.

I've seen some other posts which suggest a workaround where you create a hidden column that contains the old value. Something along the lines of:

IF [assignedTo] is not equal [old.assignedTo] then send email

Many posts mention this hidden column method, but I'm not sure how you can create the hidden column that retrieves the old value.

Any help would be much appreciated.

  • Hello @Toby , your feedback is very important to close this question! Please don't forget to upvote and mark the correct answer as accepted in case it helped you! otherwise please comment on the provided answer if you need more clarifications, thanks! – Mohamed El-Qassas MVP Dec 10 at 10:51

The Wait for Field Change In Current Item action will help you to achieve your goal.

enter image description here


Steps

  • Create a variable (OldAssigned) to save the current value of Assigned To field.
  • Add Wait for Field Change In Current Item action
  • Configure it as the following

     Wait for `Assigned To` to **not equal** `OldAssigned`
    

You need to create two workflows, one starts automatically when an item is created and another starts automatically when an item is edited.

  1. Create a column named "old.assignedTo" in the list.
  2. List settings -> Advanced Settings -> Select option 'Yes' for Allow management of content types?.
  3. List settings -> Content types -> click on the content type -> Columns section click on the column you want to make hidden -> In Column Settings -> Select Hidden option -> OK.
  4. Create a workflow and trigger it automatically when an item is created.
  5. In this workflow, set "old.assignedTo" to the value of "assignedTo".

  6. Then, create another workflow and trigger it automatically when an item is edited.

  7. In this workflow, IF [assignedTo] is not equal [old.assignedTo], then send email. After sending email, set "old.assignedTo" to the value of "assignedTo".

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.