web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Issue with Re‑approvin...
Power Automate
Suggested Answer

Issue with Re‑approving a SharePoint Item Using HTTP Actions in Power Automate

(1) ShareShare
ReportReport
Posted on by 16

I have a Power Automate flow that is triggered when a SharePoint library item is approved.

As part of the flow, I update certain properties of the item. However, these updates reset the item’s Approval Status back to “Not submitted”. To handle this, I attempt to re‑approve the item programmatically.

For re‑approval, I added two Send an HTTP request to SharePoint actions:
 

1.Create approval request
URI - _api/SP.Approvals.CreateItemRequest
Body - 
{
  "creationInfo": {
    "listId": "<List Id>",
    "itemId": "<Item Id>",
    "approvers": "<Service account Id>",
    "title": "<File name with extension>",
    "details": "Automatic request",
    "markDocAsFinal": true
  }
}
2.Approve approval request
URI - api/SP.Approvals.ApproveItemRequest
Body -
{
  "listId": "<List Id>",
  "itemId": "<Item Id>",
  "approvalId": "@{body('Send_an_HTTP_request_to_SharePoint')?['d']['CreateItemRequest']}",
  "comments": "Automatic approval"
}
 

The issue is that this re‑approval works intermittently. Most of the time, the flow fails with the following error:
“Action 'Send_an_HTTP_request_to_SharePoint_-_Create_request' failed: Creating new approval request is not allowed if item is in Pending or Approved state.”

This happens even though the Get item properties action immediately before this step returns the item’s Approval Status as “Not submitted”.

 

Question

What could be the cause of this inconsistent behavior, and how can it be fixed?

It appears that SharePoint sometimes still treats the item as Pending or Approved, even though the Approval Status column shows “Not submitted” when retrieved via Get item properties.

Please find the attached screenshot for reference.

1.png
2.png
I have the same question (0)
  • Suggested answer
    Assisted by AI
    ninihen Profile Picture
    121 on at
    I fed this question to my claude agent and it built the demo list/docx/flow. 

    The issue is your Get item properties returns the custom "Approval status" column you set up, showing "Not submitted". But Send an HTTP request → _api/SP.Approvals.CreateItemRequest checks SharePoint's system OData__ModerationStatus field (and the SP.Approvals backend keyed off it). The two drift out of sync - especially after a prior approval completes, gets cancelled, or the custom column is updated independently.

     
    For you to test: Get the same item via raw REST with both fields selected:
     GET _api/web/lists(guid'<list>')/items(<id>)?$select=ApprovalStatus,OData__ModerationStatus

    You'll likely see ApprovalStatus="Not submitted" while OData__ModerationStatus=0 (Approved) or 2 (Pending). That divergence is the root cause.

    To illustrate. For this example item. The custom field (in sharepoint list ApprovalStatus) is Draft. But the systemOData Approval is Pending. 

     
  • patilm Profile Picture
    16 on at

     

    I tried the suggested GET REST API:
    _api/web/lists(guid'<list>')/items(<id>)?$select=ApprovalStatus,OData__ModerationStatus

    First, it failed with this error: “The field or property 'ApprovalStatus' does not exist.”

    Then I tried only:
    _api/web/lists(guid'<list>')/items(<id>)?$select=OData__ModerationStatus

    This returned OData__ModerationStatus = 3, which means Not Submitted.
    However, creating a new approval request is still failing.
  • Suggested answer
    Valantis Profile Picture
    4,810 on at
    Hi @patilm,
     
    The OData__ModerationStatus = 3 (Not Submitted) but CreateItemRequest still failing means the SP.Approvals backend is tracking its own internal state separately from OData__ModerationStatus as well.
     
    There are effectively three layers that need to be in sync: your custom column, OData__ModerationStatus, and the SP.Approvals internal state.
     
    At this point this looks like a platform limitation with SP.Approvals rather than a flow design issue. The SP.Approvals API was designed for the built-in SharePoint approval UI flow, not for programmatic reset-and-resubmit scenarios triggered by property updates.
     
    The most reliable workaround based on what's confirmed so far is to abandon SP.Approvals entirely and use the native SharePoint content approval approach instead. Replace the two HTTP actions with the built-in Set content approval status action (available in the SharePoint connector in Power Automate). This action writes directly to OData__ModerationStatus and bypasses the SP.Approvals backend completely.
     
    Flow pattern:

    1. Update item properties
    2. Add a Delay (5-10 seconds)
    3. Set content approval status → Pending (submits for approval)
    4. Set content approval status → Approved (approves it)
     
    This keeps everything within the native SharePoint layer and avoids the SP.Approvals state machine entirely.
     

     

    Best regards,

    Valantis

     

    ✅ If this helped solve your issue, please Accept as Solution so others can find it quickly.

    ❤️ If it didn’t fully solve it but was still useful, please click “Yes” on “Was this reply helpful?” or leave a Like :).

    🏷️ For follow-ups  @Valantis.

    📝 https://valantisond365.com/

    💼 LinkedIn

    ▶️ YouTube

     
  • Valantis Profile Picture
    4,810 on at

    Hi @patilm,

    Just wanted to check in and see if everything is working now. If you still need any help, feel free to let me know.

    Also, if the issue is resolved, it would be great if you could mark the answer as solved so others with the same question can find it easily.

     

    Thanks and have a great day!

     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the March Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Automate

#1
Vish WR Profile Picture

Vish WR 873

#2
Valantis Profile Picture

Valantis 813

#3
Haque Profile Picture

Haque 526

Last 30 days Overall leaderboard