Create a workflow which is described on following image.

Note: After any two of three approvers finish their approval tasks document will be either approved or rejected.

Resolution

Access SharePoint site and create custom SharePoint list.

List name: Regulation Approvers

Columns:

  • Editor (PeoplePicker)
  • Approver1 (PeoplePicker)
  • Approver2 (PeoplePicker)
  • Approver3  (PeoplePicker)

Note: Using this method approvers can be different for different users/employees.

Also, create libraries:

  • Regulations – draft
  • Regulations

Regulations is public library, everyone has “Read” access.

Open SP Designer – Workflows – List WorkFlow – “Regulations – Draft”

Name: Parallel Approval WF 2013 – 3 approvers.

VIDEO: How to Create a More Complex Workflow using SharePoint Designer

Action – Set WF Status – this message – “In progress”.

Action – Set WF Variable.
Workflow variable – create a new variable… –

Name: Approver1
Type: String – OK

Value – fx.
Click on fx and enter following parameters:

Click on OK button.

Click on Yes button.

You should be able to see workflow presented on the following image:

Now repeat the same steps to create variables:

  • Approver2
  • Approver3

  • Now click on Action – Set a task process.
  • Click on “these users” link.
  • Window presented on following image will be shown.
  • Select “Parallel (all at once)”.

Now click on “…” button to define paticipants (approvers) – Workflow Lookup for a User… – Add – (insert parameters as shown on the image below).

  • Repeat process for Approver2 and Approver3.
  • Click on OK button.

 

Click on “…” button next to the “Task Title” field.

Type: “Request for approval – “.
Click on Add or Change Lookup button, insert parameters as shown on the image below.
Click on OK button.

Following image presents workflow created so far.

Click on Task Options.
Insert parameters as shown on the images below.

In this case approval process will be finished after any two of three approvers finish their approval tasks.
Note: if I put any number higher than 33 and lower than 67 outcome will be the same.
Now click on Email Options.
Click on Open email editor and edit email that will be sent to approvers.
E.g.

We do not want to set Approval Task Due Date, so in this case we will not check “Send Task Overdue Email” option.

Click on Outcome Options and select parameters as shown on image below.

Click on OK button.

Now we need to set what whoul happened if an item is approved and what if an item is rejected.
Click on Condition – If any value equals value.

Click on left “value” link, click on “fx” button – (enter parameters as shown on image below).
Click on other “value” link, click on Approved.
Singl left click below following string: “(Start typing or use the Insert group on the Ribbon.)”.

Action – Set WF Variable – Set WF status to: “Document is Approved”.
Action – Copy Document – this library – Current item – OK – this library – Regulations.
Action – Send an Email – these users – (click on the icon next to the “To” field).

Workflow Lookup for a User… – Add.

Enter parameters as shown on the images below.

Define Subject as shown on the image below.
Define mail body.
E.g.

Click on “Else Branch” button placed in the ribbon.

Action – Set WF Variable – Set WF status to: “Document is NOT Approved”.

Action – Send an Email.
Now define mail that will be sent if document is not approved using the same method described abowe.
After you finished defining Else branch click below “(Insert go-to actions with conditions for transitioning to the stage)” string, click on Action – Go to a stage – click on “a stage” link – select “End of Workflow”.

Now click on “Check for Errors” button placed on the ribbon.
“The workflow contains no errors” message will be shown, click on OK button.
Click on Save button placed on the ribbon.
Now click on the name of workflow we created.
Define Settings and Start Options.

Click on Save button.
Click on Publish button.

Originally Posted here: link.

(50914)

Views: 50.91K  | Categories: SharePoint, Workflows
About The Author
  • ramakrishnam says:

    My scenario is I have dynamic approvers which are being set from 2 columns in the list. I am using assign task process to create task. Business case is user can approve/reject/SendBack. Functionality of sendback is to request for more information. If any user clicks on sendback it will trigger mail to admin requesting more info when user is satisfied user will click on approve or reject. If any user clicks on reject workflow will be rejected completely.

    Any help is appreciated. Thanks in advance

  • I believe that this is the solution to your problem.
    Please let me know if this has been helpful.

    • Arran Bev says:

      Tomislav,

      This and your solution is very close to what I am trying to achieve and i wonder if you could offer me so help / guidance.

      I have a document library with many files. there will be lots of people who will have permissions to edit those files.

      What i would like is when any file is added or edited, the user doing to is prompted to select one of nine different approvers, upon doing so the document approval workflow will send to the selected approver.

      Once that approver is happy to approve it is then workflow to one publisher who has the ultimate authority to approve and make public.

      So many users can select one of nine approvers. all nine approver will automatically send to one publisher who will approve to close the workflow.

      I am using Sharepoint 2016, i have the 2013 Workflow engine installed and SP designer too

      Thank you in anticipation of your help.

      regards
      Arran

      • Hello Arran Bev.
        In case you have described I would suggest the following.
        Create the list of approvers (9 in your case) with 2 columns: Approver Name (single line of text) and Login (people picker). Add lookup column Approver to the library, it will get info from the list of approvers, from the Approver Name column. Now you are ready to create workflow.
        I advise workflow to be started manually.
        In the workflow you will need to create few If statements. If Approver is not defined send an email to the one who initiated a workflow and do not assign any tasks. Else assign workflow task to the 1st approver (get value selected in the lookup field, find the same value in the list of approvers, get the login name from Login column).
        If 1st approver approvded it assign workflow task to the 2nd approver. Info related to the 2nd approver can be defined in additional list or it can be defined in the workflow, it is up to you to choose. If 1st approver did not approvded it do not assign workflow task to the 2nd approver, just send an email to the one who initiated the workflow.
        Please let me know if this has been helpful.

    • ariff says:

      Hello Tomislav,

      I would like to thank you for this particular guide that you posted in this site. I find it really helpful as a reference for the tasks that I was assigned to, especially copying the item to another document upon approval.

      However, I have a question regarding the email for approvals. I am required to create a workflow that requires approval from outside user (non-SharePoint users).

      The situation is as follows:
      1. User uploads document in a document library, an email is sent to the “outside user” for approval.
      2. The “outside user” receives an email requesting for approval – in this email, the link to the item in the document library is provided for the “outside user” to review the item. Another two links is provided in the email for the “outside user” to make approval decision (approve or reject). This concept is somehow similar to how we share a Google Drive link to the recipient

      I believe that there are some warnings that appears when I try to set outside user email in the email section in “Email these users” step in the workflow. However, I will try to find a workaround on this matter.

      My question would be:
      1. Is it possible to add the link to the item in the document library in the email for the “outside user” to review?
      2. If it is possible to add the link to the item in the document library in the email, is it possible for the user to view the item via the link?

      If you have any additional details that you require or you are unclear with my questions, you can let me know.

      Thank you.

      Best regards,
      Arif

      • If “outside user” does not have access to the library I would suggest to send an email with attachment, link: http://tomislavspadmin.blogspot.be/2014/11/sharepoint-2013-send-email-with.html. Still there will be an issue to approve or reject the document by “outside user”.
        If “outside user” does have access to the library all your scenarios are covered, just add links to email.

        • ariff says:

          Hello Tomislav,

          Thank you for your prompt reply. I will give this web part solution a try & I will feedback to you within a couple of days.

          As you mentioned about the “outside user” needs to have access to the library, does this means that I have to add the “outside user” into the SharePoint User Groups in the site in order for them to have access to the library?

          From the experiences that I have in SharePoint (I started with 2013), it appears that to be able to add users into the SharePoint User Groups, the users are required to be added in the Active Directory as well (correct me if I am wrong about this). So, adding the “outside user” into the Active Directory might not be simple.

          However, thank you again for the prompt reply.

          Best regards,
          Arif

  • BryanGill says:

    Tomislav,

    Your tutorial above is wonderful, thank you for documenting and sharing with us. I am experiencing one problem with it that I am hoping you can assist with.

    When I set our Regulations library to read-only permissions, the workflow errors out with permissions denied for the user that added the file to the Regulations – Draft library. If I increase the permissions on the Regulations library, the workflow completes properly but opens up the ability for employees to post directly to the Regulations library and bypass the approval workflow.

    Do you have any suggestions?

    Thank you,

    Bryan G.

  • Hi Guys! I need to develop a workflow when 5 or more users will have to approve file in sequence. Users will be selected from people picker. Is that possible to realise it in workflow? And how I can do it?

  • Hello Alex.
    It can be done using SP Designer as Serial Workflow (one at a time).
    You can use five independent single user People Picker fields or one People Picker field with “Allow multiple selections” option checked. I would go with 1st option – five independent single user People Picker fields.
    Good luck!

    • Hi Tomislav!

      Thanks for your reply! What if some fields are optional? So another words they can stay empty. Do I need to tell my workflow to check the status of these fields? Empty or not?

      • Yes. I would suggest you to use stages and “if” conditions. At the end of each stage I advise you to add “if” condition to “Transition to stage” part.
        Other way is to force users to define all approvers using list validation settings, if you need all five approvers to be defined in each approval process.

  • John Romero says:

    Hi,

    I am a consulting analyst and i’ve been assigned with a task I don’t really know how to Solve. I’m working with sharepoint, specifically with approval workflows.

    So I know how to create one in the SP online but assigned to a single document. What I need is the following:

    We have the library DOCUMENTS. In this Library we create different subfolders: A, B, C and D.

    What I need is to assign different approvers to the different subfolders, so like this the approval request is sent automatically. For instance: approvers aaa to subfolder A, bbb to B, ccc to C and ddd to D.

    Can you help me with this? I’d appreciate it…

    Thanks in advance,

    JS

  • John Romero says:

    Hi,
    I am a consulting analyst and i’ve been assigned with a task I don’t really know how to Solve. I’m working with sharepoint, specifically with approval workflows.
    So I know how to create one in the SP online but assigned to a single document. What I need is the following:
    We have the library DOCUMENTS. In this Library we create different subfolders: A, B, C and D.
    What I need is to assign different approvers to the different subfolders, so like this the approval request is sent automatically. For instance: approvers aaa to subfolder A, bbb to B, ccc to C and ddd to D.
    Can you help me with this? I’d appreciate it…
    Thanks in advance,
    JS

    • Hello.
      This should do the work:
      1. Get document URL as a string;
      2. From document URL you can determine folder name;
      3. Now all you have to do is to create 4 IF loops (one for each folder) and define workflows.
      Please provide an info if you need additional help or guidance.

      • genya.a says:

        Hello,

        I know that this was discussed a long time ago but I would like to do the same thing exactly and I don’t know how to proceed for the first 2 steps… Moreover, is it possible to set this up while using a workflow template (the Publishing Approval on SharePoint online)?
        Could you help me with this?

        Thank you in advance!

  • Tammy B says:

    Hello Tomislav. Thank you for your tutorial. My situation is a bit different, but hope you may have some insight.
    Bottomline: SPD 2013 Workflow Error when Start a Task Process is getting “Participants” from an Assigned To field which includes multiple users.
    A document library includes added columns Assigned To and Due Date. When the Workflow to “start a task process” is manually started, the user is prompted to enter the Assigned To and Due Date parameters. Assigned To uses the People Picker and multiple names can be selected. If entering one Person or Group, the workflow works properly – creating individual tasks & email. If multiple persons are “assigned”, the workflow errors: Retrying last request. Next attempt scheduled after 5/22/2017 3:18 PM. Details of last request: HTTP InternalServerError to https://server/TeamSite/_api/web/lists(guid'ed9f925e-8dad-493b-bf55-341f14b016be‘)/Items Correlation Id: 9adcc418-1b74-2afb-9702-8ac07d00172d Instance Id: 985544f6-64e9-4059-9b82-b5c4651d83e6
    Invalid text value.
    A text field contains invalid data. Please check the value and try again.

    Oh, if two users are directly entered in Participants in the workflow, it works ok. Problem is passing multi-selected users for Assigned To to the Participants parameter of the Start a Task Process action. Are you familiar with this or any work-arounds? I’m not sure what the Participants expects. Questioning if I need to create a workflow variable from the users entered in Assigned To and parse/rewrite it in the form Participants expects, whatever that is? Thoughts appreciated.
    Thank you.

    • Tammy B says:

      Correction: “If entering one Person or Group, the workflow works properly “. When I enter a SP Group into the Assigned To field and set Participants to Current Item: Assigned To, it completes the workflow but does not create tasks. Thanks.

  • Mathias says:

    Hello Tomislav, Could you please explain how to do this workflow without “Editor” in the list Regulation Approvers, and how to setup the whole “lookup” sequence. Thanks in advance
    Mathias

    • Hello Mathias.
      Regulation Approvers list is used to define approvers.
      E.g. Scenario: User John Smith edit File01.docx. Afterwards WorkFlow is started. In my case system will look for John’s user name in Regulation Approvers list, in Editor column. If John’s user name is added to the list system will look for approvers in columns Approver1, Approver2 and Approver3.
      I am sorry to inform you I do not understand your scenario. If not in SharePoint list, please explain where do you want to store information who will approve the item/file in case John Smith is the editor?

  • I am looking to create a process that allows me to manually start a document on a workflow that will be sent to a first approver where they can edit the doc and then press approve and that will send the latest version they just corrected onto another person to edit it and approve it and so on. How would i go about this? Thank you

    • – You wrote “to manually start a document on a workflow”, I assume you wanted to write “to manually start a workflow on a document”.
      – Actually, what you want to achieve is default behavior of SharePoint. You just need to provide contribute access rights to the approvers. You just need to decide if you want to turn on document versioning or not. In short – you do not need to set anything but to provide contribute access rights to the approvers.
      – If I did not understand your question/scenario feel free to provide additional info.

  • Jamal says:

    Thank you so much for this .
    I implement this workflow but I have a problem. I don’t know how can I set column value when I upload new document in Regulations – Draft.
    When I upload or create new document in online share point, the other column value is empty and work flow start after document created or uploaded and because of empty approvers columns, workflow fails.
    How can I manage this problem.
    Thanks

    • Hello Jamal.
      Approvers will be determined based on the value of “Created by” column. So, other column values should not have any influence on the Workflow. Please check once again if you defined approvers for account you are using.
      If you still get the same error message set library columns as not mandatory and try again.

      • Jamal says:

        Hello Tomislav,
        Thanks for your answer.
        I fixes the last problem but I have new problems.
        1- Wokflow task’s email only send to users that have owner permission and user who has member permission can not receive task email.
        2-How can limit a user to only approve and see the task that assigned to him/her.
        at the moment all users can see and approve other user tasks in task list.

        Thanks

  • Sonia Woolf says:

    Hi Tomislav – I’ve implemented your workflow but I have more than one person chosen in the variables. It is only tasking one person instead of all of them. How do I get around this?

    • Hello Sonia.
      I am not sure if I have understood issue you’ve described. List “Regulation Approvers” can contain as many columns as you want, but each column should not allow multiple selections. It means e.g. “Approver1” column must not contain more than one user account, but you can make columns Approver2, Approver3, etc.
      Work around 1: For each approver, before you assign a task you can add if condition and check if field is empty and assign a task only if field is not empty.
      Work around 2: You can try using Impersonation step.

    • P.S. I am sorry, in my last reply I’ve made a mistake.
      *Work around 2: You can try to set ExpandGroups variable to Yes. I am not sure if this will solve the issue you have, but you can try.

  • kkendapa says:

    Hi Tomislav,
    If I’m assigning a task to say 5 people parallel using task process, is it possible to send an email notification to all when each of the 5 people approve it but the overall task is still pending.

  • nikam.sheela says:

    HI,
    I am new to sharepoint designer 2013 workflow . I have created simple workflow with task process and one log to history . But after task is completed it is not executing next action of adding log to history. Can anyone please help me to resolve the issue.

    Thanks,
    Sheela

  • augustina says:

    Hi Tomislav Tasic ,
    i need your help with this, i have office 365 sharepoint document library, i want when any user uploads a document onto the library that it passes through 4 stages of approval process.
    1st level approval= direct line manager of the user(dynamic)
    2nd level approval= procurement manager(static)
    3rd level= Auditor(static)
    4th level= Director(static).
    I am a newbie in sharepoint, please guide on how to go about it.
    thank you.

    • Hello Augustina.
      The only issue you could have is to determine 1st approver. If you have stored this info in user profiles DB you can run SP2010 WF action to determine “direct line manager”. If not, you should create SP list with two columns: employee and manager, column type “people picker”.

  • scott.hooper says:

    Would this method work if there were less than 3 users in the Regulation Approvers list? What I’d like to do is set this up for up to five approvers, but give the user the flexibility to add/remove approvers routinely, up to five but sometimes maybe just one or two.

    Thanks, great article!

  • scott.hooper says:

    Could this workflow be modified to insist that all approvers approve a document before it is accepted, ie if one rejects then the document is rejected?

  • thesmilingguru says:

    Hello Tomislav,

    Very nice article. I want your help in my
    Scenario: When a document is labeled with certain retention label and if the document if nearing its expiry date, there should be a trigger sent to the owner/creator of the document to decide if he wants to delete or extend the retention