cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
MelissaReed
Helper IV
Helper IV

Need example of using Send HTTP Request to Sharepoint to update a single Person column with (1) single person's value in a LIBRARY.

I have a Sharepoint Library with a Person column "Process Owner".   ONE person only.

I have an Instant Workflow on that library that collects Process Owner Name at runtime.

 

How can I use the HTTP / POST  (or PATCH) to accomplish this?

 

 

I've tried various forms of PATCH, POST...  based on other sites/articles.  Nothing works.   For example

MelissaReed_1-1613110318948.png

results in this error: A type named 'SP.Data.VBPM_x0020_Process_x0020_DraftsListItem' could not be resolved by the model. When a model is available, each type name must resolve to a valid type.

 

MelissaReed_2-1613110936561.png

didn't throw an error.  It appeared to complete successfully, but did not actually update anything. 

The parameter entered gets plugged into HTTP call to "getByEmail" and returns a numeric value  which I store in ProcessOwnerID, used as the value above.

Thanks in advance for any guidance.

(I cannot use Update Library Properties action because of the MS limit on # lookups )

1 ACCEPTED SOLUTION

Accepted Solutions

@MelissaReed  in addition to inputs from @Expiscornovus  you can change the header odata=nometadata, to make the payload simple, example below

 

annajhaveri_0-1613127959201.png

 

 

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.

View solution in original post

7 REPLIES 7
Expiscornovus
Super User
Super User

Hi @MelissaReed,

 

Below is an example which should work. In my example I am using a POST request and the SharePoint User Id of the current site like described in this link:

https://sharepoint.stackexchange.com/questions/174979/update-person-or-group-field-using-rest-api-in...

 

Btw, I am also using a LibraryItem type because I assume you are using a Document Library and not a List?

 

 

{
  "__metadata": {
    "type": "SP.Data.VBPM_x0020_Draft_x0020_Process_x0020_LibraryItem"
  },
  "ProcessOwnerId": 12   
  }

 

 

userid_updatelibraryitem.png



Happy to help out! 🙂

Interested in more #PowerAutomate #SharePointOnline or #PowerVirtualAgents content?
Visit my blog, Subscribe to my YouTube channel or Follow me on Twitter


@MelissaReed  in addition to inputs from @Expiscornovus  you can change the header odata=nometadata, to make the payload simple, example below

 

annajhaveri_0-1613127959201.png

 

 

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.
Expiscornovus
Super User
Super User

Thanks @annajhaveri. I keep forgetting that with nometadata it's even easier 🙂



Happy to help out! 🙂

Interested in more #PowerAutomate #SharePointOnline or #PowerVirtualAgents content?
Visit my blog, Subscribe to my YouTube channel or Follow me on Twitter


MelissaReed
Helper IV
Helper IV

Thanks @annajhaveri and @Expiscornovus  for speedy replies. 

YES, @Expiscornovus -- it is a Library I'm working with.  Good catch on that detail I overlooked including!

I like "simpler" so I tried @annajhaveri "nometadata" first but couldn't get it to work.

MelissaReed_0-1613135155832.png

Tried it with/without quotes, both blew errors --  "A 'PrimitiveValue' node with non-null value was found...." 

What am I missing here?  @annajhaveri your example does not mention "librarylist" but maybe the answer lies within the detail of the pink "body()" variable I can't see the details of on your screenshot.   

 

 

@MelissaReed in the body parameter provide the column name as "Process_x0020_OwnerId"

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.
MelissaReed
Helper IV
Helper IV

@annajhaveri DUH -- thanks for the catch on the missing "Id" .   It WORKED.

And note to the wise, it is case-sensitive -- you must use "Id" and not "ID".

For others' reference, here is the HTTP call that successfully updated my two Person fields on my library:

MelissaReed_3-1613141873778.png

 

I wanted to show how column names with spaces are represented in this context (most examples don't show it and it's never made sense to me whether to use %20, _x0020_, put the literal name in quotes or drop the spaces and smash them together.  

 

I struggled with this for HOURS and probably came within a quotemark of hitting on the right syntax, but am so grateful to both of you @Expiscornovus  and @annajhaveri for your help.   I will tag @annajhaveri with the solution since it was her nometadata option I'm going with.  But @Expiscornovus  it was an earlier HTTP post you were helping someone out with that put me on this track to begin with.    Thank you both!  

 

 

 

 

 

 

@MelissaReed  thank you. One more tip, Process_x0020_OwnerId is the internal name of the column. In order to get internal name of any column, in google chrome browser, open the SharePoint list, go to list settings and click on the column, then look at the browser URL, you will see URL ending with Field=<somevalue>, that will be the internal name of the column, e.g. if it is Field=Title in the browser url, then Title is the internal name of the column. I hope that makes sense.

Regards,
Anna Jhaveri

If I have answered your question, please mark the post as Solved to help other users to identify the correct answer
If you like my response, please give it a Thumbs Up.

Helpful resources

Announcements
Power Automate News & Announcements

Power Automate News & Announcements

Keep up to date with current events and community announcements in the Power Automate community.

Power Automate Community Blog

Power Automate Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Users online (3,269)