Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I created a workflow in SharePoint Designer that automatically starts when a new item is created. It has one step. In it, if a specific date field in the list item is greater than or equal to Today, the action is to pause until that date and then send an e-mail to a specific group. This workflow seems to be working just fine.

However, what can I do if that date field in the list item is changed? In that case, I want to take one of following actions:

  • If the workflow status is in progress and the new date is less than today, I want to cancel the workflow in progress and send a different e-mail to the group.

  • If the workflow status is in progress and the new date is greater than or equal to Today, I want to change the workflow that is in progress to pause until the new date and then send the e-mail to the specific group. (NOTE: The e-mail includes a lookup for the date field, so the e-mail will need to reflect the new date when it is sent.)

  • If the workflow status is completed and the new date is greater than or equal to Today, start a new workflow to pause until the new date and then send the e-mail to the group.

  • In all other cases, no action is necessary.

How can I accomplish this? Do I need to create a new workflow to automatically start when an item is changed or can this be done with the existing workflow by also allowing it to start when an item is changed? What do I do with the first workflow if it is in progress?

share|improve this question
    
Did you ever find a solution to this? –  Enilorac Dec 17 '13 at 8:55

2 Answers 2

I just came across this while looking for a solution to another problem. It's probably a bit late, however someone else might end up here.

I had a similar problem, perhaps not quite the same, in SP2010. My solution was to run a main procedural workflow with a lot of key stages and "wait / pause until" conditions, and then trigger different workflows. The secondary workflow ran three parallel processes that were paused and waited on certain triggers (e.g. dates, or a status variable. Within the secondary workflow there were links to start much smaller workflows that initiated the different emails. These workflows checked for key conditions (approved, compliance approval required, compliance rejects, compliance overrun response time, rejected etc....)

It was a complex solution for a simple problem, SP2013 has fixed the issue.

One example was my final approval, which was essentially the final stage that stopped all workflows and sent an email, my logic had to ensure that every workflow ended when a final stage was reached and I achieved this by using multiple hidden fields to monitor the progress of the list item.

It's been a while since I wrote this workflow, and I don't have it to hand, but that's a high level description of my approach... I hope it helps somebody!

share|improve this answer

I have the exact same problem! After a lot of internet searching these are the only solutions I could find...

Every time the conditions are met (e.g. due date modified), the event receiver could stop the workflow and restart it.

Set a timer job to be set off every day, on each list item, it could check the date and status before determining if an e-mail needs to be sent. However it seems you do need access to the Central Administration to create one of these.

It seems this problem is fixed in the newer version of SharePoint but of course that's not much help now...

I can't implement any of these so if you do find a different solution, please let me know!

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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