Share via

How to update sharepoint list item using HttpSend with POST in visual studio workflow

Aare Srinivas Patel 1 Reputation point
2021-03-08T14:21:09.947+00:00

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

75419-httpsend-post.png

Regards
Srinivas Are

Microsoft 365 and Office | SharePoint | For business | Windows

3 answers

Sort by: Most helpful
  1. ZhengyuGuo 10,591 Reputation points Moderator
    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

    Was this answer helpful?

    0 comments No comments

  2. ZhengyuGuo 10,591 Reputation points Moderator
    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");  
            }   
        });  
    }  
    

    75637-snipaste-2021-03-09-15-33-17.png

    75761-snipaste-2021-03-09-15-33-32.png

    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.

    Was this answer helpful?


  3. sadomovalex 3,636 Reputation points
    2021-03-08T15:25:08.157+00:00

    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.

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.