check this article: Call web services from SharePoint workflows. It contains example of calling web service from workflow using HttpSend activity - pretty similar to what you are looking for.
How to update sharepoint list item using HttpSend with POST in visual studio workflow
Hi
I was trying to update list item in workflow using HttpSend activity , it is giving bad request error always
Can any provide steps to do in proper way like how to pass RequestContent, RequestHeader, ResponseContent and ResponseHeader ?
I mentioned attachment below
Regards
Srinivas Are
3 answers
Sort by: Most helpful
-
-
Jerryzy 10,566 Reputation points
2021-03-09T07:40:16.97+00:00 Hi @Aare Srinivas Patel ,
Please refer the sample update item Post Request:
function UpdateListItemUsingItemId(Id) { $.ajax ({ // _spPageContextInfo.webAbsoluteUrl - will give absolute URL of the site where you are running the code. // You can replace this with other site URL where you want to apply the function url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getByTitle('list name')/items(" + Id +")", type: "POST", headers: { // Accept header: Specifies the format for response data from the server. "Accept": "application/json;odata=verbose", //Content-Type header: Specifies the format of the data that the client is sending to the server "Content-Type": "application/json;odata=verbose", // IF-MATCH header: Provides a way to verify that the object being changed has not been changed since it was last retrieved. // "IF-MATCH":"*", will overwrite any modification in the object, since it was last retrieved. "IF-MATCH": "*", //X-HTTP-Method: The MERGE method updates only the properties of the entity , while the PUT method replaces the existing entity with a new one that you supply in the body of the POST "X-HTTP-Method": "MERGE", // X-RequestDigest header: When you send a POST request, it must include the form digest value in X-RequestDigest header "X-RequestDigest": $("#__REQUESTDIGEST").val() }, data: JSON.stringify({ __metadata: { // Format of the "type" is: SP.Data.<<ListName>>ListItem. First character of the <<ListName>> should be in Capital type: "SP.Data.List_x0020_NameListItem" }, description: "Updated Description" }), success: function(data, status, xhr) { console.log("Success"); }, error: function(xhr, status, error) { console.log("Failed"); } }); }
And in the Visual Studio custom workflow activity, the request body may need to prepend the parameter keyword, you can refer the following demo (create site with a Post Request) which should be similiar with update list item:
Custom Workflow Activity for Creating a SharePoint Site
Another important point, the __metadata type should be updated with this format:
type: "SP.Data.<ListName>ListItem"
Thanks
Best Regards
If an Answer is helpful, please click "Accept Answer" and upvote it.
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread. -
Jerryzy 10,566 Reputation points
2021-03-17T06:33:35.73+00:00 Hi @Aare Srinivas Patel ,
Is there any update ? If the answer resolved the question, please remember to accept as answer so that it could also help others in the forum who have the similiar question.
Thanks
Best Regards