Link to home
Start Free TrialLog in
Avatar of darthvader747
darthvader747

asked on

Approval Workflow: Vacation Request - Make steps more intuitive

Below are screens from a sharepoint based vacation approval system (User request vacation,email sent to approver)

There are just too many steps here from a user perspective and the process is not too intuitive.

It would be much better if there would be an email sent to the approver who just clicks on a link which directly takes them to the approve or reject screen.


Can anyone suggest a simpler or more intutive way of doing this?

Currently the user has to click on

-Edit this task in the email (the email has a review task link as well - confusing)
-Click on edit item
-Then click approve or reject in the next screen
Problem:
Too many steps
Process not too intutive (The email itself has two links review and edit task)

I would want the user to get an email and ideally click on something in the email itself to approve or reject but I understand that this may be too much of a requirement. But I think there may be a way to make the process more intuitive for the user.

Perhaps get the approver to get to the approval screen directly through a custom work-flow based email! I actually tried this but could not implement it.

Any suggestions?
EmailTask.png
EditTask.png
ApprovalSteps.txt
Avatar of darthvader747
darthvader747

ASKER

Forgot to attach this screen shot. This is the screen that pops up after the user clicks on edit task. This is where the users clicks approve or reject and a conditional email is sent out based on the response.

It would be easier if the approver clicked on a email link and was led directly to this screen - much more intuitive in my view.
ApproveReject.png
You can do this with a Sharepoint Designer flow.  You can set it to start automatically when an item is created and when an item is changed.
In the first step make the condition that the approval status is pending.  Then the action to send an email to the "Assigned To".  Then in the email you can add the fields you want by using the "Add Lookup" button.  You'll need to type in the labels to identify the fields in the email.  For the link to approve go to your document library.  Click to get the drop down box and click approve/reject to go to the approval screen.  Copy the first part of the url up to just before "source=" (you don't need this part.
Now paste that into the email you're creating:  
http://server/site/_layouts/approve.aspx?List={727DD0C3-AA6B-46BB-8653-715F6E88B78C}&ID=102.  Now for the ID delete the "102" (or whatever ID # you have there), click "Add Lookup", Current Item ID (put that lookup in place of the ID #).
I need some more detail to understand your solution.

"In the first step make the condition that the approval status is pending"

Can you expand on this. Where do I do this? Do I have to do a collect data SPD workfow or use standard out of the box approval workflow? Steps?



This is a Sharepoint Designer Worfklow.  You don't need to collect data.  When you start a new workflow in Designer the first screen asks what list/library you want it attached to and when to start the workflow.  You then click next and you'll have a screen that has buttons:  a "Conditions" button and an "Actions" button.
Milli, you have been a great help in the past. Could you please look into this and tell me how you would handle my scenario.

My Vacation request List has the following key fields: Employee Name, Manager Name, From Date, To Date

There is no approve or reject field here.

The idea is for an employee to request vacation through this form (Sharepoint List) and then a email sent to the manager to approve / reject and then a email sent to requester.

Forget about what I have done. How would you handle this scenario (Vacation Request and Approval).  Can you give me steps of what I should do?
What I did used a SPD based collect data workflow. But its not very intuitive.
ASKER CERTIFIED SOLUTION
Avatar of melli111
melli111
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Milli Apologies for the late response. This kind of work is not my primary role and hence sometimes it takes me a while to get to these things.

I really really appreciate your help and your instructions are very clear. You must have great memory to be able to remember these steps.

I tried it and it works very well.

I noticed that in the email sent to the manager (dynamic string) / link comes as text. Is there a way to make it click-able so that people don't have to copy & paste the link into their browser.

Also how do I ensure that only the manager can approve the vacation? I dont want the requester approving their own vacation!

Please advise next steps so that the requester gets an approved rejected notification. Please provide steps like you do - Thanks.
Milli

Regarding my earlier question"Also how do I ensure that only the manager can approve the vacation? I dont want the requester approving their own vacation!"

I just noticed that under content approval: 'Only users who can approve items' is selected

How/where do I define the users who can approve items?
Give "design" permissions to the managers (design permissions and above give approval rights).  Give only "contribute" rights to those who will not have approval authority.  
To make that link a link instead of text put it in an html tag:
<a href="insert the dynamic string here">Enter the text you want shown for the link here</a>
I'll get back to you on the requestor email soon, unfortunately I don't have time right now to write it up
Thanks Milli. I think I got the requester email working. I just added another step and said if status is approved then do this....else do that.
Hope this is the correct approach cause it seems to work.

About permissions:

Imagine Mike is Tom's manager and Tom is Lisa's manager.

Now when Lisa requests vacation there is no problem (cause she is not a manager)but when Tom requests he will be able to approve his own vacation since he will be part of the people who have design permissions.

So managers will be able to approve their own vacation?

Is there a way to address this?
Good job on the requestor email, yes that's the correct approach  :)
Yes as it stands you are correct that Tom would be able to approve his own.  HOWEVER we can work around this.  There is a workflow action that you can use to "assign permissions".  I can't remember if this is a built-in action with Designer or if it's one from Codeplex Useful Workflow Actions.  But you can use that action to change the creator's permissions to just Contribute on that item only.
In case it's not a designer built in action here's the link to the download for useful workflow actions (you may want to download and install these either way because they are VERY useful, I use them in almost all of my workflows):
http://spdactivities.codeplex.com/releases/view/10103 
Milli

I am a end user who does not have access to the sharepoint farm. I can't upload the codeplex workflow :(
I am attaching a word document which is a screen shot of the actions available to me (standard Ones I guess).
Please take a look and see if anything can be done to change the permission of the user / vacation requester to contribute!
Oops Forgot to attach the doc!


WFBeforeCodePlex.doc
Milli

I posted a new question which is really an addition to one of the solutions you provided. There is a particular scenario we did not address.

Please take a look:

https://www.experts-exchange.com/questions/26252007/Sharepoint-Vacation-Management-Workflow-Question.html

Super - you do have the action.... it's "Grant Permission on Item".  
Milly - How do you recommend I manage permissions for this list?

Do I have to create a new group? I have default site level owner,member and visitor groups?

But I really want a group to manage permissions at the list level?
Also I read somewhere that members with contribute permissions for the site have edit rights on lists?

I am not sure if this is correct. I am planning on adding an action to the work flow saying - give the creator of this item contribute permissions to the list so that they cant edit it. So if site level contributors can edit lists then this work flow wont make sense.

I guess I am little confused. Can you please give me some guidance on the best way to mange permissions for my list given my scenario?
Milly

The workflow works but the person requesting the vacation can approve their vacation if they are an approver.
I created a group with design permissions and added all the approvers to that group.

With the 'Grant permission' step I was trying to change their permission to read/contribute so that the requester cant approve their own vacation.

They still can (Please see attached screen cap). What am I doing wrong?


My workflow:

Condition: If Approval status is pending

Action:

1.Grant Read permission to creator of item
2.Then store URL in a variable
3.The send email


WorkflowScreenShot.jpg
Melli111 - Should I close this question? Have you just got busy or you do not wish to remain engaged in this discussion any more?

You were of real help! I hope you can continue to participate.

Let me know if I am asking too many questions, I can post a new question so that you get credit for that.
Hi, I do plan on getting back to you, I just rolled out a huge project last week and have been very busy with that... hopefully very soon I'll be able to give you some detailed answers..... thanks for your patience
Milli just want to politely remind you about this question - Thanks!


I used the grant permission work-flow (see attached image/screenshot above) but the requester  can still edit their vacation if they are a part of the approvers group (edit permissions on list). Not sure why! This is what I would like you to comment on.

Not sure what I am doing wrong!
Users will receive the highest permission they are granted.  For instance if in the site permissions they are listed individually (not in a group) as read AND they are in a group that has Design permissions, they will receive design permissions.
What I would do is not use the group.  Just add the users individually with design rights (or your custom rights setting for approval - whichever you are using).  
This is one of those special circumstances where you need to break the common un-written rule that it's best to use groups in sharepoint.
Thanks for the reminder :)  I am still working out the bugs of this new system but am able to answer some questions quickly depending on what I know off the top of my head and what I need to look into.
Works!

I am a owner of the site and see every item on the list. But individuals who I gave design permissions (based on your comment) see a significantly fewer number of records than I see. I cant understand why?

Any thoughts on the reason for this behavior?
Make sure you're using the same view.  Check to see if you have any filters on the view.  Are any documents checked out?  Also check the versioning settings of the form library (the who can see draft items section)
Milli

I am going to close this question and give you the points. Thanx a lot.

Can you take a look at this question:

https://www.experts-exchange.com/questions/26323364/Help-needed-to-combine-trigger-2-sharepoint-workflows.html

I am trying to combine the two workflows you helped me with. I dont know the best way to trigger them together.

I basically want the emails to go out aksing the manger to look at the vacation request and then once the vacation is approved I want the 'vacation allocated list' to be updated accordingly.

How do I do this? Please look at my question (link above)
You are the best!