Target SharePoint environment
SharePoint Online
What SharePoint development model, framework, SDK or API is this about?
SharePoint REST API
Developer environment
Windows
What browser(s) / client(s) have you tested
Additional environment details
- PowerAutomate with per user plan.
- Web region set to (UTC) Dublin, Edinburgh, Lisbon, London
- Web Locale set to English
Describe the bug / error
Currently I have a very simple PowerAutomate flow that is triggered on item creation or modification. The flow is associated with a very basic list containing just a title column for testing purposes. Using the 'validateUpdateListItem' endpoint along with the SharePoint HTTP action I am trying to update the title.
When testing this the list item is updated as expected, and the version does not increment, however the PowerAutomate flow is triggered again as if the list item has been modified.
When inspecting the body of the trigger when the flow is triggered I can see that the modified date is an hour behind that of the actual modification time, as an example:

Even when converting the date to UTC using a PowerAutomate expression in the body of the HTTP Post action I am finding that the flow is being triggered multiple times, as an example:

Currently the HTTP Post Action is configured as so:
Endpoint
https://tenant.sharepoint.com/sites/sitecol/_api/web/GetList('/sites/sitecol/Lists/mylist')/items(22)/ValidateUpdateListItem()
Method
Post
Headers
{ "Accept": "application/json;odata=nometadata", "Content-Type": "application/json;odata=nometadata" }
Body
{"formValues":
[
{ "FieldName": "Modified", "FieldValue": "2021-10-21 22:52:36" },
{"FieldName":"Editor", "FieldValue":"[{'Key':'username@tenant.onmicrosoft.com'}]"},
{"FieldName":"Title","FieldValue":"UpdatedTitle"}
],
"bNewDocumentUpdate":true
}
Steps to reproduce
- Create Automated Cloud Flow
- Select 'When an item is created or modified' trigger
- Set trigger to be associated with SharePoint list.
- Add 'Send an HTTP request to SharePoint' action to flow.
- Set the method on the action to 'Post'
- set the URI to:
/_api/web/GetList('/sites/validateupdatelistitem/Lists/ValidateUpdate')/items(@{triggerOutputs()?['body/ID']})/ValidateUpdateListItem()
- Set the headers to the following:
{ "Accept": "application/json;odata=nometadata", "Content-Type": "application/json;odata=nometadata" }
- In the body set the form values, these have been set as follows:
{"formValues": [ { "FieldName": "Modified", "FieldValue": "@{convertFromUtc(triggerBody()?['Modified'], 'GMT Standard Time', 'yyyy-MM-dd HH:mm:ss')}" }, {"FieldName":"Editor", "FieldValue":"[{'Key':'@{triggerOutputs()?['body/Editor/Email']}'}]"}, {"FieldName":"Title","FieldValue":"UpdatedTitle"} ], "bNewDocumentUpdate":true }
- Create new list item in the list associated with the flow, the flow should trigger multiple times.
Expected behavior
I would expect the list item title to be updated but that the flow would then not run again, this is a tried and practiced method I have used before and it has only recently started happening so I am not sure if this is a bug with PowerAutomate or a change with how the 'validateUpdateListItem' endpoint works.
Target SharePoint environment
SharePoint Online
What SharePoint development model, framework, SDK or API is this about?
SharePoint REST API
Developer environment
Windows
What browser(s) / client(s) have you tested
Additional environment details
Describe the bug / error
Currently I have a very simple PowerAutomate flow that is triggered on item creation or modification. The flow is associated with a very basic list containing just a title column for testing purposes. Using the 'validateUpdateListItem' endpoint along with the SharePoint HTTP action I am trying to update the title.
When testing this the list item is updated as expected, and the version does not increment, however the PowerAutomate flow is triggered again as if the list item has been modified.
When inspecting the body of the trigger when the flow is triggered I can see that the modified date is an hour behind that of the actual modification time, as an example:

Even when converting the date to UTC using a PowerAutomate expression in the body of the HTTP Post action I am finding that the flow is being triggered multiple times, as an example:
Currently the HTTP Post Action is configured as so:
Endpoint
https://tenant.sharepoint.com/sites/sitecol/_api/web/GetList('/sites/sitecol/Lists/mylist')/items(22)/ValidateUpdateListItem()
Method
Post
Headers
{ "Accept": "application/json;odata=nometadata", "Content-Type": "application/json;odata=nometadata" }Body
Steps to reproduce
/_api/web/GetList('/sites/validateupdatelistitem/Lists/ValidateUpdate')/items(@{triggerOutputs()?['body/ID']})/ValidateUpdateListItem(){ "Accept": "application/json;odata=nometadata", "Content-Type": "application/json;odata=nometadata" }{"formValues": [ { "FieldName": "Modified", "FieldValue": "@{convertFromUtc(triggerBody()?['Modified'], 'GMT Standard Time', 'yyyy-MM-dd HH:mm:ss')}" }, {"FieldName":"Editor", "FieldValue":"[{'Key':'@{triggerOutputs()?['body/Editor/Email']}'}]"}, {"FieldName":"Title","FieldValue":"UpdatedTitle"} ], "bNewDocumentUpdate":true }Expected behavior
I would expect the list item title to be updated but that the flow would then not run again, this is a tried and practiced method I have used before and it has only recently started happening so I am not sure if this is a bug with PowerAutomate or a change with how the 'validateUpdateListItem' endpoint works.