Hi @ thastark1,
Could you please share a screenshot of your flow’s configuration?
Could you please show more details about your sharepoint library?
Did you choose the option “Create major and minor (draft) versions” in the “Create a version each time you edit a file in this document library” field
The error says you couldn’t set the Approve status when the item’s current state is Draft.
If you choose the option “Create major and minor (draft) versions” in the “Create a version each time you edit a file in this document library” field, the same error would accur as yours when the flow run.
You could choose the “Create major versions” in this field as screenshots below:

I have made a test on my side to approve Sharepoint library file, the screenshots of my Sharepoint library as below:

The “file status” column is a choice type column, the column‘s value could be “Approved” , “Rejected” or “Pending” ,the column‘s default value is Pending.
If your flow would be triggered when an item is created or modified, when the value of system field “Approval Status” is changed, the flow would be triggered again,
you could add a “file status” column in the list as me to prevent this issue to accur.

You could create a flow following steps below:
- Add a trigger “When an item is created or modified (properties only)”, fill in your Site Address and Library Name.
- Add a Condition, the first value set to the “file status Value” dynamic content of the trigger, the second value set to “Pending”, the condition in the middle select “is equal to”.
- Inside the If yes branch of Condition, add action “Start an approval”, choose an Approval type, fill in the “Title” and “Assigned to” field.
- Add a Condition under the “Start an approval” action, the first value set to the Response dynamic content of “Start an approval” action, the second value set to “Approve”, the condition in the middle select “is equal to”.
- Add a Condition2, the first value set to the Response dynamic content of “Start an approval” action, the second value set to “Approve”, the condition in the middle select is equal to.
- Inside the If yes branch of Condition2,Add action “Update item”, fill in your Site Address and Library Name, fill in the ID dynamic content of the trigger in the “Id” Field, fill in the Title dynamic content of the trigger in the “Title” Field, choose Approved in the “file status Value” field.
- Add a “Get file metadata” action under the “Update item” action, fill in your Site Address, choose the “Identifier” dynamic content of “Update item” action in the “File Identifier” field.
- Add a “Set content approval status” action under the “Get file metadata” action, ”, fill in your Site Address and Library Name, choose the ID dynamic content of the trigger in the “Id” Field, choose Approve in the Action field, choose the “Comments” dynamic content of the “Start an approval” action, choose the “ETag” dynamic content of the “Get file metadata” action
- Inside the If no branch of Condition2,Add action “Update item2”, fill in your Site Address and Library Name, fill in the ID dynamic content of the trigger in the “Id” Field, fill in the Title dynamic content of the trigger in the “Title” Field, choose Rejected in the “file status Value” field.
- Add a “Get file metadata2” action under the “Update item2” action, fill in your Site Address, choose the “Identifier” dynamic content of “Update item2” action in the “File Identifier” field.
- Add a “Set content approval status2” action under the “Get file metadata2” action, ”, fill in your Site Address and Library Name, choose the ID dynamic content of the trigger in the “Id” Field, choose Reject in the Action field, choose the “Comments” dynamic content of the “Start an approval” action, choose the “ETag” dynamic content of the “Get file metadata2” action.
Image reference:


When a file is created in the library, the flow run successfully as below:

The screenshot of the new created file’s status in the Sharepoint library as below:

Note: The flow would work when a file is created in the library, I am afraid it is difficult for the flow to “Start an approve” with updated file in this situation, because the “Approval Status” and “file Status” of a file in the library would always be “Approved” or “Rejected”, you could not “Start an approve” with the file again.
Regards,
Alice Zhang