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

SharePoint
SharePoint
A group of Microsoft Products and technologies used for sharing and managing content, knowledge, and applications.
9,600 questions
SharePoint Workflow
SharePoint Workflow
SharePoint: A group of Microsoft Products and technologies used for sharing and managing content, knowledge, and applications.Workflow: An orchestrated and repeatable pattern of business activity, enabling data transformation, service provision, and information retrieval.
507 questions
{count} votes

3 answers

Sort by: Most helpful
  1. sadomovalex 3,626 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.


  2. 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");  
            }   
        });  
    }  
    

    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.


  3. 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

    0 comments No comments