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 = user1@email.com , disapproved = user2@email.com. One thing I would like to happen is that it does not send the email to user2@email.com until all approvers select "approved"


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 J Aug 22 '12 at 16:53
  • 1
    Ok, 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. – Shrout1 Aug 22 '12 at 17:06
  • 1
    And SharePoint designer has the ability to pull values from a list; check this post for pulling values from the current item – Shrout1 Aug 22 '12 at 17:08
  • 1
    This 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 J Aug 24 '12 at 22:10
  • 1
    You 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. – Shrout1 Aug 25 '12 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

  • Thanks I will give this a shot. Appreciate the fast response – BJ J Aug 21 '12 at 22:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.