Let's POWER Automate

From no-code to low-code

Menu
  • Expressions
  • Filters
  • General
  • Triggers
  • Application specific solutions
    • Dataverse
    • Excel
    • Forms
    • Planner
    • Outlook
    • SharePoint
    • Teams
  • Resources
  • Get help with flow
Menu

Update SharePoint column without new item version in Power Automate

Posted on March 21, 2021January 6, 2022 by Tom

“I’m using Power Automate to update a backup column with each user update on the item, how can I do it without doubling the item version?”


For some solutions, e.g. when triggering a flow on SP column update, you might need a ‘backup’ column. A column you’ll use to store a previous value of another column when user updates it. But if you have a separate action to update only that one column, it can mess up your versioning. Each user update will trigger the flow, and the flow will do another ‘sync’ update. One extra item version only to keep the columns synchronized. There has to be a better way to keep the versions under control.

SharePoint sync double version

Use HTTP request for the update

The solution is to use HTTP request for the ‘sync’ update. With HTTP request you have more control over the update than with the ‘Update item’ action. While the action allows you only to update columns, with HTTP request you can define additional parameters. And one of the parameters is ‘bNewDocumentUpdate’. By adding the parameter to the request Body you can tell the update to not create another item version.

"bNewDocumentUpdate": true

The full HTTP request format should be as below.

Uri: 
_api/web/lists/GetByTitle('<ListName>')/items(<ItemID>)/validateUpdateListItem

Body:
{
    "formValues":[
	{
	    "FieldName": "<FieldToUpdate>",
	    "FieldValue": "<ValueToUpdate>"
	}
    ],
"bNewDocumentUpdate": true
}
Power Automate HTTP update SP column without version

Updating the item with an HTTP request as above will add the ‘sync’ update to the already existing item version.

SharePoint sync single version

Summary

Even though Power Automate doesn’t offer such functionality directly, you can still update item column without a new item version. But you should use the ‘bNewDocumentUpdate’ parameter only to update system columns, never to update user columns. For user columns it should be always clear which user and when did an update, and you should never ‘overwrite’ it.

But if you just need to keep the number of ‘sync’ versions under control, it might be an optimal solution. Just keep in mind that even if it doesn’t create a new item version, it’s still an update that can cause infinite trigger loop.


Do you struggle with the various expressions, conditions, filters, or HTTP requests available in Power Automate?

I send one email per week with a summary of the new solutions, designed to help even non IT people to automate some of their repetitive tasks.

All subscribers have also access to resources like a SharePoint Filter Query cheat sheet or Date expressions cheat sheet.

Zero spam, unsubscribe anytime.

10 thoughts on “Update SharePoint column without new item version in Power Automate”

  1. Kevin says:
    September 24, 2021 at 1:08 pm

    It seems that this solution is not valid anymore. I tried this my own now and I get a error:502 BadGateway.

    {
    “error”: {
    “code”: 502,
    “source”: “europe-002.azure-apim.net”,
    “clientRequestId”: “a6b7f709-37f0-4bd5-954a-428a9608b913”,
    “message”: “BadGateway”,
    “innerError”: {
    “status”: 502,
    “message”: “Additions to this Web site have been blocked.\n\nPlease contact the administrator to resolve this problem.\r\nclientRequestId: a6b7f709-37f0-4bd5-954a-428a9608b913\r\nserviceRequestId: 639af29f-908c-1000-07d7-773ff2c67fab”,
    “source”: “https://***.sharepoint.com/sites/ndt-document-center/_api/web/Lists/GetbyTitle(‘Approved%20Documents’)/items(4626)/ValidateUpdateListItem”,
    “errors”: [
    “-2130575258”,
    “Microsoft.SharePoint.SPException”
    ]
    }
    }
    }

    Reply
    1. Tom says:
      September 26, 2021 at 7:26 pm

      Hello Kevin,
      that’s not a flow error, but an error on the side of SharePoint, maybe this: https://technologyblog.rsmus.com/microsoft/microsoft-365/office-365-error-additions-web-site-blocked-mystery-solved/.

      Reply
  2. Manu says:
    June 13, 2022 at 5:03 pm

    Nice and interesting article. In my case the item updating works perfectly, but it creates a new version (flow is triggered when approval status changes to “Approved” and updates “Editor” field to a certain account, but after flow execution approval status is “Draft” and version is one minor up).

    Flow execution has no errors (it simply has the same behavior than having “bNewDocumentUpdate”: false). Any suggestion on what I´m doing wrong?

    Rergards

    Reply
    1. Tom says:
      June 19, 2022 at 10:10 am

      Hello Manu,
      I don’t think you can bypass the new version created by the SharePoint content approval functionality, that one does its own updates that’s behind your reach.

      Reply
      1. Manu says:
        June 24, 2022 at 9:33 am

        Thank you so much for your answer, Tom.

        Regards

        Reply
  3. Jonas says:
    June 22, 2022 at 10:32 am

    Is it possible to also avoid a new minor version when updating an column?

    Reply
    1. Jonas says:
      June 22, 2022 at 10:33 am

      ps: we have no content approval. Just major and minor versioning enabled

      Reply
    2. Tom says:
      June 28, 2022 at 4:23 pm

      Hello Jonas,
      I never tried that, but I guess you tried it with the solution so my answer would be ‘no’.

      Reply
  4. Patrick says:
    November 11, 2022 at 9:58 am

    Hey Tom,

    So going off what you’ve said here “For user columns it should be always clear which user and when did an update, and you should never ‘overwrite’ it. “, we weren’t happy with the functionality with the content approval so I started to put together our own similar one.
    It uses the Send HTTP Request for (what’s meant to be) silent column updates – triggered from a PowerApps application – and then uses the Check Out/Check In to maintain Version Control ,while also allowing us to add custom comments – IE document content review updates which SharePoint don’t currently log.

    Issue I’m having is the Send HTTP isn’t exactly silent, it’s still coming up within our version control, but with the additional Check In version update too.

    I feel like I’ve been rattling my brain over this for too long now, as I’m sure that this used to work.
    Could you confirm that Send HTTP does 100% allow you up update a User Column without it being registered within version control?

    Reply
    1. Tom says:
      November 13, 2022 at 6:55 pm

      Hello Patrick,
      I never used it with version control, but if you tried it and it doesn’t work then it probably doesn’t work when it’s enabled. It works if you keep only major versions, but with minor versions SharePoint behaves a lot differently.

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Do you know what to do, but not how to do it?

Get The Ultimate Power Automate expressions cheat sheet and translate your thoughts into flows with ease!


NEW! Master the HTTP requests to SharePoint with a new cheat sheet!

Do you struggle with the various expressions, conditions, filters, or HTTP requests available in Power Automate?

I send one email per week with a summary of the new solutions, designed to help even non IT people to automate some of their repetitive tasks.

All subscribers have also access to resources like a SharePoint Filter Query cheat sheet or Date expressions cheat sheet.

Zero spam, unsubscribe anytime.

Hello and welcome!

My name is Tom and I'm a business process automation consultant and Microsoft MVP living in the Czech Republic. I’ve been working with Microsoft technologies for almost 10 years, currently using mainly Power Automate, SharePoint, Teams, and the other M365 tools.

I believe that everyone can automate part of their work with the Power Automate platform. You can achieve a lot by "clicking" the flows in the designer, but you can achieve much more if you add a bit of coding knowledge. And that's what this blog is about.

To make the step from no-code Power Automate flows to low-code flows: using basic coding knowledge to build more complex yet more efficient flows to automate more of your daily tasks.

  • Use Power Automate to forward Outlook events upon registrationJanuary 29, 2023
  • Why the condition is false for the same numbers (Power Automate)January 25, 2023
  • How to forward event invitation to other calendar (Power Automate)January 22, 2023
  • Run ‘For selected item’ flow from non-default environment (Power Automate)January 18, 2023
  • Hide button in SharePoint list after Power Automate flow startedJanuary 15, 2023

Power Automate blogs worth visiting

Damien Bird
Dennis (Expiscornovus)
Paul Murana

©2023 Let's POWER Automate | Theme by SuperbThemes