Is there a simple way to keep track of when people are added/removed from a user/people column in a Sharepoint list?

I’m trying to track changes for when people are added or removed from my people column in a Sharepoint list. I have tried PowerAutomate, but I am having issues.

These are the ways I have thought about doing it:

Option 1

  • Http request current and previous version of SP list
  • Parse JSON
  • Somehow compare the previous column to the current to be able to separate current, removed, and added

This seems complicated and I have issues with the JSON as I have little experience with it

Option 2

  • Duplicate the current list of people in the column on a separate list
  • When the actual list is updated, create new items on the copy list
  • Delete any rows that have usernames repeated (i.e. if my email shows up twice, both rows are deleted. This way, the only records that are left have been either added OR deleted. I would need some way to denote this later)

This is the better option for what I would like to do, but I am not sure how to configure the PowerAutomate flow to delete the duplicate rows (both). I have not thought about how to denote whether each person was added or deleted after getting the rows deleted.

Would greatly appreciate any insight on this or ideas to do it another way. Thanks!

Best way to track people added or removed in a SharePoint people column:

Option 1 (compare old vs new JSON) is complicated if you’re not comfortable with JSON parsing and data comparison in Power Automate.


Option 2 (using a “copy” list to track changes) is simpler and more reliable, but here’s how to improve it:

  1. Keep two lists:
  • Main list with your people column.
  • “Audit” list that logs each change (person added or removed) with fields:
    • Person
    • ChangeType (Added or Removed)
    • Timestamp
  1. Power Automate flow idea:
  • When main list updates, get previous people and current people.
  • Compare the two lists in the flow (using “Apply to each” and conditions).
  • For each person:
    • If in current but not in previous → create Added entry in Audit list.
    • If in previous but not in current → create Removed entry in Audit list.
  1. This way, you avoid deleting duplicates, and you get a clear, timestamped audit trail of who was added or removed.

Why this is better:

  • You only add audit entries — no complex deletes.
  • You get clear, simple data showing changes.
  • Easier to build reports or trigger other workflows based on changes.