cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
OzHamid
New Member

Looking to have Approval Flow start after rejection

Hello,

 

I am trying to figure out a way to have an Approval restart after it has been rejected. For example, an item is submitted to sharepoint for approval and is reviewed by the approver. The approver may reject it and note to the submitter that they just need to change something minor (or what have you) for it to be approved. Now, I don't want the flow to end, I want it to wait for a specific period of time and check to see if the item was modified by the submitter (meaning, they went back and changed what they needed to). Once it sees that change, it should resend the approval to the approver for review. Does anyone have any experience with this/know how to do this?

 

Thanks!

1 ACCEPTED SOLUTION

Accepted Solutions

You could use one Flow, but it may get complicated.  If you want to keep it simple, you may want to spilt into two Flows.

 

Scott

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Scott

View solution in original post

27 REPLIES 27
vecerpa
Memorable Member
Memorable Member

I'm also interested in this. Is there some solution?
P.
v-xida-msft
Community Support
Community Support

Hi @OzHamid,

 

How do you want to do if the second approval email (after changing what they need to) is also rejected by the approver?

 

I have created a SharePoint list on my side and the data structure of it as below:6.JPG

Note: The TaskName column and Executor column are both Single line of text type column, Due Date column is a Date type column, ApprovalStatus column is a Choice type column (available value: "Approved" or "Rjected") and the default value of it is null. The Last Modified Time column is a Date type column, which is used to store the last modification time of the item.

 

I have made a test on my side and please take a try with the following workaround:

  • Add a "When an item is created" trigger.
  • Add a "Start an approval" action, specify Assigned to field.
  • Add a "Condition", left input box set to Response dynmaic content of "Start an approval" action, right input box set to Approve, within middle drop down, choose is equal to.
  • Within "If/yes" branch of Condition, add a "Update item" action, ApprovalStatus Value field set to Approved, Last Modified Time field set to Modified dynamic content of the trigger.
  • Within "If/no" branch of Condition, add a "Send an email" action to notify the submitter that they just need to change something for it to be approved. Then add a "Update item 2" action, ApprovalStatus Value field set to Rejected, Last Modified Time field set to Modified dynamic content of the trigger.

         Add a "Do Until" action, within condition box, click "Edit in advanced mode", type the following formula:

@equals(body('Get_item_2')?['ApprovalStatus']?['Value'], 'Approved')

       Within "Do Until" action, add a "Delay" action, Count set to 1 and Unit set to Minute. Add a "Get item" action, Id field set to ID dynamic content of the trigger. Then add a "Condition 2", left input box set to Modified dynamic content of the "Get item" action, right input box set to Last Modified Time dynamic content of "Get item" action. Within "If/yes" branch of "Condition 2", add a "Start an approval 2" action, then add a Condition 3, left input box set to Response dynmaic content of "Start an approval 2" action, right input box set to Approve, within middle drop down, choose is equal to. Within "If/yes" of Condition 3, add a "Update item 3" action, ApprovalStatus Value field set to Approved, Last Modified Time field set to Modified dynamic content of the "Get item" action. Within "If/no" branch of Condition 3, add a "Send an email 2" action to notify the submitter that they just need to change something for it to be approved. Then add a "Update item 4" action, ApprovalStatus Value field set to Rejected, Last Modified Time field set to Modified dynamic content of the "Get item" action. Under "Condition 3" (still within "If/yes" branch of Condition 2), add a "Get item 2" action, Id field set to ID dynamic content of the trigger.

 

Image reference:7.JPG

 

8.JPG

 

The "Do Until" action:9.JPG

The "Condition 2" action:10.JPG

The Condition 3 action:11.JPG

 

The flow works successfully as below:12.JPG

 

13.JPG

 

 

Best regards,

Kris

 

 

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Hi @v-xida-msft,

 

This is quite complex workaround. I was thinking about something like this, I need to use it in multilevel approval, so I need to figure out how to do it :).

But thank you for showing me the path.

P.

Anonymous
Not applicable

Hi @vecerpa, Did you ever come up with a solution? I want to create an approval flow, and just like you, I want a way to resubmit an approval request at the stage it was rejected and needs modification. 

 

-Sam

jcollins
Advocate II
Advocate II

I have come up with a way to do this but it can get very cumbersome and confusting to follow. But here goes: 

Mine is also multi approvers... so this is added to every NO condition after the Approval stage: 

 

photo of flow here

 

if Rejected, the flow will send an email to the creator and then update the status of the item. Then it will wait until the item has been modified by the original creator before it creates a new item with all the same data after the saved correction. It then terminates.  The creation of the new item then kicks off the Flow on that new item. 

 

The trick is to ensure your Get Item is getting the right version of the item and that you are creating the new item with the corrected data. 

 

The problem here then becomes: What happens if the new item is rejected... Since the Author of the newly created item no longer belongs to the person who originally submitted it, that user won't be able to edit it. The new item gets created by the person who creates the flow and with my permissions set to only allow users to see & edit  their own items, they won't see the 2nd item that was created by me if it gets rejected again. 

 

I haven't done this yet but my idea to solve that matter is to create (or copy) that new item in a different location that is open to everyone for editing. Once they make their edits, it copies that item back to the original place and deletes it off the everyone location.   I need more ideas though... this might be too complicated..  Thanks!

Hi @Anonymous,

 

I was not able to test it yet, by Serge Luca have nice blog post on his site about state machine in Flow.

https://sergeluca.wordpress.com/2018/01/21/pattern-for-implementing-state-machines-with-microsoft-flow/.

 

The only problem is that it requires some people logic when working with approvals to be able to work when rejected.

P.

ScottShearer
Super User
Super User

I'd like to suggest that it might be a better approach to have the user manually re-submit the item for approval once it has been rejected.  My reasoning is that the user might make multiple edits to an item before it is ready to be resubmitted. How can you determine that the user is through making edits unless it is manually resubmitted?

 

Also, the Approval process does not provide you with a way to determine exactly what needs to be changed so there is no way to know if the requested changes have been made. 

 

Have you considered using a "For a selected item" action to allow the user to re-submit?

 

If you want to remind the user that they need to resubmit and you are updaring the item with the result of the approval (rejected), you might run a Flow once a day (or less frequently...) that looks for items in your list that have been rejected and sends a reminder email saying that the item needs to be revised and resubmitted.

 

One final thought - you might include a boolean column in the list titled something like "ready to Resubmit for approval".  Have a flow run when the item has changed and start the approval process again if the user has checked that box.  I would also clear the check box when the Flow runs so that it doesn't run again the next time there is a change.

 

 

 

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Scott

@ScottShearer - How would recommend handling Reject and Reject for Re-Submit?  In the first scenario the individual is NOT allowed to make changes, and in the second that are allowed.

Thanks @ScottShearer! I like your final suggestion on having them check a box to indicate they are finished and want to re-submit.  This seems feasible because you are right, if they just wanted to save and not submit, that would create an issue. 

 

 I already do the reminder flow which works nicely, thanks!

 

 And no, i have not looked at the "For a selected item" action yet, what does it do?  I haven't found any info on it yet. 

 

 

@robertcaretta :

 

In a scenario where an individual is not allowed to make changes, it is implied that permissions are changed on the item such that they cannot edit the item.  Flow does not natively support this concept yet.  However, Serge Luca has written a blog on how to accomplish this via SharePoint web service calls.  In addition Plumsail has a connector that allows you to set permissiuons as well (not free).

 

Another option is to copy items that shopuld not be editied to another list where the individual has only read permissions and delete the originasl entry.  If these items will never change, then way not move them to another list?

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Scott

The "For a Selected Item" trigger allows for a user to select a specific SharePoint item and manually start a Flow.  This is very similar to running a manual SharePoint Designer workflow.

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Scott

@ScottShearer  Yes, this is exactly what I originally wrote about... but I didn't want to pay for plumsail so my new solution is to keep the list permissions set to Contribute for everyone and re-create a new item when the rejected one gets modified, then delete the rejected one. The newly created one will start the workflow again.  

 

To prevent users from seeing other items they are not supposed to see, i have created only one public view and Filtered it based on the a hidden column called "Original Creator" which stores the name of the user who submitted the original request. The user cannot edit the view or create another view so they won't see any other items that they didn't create.   My HR staff get Design perms so they can go ahead and create a Private view showing all the items as needed.

Your solution of "hiding" rows of data by controlling what views they see works well enough if you don't need true security.  It is easy enough to view SharePoint data outside of SharePoint by using a variety of other tools (such as MS Access, scripting, etc.) and bypass SharePoint views all together.

 

Also, unless you are using a custom permission level (which it sounds like you might be) users can create their own views and see any data in the list to which they have at least read permissions.

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Scott

It is not "true" security but with "Contribute" perms, my users do not see the option to create another view. They only see the filtered view i created as the default view. They can add/delete columns they see in that view and save as a private view but can't access the filtered options.  Thank goodness none of my users are savvy enough to write any script.  So for now this is a very viable solution.

@ScottShearer - I plan on working out the row level permissions after I have the skeleton of the logic worked out. But yes,  I strip permissions off after a user submits the item and return permissions at the appropriate time. You can also start with just ADD permissions on a list as a users default rights.

 

Sorry if I wasn't clear. What I was getting at was providing the Approver the ability to take one additional action in additiona to Reject. In many of my existing use cases I give the approver 3 options:  Approve, Reject, Return. This works great with our on-premise system with Nintex. However with Flow and using the built in approval system, you only get Approve and Reject. Just trying to understand if perhaps you or anyone else has a strategy around this. Seems like there is no customization at all with the approval system, and I don't see a way of collecting more information from the approver. Would be nice if I could ask the Approver a simple question with a drop-down menu of additional custom options. 

 

I love the fact that Microsoft provides mobile apps for Flow and the pre-exisitng functionality, but I feel slightly constrained with just Approve or Reject. 

For the sake of sharing, I also found and reported a bug with the action "Update Approval Status" as it relates to the list item create and modify trigger. Doesn't work as you would expect it. This has been confirmed by the Product Team.

 

https://powerusers.microsoft.com/t5/I-Found-A-Bug/SharePoint-List-Created-Modified-Trigger-Conflicts...

@ScottShearer - Thank you for sharing the example by Serge. I may end up implementing that.  Here is how you go about pulling the details for all your site collection permission rolls.

 

Get-PnPRoleDefinition;
$role = Get-PnPRoleDefinition -Identity Read;
$role | Format-List;

Hey, @robertcaretta!

 

Thank you for posting to the Flow Community Forum! It appears you have found a solution to your issue! If you feel as though your issue has been solved and you are satisfied with one of the previous replies, please click "Accept as Solution" so that this thread will be marked for other users to easily identify!

 

Thank you for being an active member of the Flow Community!

 

-Gabriel

Flow Community Manager

- Gabriel
Community Manager
Power Automate | Power Virtual Agents
Super User Program Manager



I am logged in and the option to "Accept as Solution" is not available to me.  @OzHamid is the owner.

Helpful resources

Announcements

Exclusive LIVE Community Event: Power Apps Copilot Coffee Chat with Copilot Studio Product Team

It's time for the SECOND Power Apps Copilot Coffee Chat featuring the Copilot Studio product team, which will be held LIVE on April 3, 2024 at 9:30 AM Pacific Daylight Time (PDT).     This is an incredible opportunity to connect with members of the Copilot Studio product team and ask them anything about Copilot Studio. We'll share our special guests with you shortly--but we want to encourage to mark your calendars now because you will not want to miss the conversation.   This live event will give you the unique opportunity to learn more about Copilot Studio plans, where we’ll focus, and get insight into upcoming features. We’re looking forward to hearing from the community, so bring your questions!   TO GET ACCESS TO THIS EXCLUSIVE AMA: Kudo this post to reserve your spot! Reserve your spot now by kudoing this post.  Reservations will be prioritized on when your kudo for the post comes through, so don't wait! Click that "kudo button" today.   Invitations will be sent on April 2nd.Users posting Kudos after April 2nd at 9AM PDT may not receive an invitation but will be able to view the session online after conclusion of the event. Give your "kudo" today and mark your calendars for April 3, 2024 at 9:30 AM PDT and join us for an engaging and informative session!

Tuesday Tip: Unlocking Community Achievements and Earning Badges

TUESDAY TIPS are our way of communicating helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! We cover basics about the Community, provide a few "insider tips" to make your experience even better, and share best practices gleaned from our most active community members and Super Users.   With so many new Community members joining us each week, we'll also review a few of our "best practices" so you know just "how" the Community works, so make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!     THIS WEEK'S TIP: Unlocking Achievements and Earning BadgesAcross the Communities, you'll see badges on users profile that recognize and reward their engagement and contributions. These badges each signify a different achievement--and all of those achievements are available to any Community member! If you're a seasoned pro or just getting started, you too can earn badges for the great work you do. Check out some details on Community badges below--and find out more in the detailed link at the end of the article!       A Diverse Range of Badges to Collect The badges you can earn in the Community cover a wide array of activities, including: Kudos Received: Acknowledges the number of times a user’s post has been appreciated with a “Kudo.”Kudos Given: Highlights the user’s generosity in recognizing others’ contributions.Topics Created: Tracks the number of discussions initiated by a user.Solutions Provided: Celebrates the instances where a user’s response is marked as the correct solution.Reply: Counts the number of times a user has engaged with community discussions.Blog Contributor: Honors those who contribute valuable content and are invited to write for the community blog.       A Community Evolving Together Badges are not only a great way to recognize outstanding contributions of our amazing Community members--they are also a way to continue fostering a collaborative and supportive environment. As you continue to share your knowledge and assist each other these badges serve as a visual representation of your valuable contributions.   Find out more about badges in these Community Support pages in each Community: All About Community Badges - Power Apps CommunityAll About Community Badges - Power Automate CommunityAll About Community Badges - Copilot Studio CommunityAll About Community Badges - Power Pages Community

Tuesday Tips: Powering Up Your Community Profile

TUESDAY TIPS are our way of communicating helpful things we've learned or shared that have helped members of the Community. Whether you're just getting started or you're a seasoned pro, Tuesday Tips will help you know where to go, what to look for, and navigate your way through the ever-growing--and ever-changing--world of the Power Platform Community! We cover basics about the Community, provide a few "insider tips" to make your experience even better, and share best practices gleaned from our most active community members and Super Users.   With so many new Community members joining us each week, we'll also review a few of our "best practices" so you know just "how" the Community works, so make sure to watch the News & Announcements each week for the latest and greatest Tuesday Tips!   This Week's Tip: Power Up Your Profile!  🚀 It's where every Community member gets their start, and it's essential that you keep it updated! Your Community User Profile is how you're able to get messages, post solutions, ask questions--and as you rank up, it's where your badges will appear and how you'll be known when you start blogging in the Community Blog. Your Community User Profile is how the Community knows you--so it's essential that it works the way you need it to! From changing your username to updating contact information, this Knowledge Base Article is your best resource for powering up your profile.     Password Puzzles? No Problem! Find out how to sync your Azure AD password with your community account, ensuring a seamless sign-in. No separate passwords to remember! Job Jumps & Email Swaps Changed jobs? Got a new email? Fear not! You'll find out how to link your shiny new email to your existing community account, keeping your contributions and connections intact. Username Uncertainties Unraveled Picking the perfect username is crucial--and sometimes the original choice you signed up with doesn't fit as well as you may have thought. There's a quick way to request an update here--but remember, your username is your community identity, so choose wisely. "Need Admin Approval" Warning Window? If you see this error message while using the community, don't worry. A simple process will help you get where you need to go. If you still need assistance, find out how to contact your Community Support team. Whatever you're looking for, when it comes to your profile, the Community Account Support Knowledge Base article is your treasure trove of tips as you navigate the nuances of your Community Profile. It’s the ultimate resource for keeping your digital identity in tip-top shape while engaging with the Power Platform Community. So, dive in and power up your profile today!  💪🚀   Community Account Support | Power Apps Community Account Support | Power AutomateCommunity Account Support | Copilot Studio  Community Account Support | Power Pages

Super User of the Month | Chris Piasecki

In our 2nd installment of this new ongoing feature in the Community, we're thrilled to announce that Chris Piasecki is our Super User of the Month for March 2024. If you've been in the Community for a while, we're sure you've seen a comment or marked one of Chris' helpful tips as a solution--he's been a Super User for SEVEN consecutive seasons!   Since authoring his first reply in April 2020 to his most recent achievement organizing the Canadian Power Platform Summit this month, Chris has helped countless Community members with his insights and expertise. In addition to being a Super User, Chris is also a User Group leader, Microsoft MVP, and a featured speaker at the Microsoft Power Platform Conference. His contributions to the new SUIT program, along with his joyous personality and willingness to jump in and help so many members has made Chris a fixture in the Power Platform Community.   When Chris isn't authoring solutions or organizing events, he's actively leading Piasecki Consulting, specializing in solution architecture, integration, DevOps, and more--helping clients discover how to strategize and implement Microsoft's technology platforms. We are grateful for Chris' insightful help in the Community and look forward to even more amazing milestones as he continues to assist so many with his great tips, solutions--always with a smile and a great sense of humor.You can find Chris in the Community and on LinkedIn. Thanks for being such a SUPER user, Chris! 💪 🌠  

Find Out What Makes Super Users So Super

We know many of you visit the Power Platform Communities to ask questions and receive answers. But do you know that many of our best answers and solutions come from Community members who are super active, helping anyone who needs a little help getting unstuck with Business Applications products? We call these dedicated Community members Super Users because they are the real heroes in the Community, willing to jump in whenever they can to help! Maybe you've encountered them yourself and they've solved some of your biggest questions. Have you ever wondered, "Why?"We interviewed several of our Super Users to understand what drives them to help in the Community--and discover the difference it has made in their lives as well! Take a look in our gallery today: What Motivates a Super User? - Power Platform Community (microsoft.com)

March User Group Update: New Groups and Upcoming Events!

  Welcome to this month’s celebration of our Community User Groups and exciting User Group events. We’re thrilled to introduce some brand-new user groups that have recently joined our vibrant community. Plus, we’ve got a lineup of engaging events you won’t want to miss. Let’s jump right in: New User Groups   Sacramento Power Platform GroupANZ Power Platform COE User GroupPower Platform MongoliaPower Platform User Group OmanPower Platform User Group Delta StateMid Michigan Power Platform Upcoming Events  DUG4MFG - Quarterly Meetup - Microsoft Demand PlanningDate: 19 Mar 2024 | 10:30 AM to 12:30 PM Central America Standard TimeDescription: Dive into the world of manufacturing with a focus on Demand Planning. Learn from industry experts and share your insights. Dynamics User Group HoustonDate: 07 Mar 2024 | 11:00 AM to 01:00 PM Central America Standard TimeDescription: Houston, get ready for an immersive session on Dynamics 365 and the Power Platform. Connect with fellow professionals and expand your knowledge. Reading Dynamics 365 & Power Platform User Group (Q1)Date: 05 Mar 2024 | 06:00 PM to 09:00 PM GMT Standard TimeDescription: Join our virtual meetup for insightful discussions, demos, and community updates. Let’s kick off Q1 with a bang! Leaders, Create Your Events!  Leaders of existing User Groups, don’t forget to create your events within the Community platform. By doing so, you’ll enable us to share them in future posts and newsletters. Let’s spread the word and make these gatherings even more impactful! Stay tuned for more updates, inspiring stories, and collaborative opportunities from and for our Community User Groups.   P.S. Have an event or success story to share? Reach out to us – we’d love to feature you!

Users online (6,436)