Nov 09, 2013

SharePoint 2013 Approval Workflow With Dynamic Approvers From Another List

In this article, we will create a simple approval workflow in which approver is selected dynamically from another list using Sharepoint Designer 2013. We will implement the following approver hierarchy:

approver hierarchy

In a document library, if User1 or User2 creates any document then it will be approved by Manager1. Similarly, Administrator will approve documents created by Manager1 and Manager2.


Here is the full video tutorial:

Creating Approver List:

To define the approver for the user, we create a list.

Click "Settings" icon > Add an app > Custom List

Enter Name "Approver Info" > click Create

Open "Approver Info" list

In Top Ribbon List > List Settings

Click "Title" in Columns and rename to Department > OK

Click "Create Column" and enter following information

Name: "Editor"

Type: "Person or Group"

Require that this column contains information: Yes

Allow multiple selections: No

Allow selection of: People Only

Choose from: All Users

Similarly create "Approver" column and enter data.

approver hierarchy

Creating Workflow:

1. Open Document Library > In Library Ribbon: Workflow Settings > Click "Create a Workflow in Sharepoint Designer"

2. Click "Allow", It will open Sharepoint designer, Enter Name "Approval Workflow" and description > OK

approver hierarchy

3. In Workflow Ribbon > Action > "Set Workflow Status" > Enter "Pending"

4. just below of this action, add new action "Set Workflow Variable"

click "Workflow Variable" > "Create a new variable" > Set Name "Approver" and Type "String".

click value > click function icon > set following values:

Find Data to Retrieve:

Data source: Approver Info

Field from source: Approver

Return field as: Login Name

Find the List Item

Field: Editor

Value: click function icon > select Datasource : Current Item, Field from source: Created By, Return field as "Login Name"

approver hierarchy

5. just below of this action, add new action > "Start a task process"

Click "these users", click ... for participants

Select "Workflow Lookup for a User" > Add

Select Data Source "Workflow Variables and Parameters", Field from source : Variable :Approver, Return field as: String > OK


Enter Task Title and Description

click OK

approver hierarchy

6. After this action, click Condition > "if any value equals value"

click first value, click function icon

Data source: "Workflow Variables and Parameters"

Field from source : Variable : Outcome

click second value, select approved

7. In If condition, Add action "Set Workflow Status" > Enter "Approved"

8. In workflow ribbon > click "Else Branch", Add action "Set Workflow Status" > Enter "Rejected"

9. below of "Transition to stage"

Add Action > "Go to a stage"

click "a stage" > select "End of Workflow"

Save it. Now the workflow looks like below:

approver hierarchy

10. Click on "Workflow Settings" in ribbon and check "Start workflow automatically when an item is created" in Start options.

11. Publish the workflow.

Filtering Task List:

Now user wants to see their tasks only. So In the view, to display the tasks of the current user only:

Open Task library > List ribbon > List Settings

Click "All Tasks" in Views

In filter section, select "Show items only when the following is true:" and set condition "Assigned to is equal to [Me].

approver hierarchy

When user1 creates any document, A task is assigned to Manager1. When Manager1 approves the request then the status will become approved.


We have implemented a very simple Sharepoint designer 2013 workflow where approver is defined by another custom Sharepoint list.

Enjoy Sharepoint !!