I created a site level workflow that filters on a lookup field AND [Created] is less than 1/1/2015; however, no items are deleted when the scheduled workflow runs. I removed the [Created] filter and it removes all items based on the look field. I've tried running the workflow to delete items only based on the date (1/1/2015) and again, nothing is deleted. How do I delete items based on a created date that is less than 1/1/2015 (or any date)?
I'm not sure if what I'm about to explain will be exactly what you need but I think It might help.
On my site we want to delete requests when the current date is equal to the Expire Date. The expire date is simply a calculated column with the formula [Current Date]+35. Now on the site workflow I added a RUN IF action that matches what I need. Not related but the request must be reviewed in order to move on.
After this action, I added a DELETE MULTIPLE ITEMS action. Here, in my workflow it will delete Items where the status is equal to Approved or Denied. You can either select all items on the list or as I did it filter down to the items that you want to delete, For you it might be Created is less than [Enter Date].
So together.... I am telling my workflow to delete the items where Current date=Expire date(Current date +35), the request has been reviewed( Reviewed= YES),and the Status is either Approved or Denied. So it will not delete Items that have not been reviewed.
Now to be safe we export all of our information into an excel document before we delete the items. That way if we need to go back we at least have a soft copy saved to someone's computer.
Shannon (and anyone reading this), I'm not entirely sure how supported it is to do a direct date comparison -- there are probably more workflow actions you'd need to do (e.g. converting the date values to strings and then comparing the strings). If you go the string comparison route, chances are that your date value is interpreted as a date AND time value (e.g. 7/7/2016 12:00AM), and then when you're comparing it to the current scheduled time (e.g. 7/7/2016 11:05AM) it's either misunderstood somehow or is a mismatch. If you go the route of comparing strings, you could try to remove the time part of each variable before it gets to the comparison part of your workflow. One way to do this is to use the Build string action to convert the date into a different format via the fn-FormatDate() inline function. Another way is via regular expression which can be more complex. Here's a great post with date formatting options using fn-FormatDate in workflows: Date and Time Format Strings - Quick Reference Guide
Worst case scenario, send all of your values/variables to a "Log to history list" action and see what's being compared.