I ask because I'm getting conflicting info from the SF documentation
On the one hand:
What happens if I update the value of a date field used in a time trigger? If you update the date field used in a time trigger, Salesforce recalculates the time trigger as long as the time trigger has not yet fired and the recalculation does not reschedule the time trigger to a date in the past.
On the other:
If Salesforce recalculates the time triggers to a date in the past, Salesforce triggers the associated actions shortly after you save the record.
If a workflow rule has a time trigger set for a time in the past, Salesforce queues the associated time-dependent actions to start executing within one hour.
My real life situation involves a time-based workflow on opportunities, that fire two different email alerts, one at 90 days and another at 30 days before our custom 'expiration date' field. Pretty straightforward, and the only criteria on the rule is that the opps be a specific record type.
This rule worked just fine whenever an opp was created after the rule was put in effect, as the trigger date on the opp would always be some point in the future.
But we had a few old opportunities that were in the system, and hadn't been updated since before the workflow went into effect, so as expected they hadn't triggered the workflow. But I did expect the workflow to fire once I went in them and edited the date field that the workflow is based on. Two things to note about that:
- The 'edit' I made was just to replace the date field with the exact same date as before the edit
- The 'trigger dates' of these opps (ie the 30 day/90 day prior dates) were all in the past when I made the edits
So then, given that I made the edits and the workflow didn't trigger, should I take this as evidence that the first document's claim about handling past dates is true? Or is the second document correct, and I'm doing something else wrong?