I have a form library and when a form gets uploaded it sends email with packet information. In the form it has a approve/disapproved drop-down. What I would like to do is send email to a person based on approved/disapproved , i.e. approved = [email protected] , disapproved = [email protected]. One thing I would like to happen is that it does not send the email to [email protected] until all approvers select "approved"
2 Answers
Add some custom columns to the form that are not displayed in any views in the library. Whenever an approver makes an action, update a value in one of those columns. Afterwards (each time a column is updated) check to see if all the other necessary columns have been updated.
If all the other necessary columns have not been updated then perform no action. If all the other columns are now complete then send the email. After sending the email update another column that indicates an e-mail has been sent. You will also need to check this "email sent" column each time the workflow meets the conditions to send the email. In this way only one e-mail will be sent.
I can't remember if this can all be done with variables... but it will work with columns.
-
Do I have to create a Timer Job for these columns. What condition would I use to check if the column has been updated? I appreciate your help.– BJ JCommented Aug 22, 2012 at 16:53
-
1Ok, You need to create 6 workflows, one for each approver. After the first task is assigned and completed you will be able to use SharePoint designer to update the value in a specified column. Workflows always pause until the task is complete. After the task is complete and the value is updated then check all of the 6 columns. If all 6 columns do not have the required values then terminate the workflow at that point (each workflow must do this). If all 6 are complete then check the "email_sent" column to see if the email was already sent. If no, send it and update the email sent column.– Shrout1Commented Aug 22, 2012 at 17:06
-
1And SharePoint designer has the ability to pull values from a list; check this post for pulling values from the current item– Shrout1Commented Aug 22, 2012 at 17:08
-
1This is the workflow updating the value for email send. This worked, except for the email send, it sends multiple emails depending how I create the workflow. I have it as such "if current item "column name" equals "value" email "User" else if current item "column name" equals "value" Update item in current item (assigned value 1) STEP 2 Stop the workflow and log "Email Sent" if current item"Email Sent column" equals "value"– BJ JCommented Aug 24, 2012 at 22:10
-
1You need to check or update the same column "email_sent" in every workflow when it sends an email. If the check says "true" then terminate the workflow. If not, check all other 5 workflows to see if it needs to be sent.– Shrout1Commented Aug 25, 2012 at 13:57
In SharePoint Designer, on item change, kick off a workflow, if approval status = approved email one person, else if approval status = rejected, email someone else