I'm working on an approval workflow (two approval stages) which uses the "When a file is created or updated (properties only)" trigger. In the beginning of the flow, I check if the Approval Status is "pending" - because I only want to run the flow when someone has checked in a major version.
I'm almost there, but I'm facing a challenge. During the flow, I update a column for the document, to show where in the flow process we are. Well, turns out that this also automatically changes the Approval Status back to "draft" and upps the minor version number. Well, this obviously makes the final Approval action fail. because that only works when the Approval Status is "waiting", not "draft".
Does anyone know if it's possible to update the document properties without changing the Approval Status and Version? Like SystemUpdate() in C#? I was thinking I could change the Approval Status to "waiting" before changing it to "approve", but this sounds like a really bad idea. It will probably trigger a new instance of the flow (??).
I hope somebody has a straight and great answer/solution for this...
It seems that you have enabled the Content Approval for the library. As far as I know, once we enabled the Content Approval, there are only three statuses, Approve, Reject and Pending. The approval status won’t change until you approve a document that has been uploaded or added to a library.
From your description, it seems that the approval status will be changed automatically to “draft”. Do you have an approval status of “draft” and how is it changed automatically? Please share more details about this part.
Besides, whenever changes are made on a file, the version will be updated and I assume that it doesn’t relate to Microsoft Flow.
Before you change the approval status to Approve/Reject, it will be Pending. And once you change the status from Pending to Approve/Reject, the flow with the trigger When a file is created or modified (properties only) will be triggered. If you only want to send out an approval email when the status is Approve, please try to add a Condition in the flow.
Please feel free post back if you need more help.
Yes, Content Approval is enabled. I also have major and minor versions enabled. Also, it is not required to check out documents before editing.
So, I just realized that I wasn't precise enough in my description.
As mentioned I have a two stage approval flow. The trigger is, as mentioned "When a file is created or modified (properties only)", but the actual approval process doesn't start unless Moderation Status is equal to 2 (Waiting).
Before the first approval gets started I update a field in the property documents (text column which indicated where in the flow process we are at all times). I update this field several places in the process. Then I start the first approval. If the result of this is Approve, I start the next approval.
It seems to me that as soon as I update the field, the Moderation Status is changed to Draft, and this results in that it's not possible to set the document to Approve.
When using the action Set content approval status, does it update the Moderation Status field or something else?
Thanks for detailed clarification.
I am afraid that it might be a default behavior for SharePoint that the Approval status would be changed to Pending whenever a change is made on the field.
For your scenario, I would suggest you use a Choice column instead of using the Approval content. You could specify selections of Approve, Reject and Pending for the column, and I assume that the selection won’t be changed when you modify the field.
Action Set content approval status will update the status with specified value, however, once you make changes on the field, the approval status changes to Pending.
Please take a try with it.
Thanks for the reply.
I have to admit that I didn't exactly understand what you suggested.
Did you mean that if I use a Choice column instead and update the value of it during the flow, the OOTB Approval Status won't change??
@HelgeNorvang , Did you up finding a solution to this problem? I'm considering making a separate "approval history Log list" or database where i create an item everytime the file is modified. Didn't really want to do that though as writing to a multi line comments field is cleaner...