Start workflow when due date specified in list item has passed


  • Hey mates!

    I need to send a notification mail when a due date specified in a list item has passed.

    I'm using share point designer to do the workflow part and have a workflow without condition but the corresponding action defined. I was trying to use the expiration function in the information management policy setting of the list but that doesn't work that nicely.

    Any suggestions for a more elegant solution ?

    Thanks a lot!

    Tuesday, February 20, 2007 9:49 AM

All replies

  • I have a similar requirement. I need to configure the workflow so that when a document expires, owners or the approvers should get a email notification.


    Any help would be appreciated.




    Thursday, May 03, 2007 4:18 PM
  • Hi,


    Just an input where you could start - I haven't tested it and you may not implement it this way, if you have lots of documents because of the many workflows caused running.

    The solution could look like:
    Creat in SP Designer a workflow for the library that starts for all new and updated items. In this workflow you us a action to wait until the expiration date of the document is reached and then you send out the email.





    Saturday, May 05, 2007 8:29 AM
  •  WY wrote:
    Creat in SP Designer a workflow for the library that starts for all new and updated items. In this workflow you us a action to wait until the expiration date of the document is reached and then you send out the email.


    Hi gang,


    This idea falls down if the user modifies an item more than once. A new workflow gets kicked off each time the item is changed, and sends an email when the expiration date is reached. So if you modify the item three times and don't change the expiry date, you'll get three emails on that date. Even worse - if you modify the expiry date, you'll still get the email on the original expiry date.


    Unless there's some way to automatically terminate existing "in progress" workflows when an item is modified, I don't think the "pause until" action is an option. A timer job firing a workflow on every item in the list may be the only solution, but I don't know how to set those up (the workflow or the timer job) just yet.



    Monday, July 30, 2007 4:55 AM
  • Your statement about multiple instances of a workflow is not completely accurate. There can only be one instance of a workflow for a given workflow association running on a list item.


    Monday, July 30, 2007 4:41 PM
  • I've seen multiple active workflows against a list item in my tests, though.


    I set up a workflow in SharePoint Designer which would be started when an item is changed or created (which waits for a date specified in the item and then emails me). I then created an item, and later edited it. When I click on the item's dropdown menu and view the workflows associated with it, I see two "In Progress" workflows.

    If I don't manually terminate the original workflow, I get two emails.

    Monday, July 30, 2007 8:59 PM
  • Hmm - I may have to call shenanigans on myself there. I just tried my test again and I don't see multiple "in progress" workflows against an item after editing it.


    Instead, the original workflow that was created when the item was first created is still there.


    This is not what I want, of course - I want the original workflow to terminate and a new one to get kicked off, because I've changed the "due date" on the item.

    Monday, July 30, 2007 10:34 PM
  • Hi,

        THis is what i did:


       1. When a user add a new list item, hook a WF to the item.

       2. When a user change the date/time, remove the WF from the list and create a new WF.


       Basically I am using a custom list event handler to do the calculation. In the WF i am using a delay activity to do the scheduling.





    Friday, August 10, 2007 11:45 AM

    Has anyone got this working. I am trying to create the same functionality - Have an email sent to user  before expiration date of an item approaches. I am not sure if going the workflow way is the best though .
    Tuesday, September 11, 2007 9:30 AM



      I have created a batch job that runs every night. What the job does is , it checks for all the items(in a sitecollection) whose expiration date is equal to today  and then send a notification mail to the approvers group .

    I have used the CAML query to get all the items whose expiration date is met.





    Tuesday, September 11, 2007 1:23 PM
  • Hi,

          I am creating a reminder workflow using SharePoint Designer, and when I  use "Pause Until Date" activity. It doesn't resume and Workflow status does not change from "In Progress".
    (i.e. it displays "Pausing for 0 minutes" only, under Workflow History but it doesn't take any specified action).


    I have done some googling for that in last 4 days, and from there I had got a hot fix – KB 932394 and installed it but still I am in same trouble with “Pause Until Date” Activity.

    I have also changed “job-workflow” time duration using stsadm command from 5 minutes to 1 minute as below:


    stsadm -o setproperty -propertyname "job-workflow" -propertyvalue "every 1 minutes between 0 and 59" -url http://localhost


    but found same problem.

    What should I do for this?

    Please suggest me why "Pause Until Date" doesn't resume and Workflow status does not change from "In Progress" in my workflow.

    Thank you very much,
    Saurabh Kumar Singh

    Wednesday, October 01, 2008 7:09 AM
  • Hi Suvarna,
     Can you tell me how you have created batch job scheduler that runs every night ?
    Thank you,
    Saurabh Kumar Singh
    Wednesday, October 01, 2008 7:12 AM
  • I found this from


    What I did to accomplish this with absolutely no custom apps or code:

    Add a custom field to the calendar called "Alert - 1 day".  Make it a calculated field with the calculation [StartTime]-1.  Make sure it is a date type.  I also specified date and time so the alert goes out exactly one day before, to the minute.
    Then also add a custom field to the calendar called "Reminder Recipients".  Make it a people picker control and choose to show Email addresses and probably allow multiple selections too.

    Next, open your site in SharePoint designer and create a workflow (New > Workflow) for the calendar. Set the workflow to automatically start when the event is created/changed.  I also created a workflow variable called "Recipients" of type string.   Then my workflow went like this:

    If Alert - 1 day is greater than Today
    Pause until Calendar:Alert - 1 day
        then Set Variable: Recipients to Calendar:Reminder Recipients
        then Email Variable: Recipients

    Basically, when creating a new event, the person specifies who they want the reminder to go to.  Then once the event is created, the workflow is automatically started.  The workflow assumes the event is in the future (The IF statement).  Then workflow just pauses until it reaches the date of the "Alert - 1 day" field that should contain the date of exactly 1 day before the event.  As soon as that date is reached, the workflow starts up again, gets the recipients that were specified and sends them an email.  In the workflow creation, you can customize the content of the email and even include calendar lookup values in the email."

    Also another solution SharePoint Alert Reminer is also discussed!

    Tuesday, May 19, 2009 12:42 PM
  • Hi everyone,

    I have a similar issue.I have used a calculated column in my list in which I have compared the due date with today's date.But  You know that calculated column is not dynamic and it doesn't shows up updated information . Can You help me to create a workflow that starts when the due date passes today's date ,the item should be updated( which in case I want to update the calculated column to display the date in correct format)

            Can You help me solving this  issue?

    Thanks in Advance.


    Thursday, July 09, 2009 3:01 PM
  • I don't need the flexibility of different e-mail recipients - all mine will go to the same group - how would I eliminate the variable and just hard code my "team"?

    What I need is when an item is created by an InfoPath form in a document library, a date is captured on which I want this particular team to be notified that the particular document in question needs to be reviewed (the e-mail should also contain specifics about the docuement that needs to be reviewed). My understanding of your solution is that an event needs to be manually created for each document created in the InfoPath form document library. Correct?

    Also, what is the value of "Start Time" and "[Start Time]-1"?
    Friday, September 11, 2009 3:05 PM
  • Folks, this shouldn't be done using a workflow.  It should be a timer job:  Create a job that fires once/day and scans your site/list/library for items that need notifications sent out.
    Sunday, September 13, 2009 11:01 AM
  • Hi Adarshkumar ,

    I am having the same issue... before  i had workflows that allow to get Today' column calculated by using a workflow infinite loop...then after the SP2 this scrub everyhing... even worst  i cannot get the update Today column now by using the co-cursion ...

    Does anybody could get some work around solution?


    Wednesday, September 23, 2009 12:52 PM
  • I have had some success using an information management policy for the list.  I define a policy to enable expiration and the retention period is the due date in my list + 1 day, and to begin a workflow when that date is reached for that item.  My workflow is in SPD, and it sends a reminder email to the recipient email address (a field in my list).  Once the policy is run on an item, that item is 'exempt from policy', so no other emails will be sent.  In my case, I want the user to be able to update the due date for that item and have the policy kick off again, but can't do that easily, since there is no SPD action to remove policy exemption.  So, the workflow waits for the date to change, then copies the item to another list and re-copies it back to the original list - this changes the ID, so the info management policy sees it as a new item and will kick off another workflow when the new date is reached.

    Monday, March 01, 2010 9:04 PM
  •  It should be very easy to create a workflow activity to set Exemption back to null.

    Code should be smth like:
    if (oListItem.Fields.ContainsField("_dlc_Exempt"))
        oListItem["_dlc_Exempt"] = true;

    Paul Shkurikhin
    Monday, March 01, 2010 10:41 PM