I have a flow in which I would like to clear all values from the "Person or group" field in SharePoint list. Is there any way to pass an empty string in the "Update item" activity to this field?
Solved! Go to Solution.
See the "see more" button on the top right of your dynamic content?
Try hitting that.
"ID" doesnt appear on most dynamic lists unless you do.
I tried that, only thing that shows is Ask in PowerApps and when you click that is adds another SendanHTTPrequesttoSharePoint_Uri which can't be removed and screws up the Flow call adding another required argument. The SendanHTTPrequesttoSharePoint_Uri works so no big deal. Thanks.
If you restrict a Person column to a single entry, you cannot set that field to "null" Expression like other SharePoint columns.
However, if you allow multiple entries in the Person field, you can use the "null" Expression. This works great for hidden fields e.g. "Current Approver", and is a lot easier than using the HTTP Request Flow Action. Hopefully the Flow team can make this work for single-entry fields soon, too.
@bu11frogg How were you able to get null working? What's the JSON look like? I'm trying this on a multi-entry person field and it will not clear it out.
{ "__metadata": { "type": "SP.Data.Break_x0020__x0020_EducateListItem" }, "Register0": null }
Also this empty array isn't working.
{ "__metadata": { "type": "SP.Data.Break_x0020__x0020_EducateListItem" }, "Register0":{"results":[]} }
{ "__metadata": { "type": "SP.Data.Break_x0020__x0020_EducateListItem" }, "Register0Id":{"results":[0]} }
**Update: I successfully have the above code working to clear out a multi-choice person field in Flow. The field name was missing "Id" after the name.
Nice, job @AmyWaggoner! That solution will probably help someone! My JSON skills are much less than you possess, so I would never have accomplished it.
Here's what I do in Flow to make it work (I know you already know some of these steps, but I'm including all here for the benefit of others):
In an "Update item" action (for instance), click the "Switch to input entire array" button. That button is not present when the SharePoint Person column only allows a single name.
Click in the empty "Claims" field and switch to Expression. Type 'null' and click OK.
This is what I end up with, which then works:
Hi guys,
I got the same issue and wanted to clear the people picker column value while updating an item. I did this below and it worked! My people picker was multiuser select enabled. so in the update item action, next to the people picker field, a small tiny icon says "Switch to input entire array" as mine as mutiple user selection people picker - yours may be slightly different text. Then the field will show the JSON for the field like this,
[
{
"Claims":
}
]
Then make your cursor click next to Claims and go to dynamic content --> Expression --> type "null" (without double quotes) and OK/update.
It should look like this,
Then if you run the flow, the update item action should clear the people picker!
this is working
Also just tried this Claims / Null solution above and can confirm that works on multi-person select field.
Does anyone know a working solution for a single people picker field? The solution above is for a multiple people picker field. Thanks!
@AbulHassan able to help? Thanks.
Switching to a multi-person field was part of the solution I figured out last June BECAUSE I couldn't get a single-person field to clear.
I haven't needed to do anything similar since last year, so there might be a way to null a single-person field by now. However, you should know that in my flow I'm using multi-person fields for a single username only in most cases. In one case where I want the user to pick only a single person in the form, I give the users a single-person field and my flow interacts with a "shadow" that's a multi-user field so I can null it when I'm done with it from a flow perspective. I don't need to clear the single-person field because I'm not using it directly in the flow.
I hope that helps!
Thanks for the reply @bu11frogg .
Unfortunately there's still no way that i know of to blank a single people picker field.
I tried 'null' from the Expression tab, but it gives invalid user error.
I tried putting nothing, but nothing just means it will not update that field, as expected.
I tried "", I tried {}, I tried [], I tried "Claims": "null". None worked.
Thanks for your suggestion, I can see how that will work. Was hoping there was a patch by now.
{ "__metadata": { "type": "SP.Data.List_NameListItem" }, "MultiPersonFieldId":{"results":[0]} }
@AmyWaggoner's solution worked for me, for multi-user field^^^
{ "__metadata": { "type": "SP.Data.List_NameListItem" }, "SinglePersonFieldId":null }
@AmyWaggoner's modified solution to work with single user field.^^^
THIS!! This is why MS fails. This is why peoples eyes gloss over when someone talks about a MS solution. This has been a bug (dont try to call it anything else) for THREE FREAKING YEARS!!! Why oh why cant someone please just fix this so a null() blanks the field, like all other fields. But no, MS is ALWAYS looking for the next big feature to push out and is NEVER fixing the small issues that otherwise wreak a promising platform. Microsoft does not care. They simply don't.
There is a work-around that I use. Which is to do a flow outputting the group contents and then remove each member of that group. You may have to run it more than once if you have over 100 users in the group
I don't think people are paying attention to your miraculous post. Folks, this post solves the issue for single value person fields. I tested it and it works perfectly. Just substitute your field name for this portion: "SinglePersonField". Be sure the letters Id appear after your field name. For example, my person field was Supervisor. So, I used "SupervisorId" and the HTTP call knew what to do with that name. Zyx, I have no idea how you found this solution but thank you!
It's sad that no one from Microsoft, on all the countless posts about this issue, could offer a solution. People have been complaining about this for years. It is atrocious that Microsoft failed to publish this information freely and openly, or provide the information to this community when asked over and over.
You got me on the right track but I had to do some changes:
For the JSON error, I think you need to remove the first "/" in the Uri.
You can lookup the value that goes in the metadata type: "__metadata": {"type":"<ListItemEntityTypeFullName>"}
To do so, find the ListItemEntityTypeFullName value by entering the following URL in your browser:
<SHAREPOINT SITE ROOT>/_api/web/lists/getbytitle(‘<LIST NAME>’)ListItemEntityTypeFullName
The text circled below is what you would enter after "type":
User | Count |
---|---|
16 | |
16 | |
14 | |
9 | |
8 |
User | Count |
---|---|
29 | |
28 | |
24 | |
23 | |
14 |