none
Parallel approval workflow, where One approval completes the workflow.

    Question

  • Hi There,

    I have a form that when submitted I would like to go to two people for approval, so I have set up a workflow using SPD which has an approval process, its goes to two people in parallel and I have set the "If Task Process Results:Number of Approved equals 1" in the "Check Completion Conditions" which I thought should work, But it is not, am I doing something wrong, or missing something? I have also tried % of approved equal to or greater than but I put it in decimal.

    Cheers

    Kyall

    Thursday, December 8, 2011 4:58 AM

Answers

  • So if user 1 approves the task then the workflow should stop? But if user 1 rejects it the workflow should continue?

    The instructions above assume that you don't care what the outcome is. Whichever user gets to the workflow first will dictate the outcome of the workflow. In my case I have a primary and a backup. Both users have the same amount of organizational power to make decisions. We just have 2 people associated with the workflow so that we're not waiting on 1 person. Here's what I have in designer:

    If you do care about user 1's decision (as opposed to my case) I can help you work through that as we'll need some additional statements in the workflow to account for that.

    • Marked as answer by Kyall Horner Friday, March 30, 2012 5:23 AM
    Monday, January 16, 2012 3:26 PM

All replies

  • Hi, It sure sounds like you'd be better off using the standard Disposition Approval workflow. It has the option to handle people in parallel. If it's not exactly what you want, you can take it as a starting point and change it in SPD.
    Kind regards,
    Margriet Bruggeman

    Lois & Clark IT Services
    web site: http://www.loisandclark.eu
    blog: http://www.sharepointdragons.com

    Thursday, December 8, 2011 5:40 AM
  • Hi Margriet,

    What I have done is take the "Start Approval Process" action from SPD, I'm assuming this is similar to the OOTB Approval workflow. From there I am trying to edit the completion conditions.

    Cheers

    Kyall

    Thursday, December 8, 2011 5:54 AM
  • The OOTB Approval workflow contains more then the "start approval process" action. The approval workflow uses the "start approval process" action but also provides an approval mechanism for documents that allows you to assign tasks serially or parallel. If you select this workflow in SPD (under globally reusable workflow) and select "copy and modify", you will have your own approval process to change.


    Kind regards,
    Margriet Bruggeman

    Lois & Clark IT Services
    web site: http://www.loisandclark.eu
    blog: http://www.sharepointdragons.com

    Thursday, December 8, 2011 6:00 AM
  • Sorry I may not have been clear in the OP. What I want to happen is that when one of the two people approve the item it completes the workflow sets the document as approved.

    Hope that clears things up

    Cheers

    Kyall

    Thursday, December 8, 2011 6:01 AM
  • The ootb approval workflow does not work that way, but you could use it as a starting point in SPD.
    Kind regards,
    Margriet Bruggeman

    Lois & Clark IT Services
    web site: http://www.loisandclark.eu
    blog: http://www.sharepointdragons.com

    Thursday, December 8, 2011 6:08 AM
  • The OOTB Approval workflow contains more then the "start approval process" action. The approval workflow uses the "start approval process" action but also provides an approval mechanism for documents that allows you to assign tasks serially or parallel. If you select this workflow in SPD (under globally reusable workflow) and select "copy and modify", you will have your own approval process to change.


    Kind regards,
    Margriet Bruggeman

    Lois & Clark IT Services
    web site: http://www.loisandclark.eu
    blog: http://www.sharepointdragons.com

    You can also set the tasks serially or parallel within the "start approval process" action, what I am trying to accomplish is a change to the completion conditions, I think I am almost there, Here is what I have:

    If Task Process:Future Task Count equals 0

    and Task Process:Active TaskCount equals 0

       If Task Process Results:Number of Approved is greater than or equal to 1

          Set Variable: IsItemApproved to Yes

       then Set Variable: CompletionReason to %Task Process:Process Name% on %Task Process:Item Title% has successfully completed. All participants have completed their tasks.

       then End Task Process

    Now all of that is what comes OOTB with the 'Start approval process' all I have changed is the 'greater than or equal to 1'

     

     

    Thursday, December 8, 2011 10:20 PM
  • Can anyone help me?

    Friday, December 16, 2011 12:14 AM
  • In the Completion Conditions of the Approval workflow do the following:

    • Set the Future Task Count equal to 1
    • remove the "and Task Process:Active Task Count equals 0"
    • Set Task Process Results:Number of Approved equal to 1
    • Add a Task Process Results:Number of Rejected and set it to 1
    • Add a Variable: IsItemApproved and set it to Yes

     

    Friday, January 6, 2012 9:21 PM
  • Thanks, will give this a try when I get back to work on monday.
    Saturday, January 7, 2012 2:00 AM
  • So that works if one of the two people reject it and one of the two approve it, but how do I get it so that it completes when only one of the two approve it with no other conditions?

     

    What happens is that the workflow will go to two people and whoever actions it first can approve it but then the second person isnt neccessary so I want the workflow to finish after the one approval.




    Tuesday, January 10, 2012 10:09 PM
  • It is in effect doing just that. You are using an approval workflow correct? The only way to complete an approval workflow is to approve or reject.
    Wednesday, January 11, 2012 2:16 PM
  • I am not using a modyfied OOTB approval workflow what i did was create a workflow from scratch and put the approval action into it.

    Perhaps I made an error in following your instructions. I'll check it over again. What I have currently as per your instructions.

     If Task Process:Future Task Count equals 1

    If Task Process Results:Number of Approved equals 1

    and Task Process Results:Number of Rejected equals 1

    Set Variable: IsItemApproved to Yes

    then Set Variable: CompletionReason to %Task Process:Process Name% on %Task Process:Item Title% has successfully completed. All participants have completed their tasks.

    then End Task Process

    so if I was to take out the 'Number of rejected' clause when one person approves it, should go to set variable item approved correct? But when I do that nothing happens and the 2nd person is still required to approve.

    Wednesday, January 11, 2012 11:25 PM
  • So if user 1 approves the task then the workflow should stop? But if user 1 rejects it the workflow should continue?

    The instructions above assume that you don't care what the outcome is. Whichever user gets to the workflow first will dictate the outcome of the workflow. In my case I have a primary and a backup. Both users have the same amount of organizational power to make decisions. We just have 2 people associated with the workflow so that we're not waiting on 1 person. Here's what I have in designer:

    If you do care about user 1's decision (as opposed to my case) I can help you work through that as we'll need some additional statements in the workflow to account for that.

    • Marked as answer by Kyall Horner Friday, March 30, 2012 5:23 AM
    Monday, January 16, 2012 3:26 PM
  • So if user 1 approves the task then the workflow should stop? But if user 1 rejects it the workflow should continue?

    The instructions above assume that you don't care what the outcome is. Whichever user gets to the workflow first will dictate the outcome of the workflow. In my case I have a primary and a backup. Both users have the same amount of organizational power to make decisions. We just have 2 people associated with the workflow so that we're not waiting on 1 person.

    This is exactly what im after im in the same situation. However when I put that code into the workflow it still requires both approvals and ends up with rejected as picture below.

    Tuesday, February 7, 2012 12:20 AM
  • Thanks david, it wasnt working on my dev server but once I put it into the production server it worked fine, ill have to look into my dev servers issues soon.

    Thanks again

    Kyall

    Friday, March 30, 2012 5:25 AM
  • I have the same problem, did you figure it out ?

    The code does not work for me and even if one approve the task wait until the second one does something.

    Cheers.

    Tuesday, November 27, 2012 7:14 PM
  • Hmmm....I'm a bit confused here.  Sorry for the late late response, but I am simply using the ootb approval 2010 workflow, set to parallel (not serial), and the checkbox with the label For each group entered, assign a task to every member of that group UNCHECKED and that seems to work for me.  I have a sharepoint group of approvers that's connected to Active Directory, and I add / delete them from sharepoint.  Anyone in the Sharepoint approvers group can approve the posting on their own and it only takes one of us to approve it.  No custom workflow required.

    Wednesday, June 26, 2013 5:48 PM