[SalesForce] Time Dependent Workflow with multiple email alerts

I have time dependent workflow email alerts on a custom object which send outs an email alert to user 60,30,15 days before expiry date.But when a new record is created on a custom object with 16 days before expiry date it still sends out 3 email alerts where it should only send 1 email alert to user.

what could be the reason for 3 emails ? Is there a way we could stop sending out 3 emails and just send 1 email to user.

Evaluation Criteria:

Evaluate the rule when a record is created, and any time it's edited
to subsequently meet criteria.

Rule Criteria :

IF(User <> NULL && Expiry_Alert__c = true,true,false)

User Requirement :

Need 3 alerts for 60,30,15days before expiry date if record created
date is more than 60 days. 2 alerts for 30,15 days before expiry date
if record created date is more than 30days and less than 60days before
expiry date and 1 alert if record created date is more than 15 days
and less than 30 days before expiry date.

Best Answer

As @sebmaldo stated in his answer - all time-dependent actions with a date in the past start executing right away. To avoid this, you have to include date validation in your criteria, and this will mean that you have to split your single workflow rule into 3 - one for each time-dependent action.

Next, your current validation formula isn't perfect, can be rewritten to: ISBLANK(User) && Expiry_Alert__c

  • What record created date is from user requirements? Why do you not reference it in your WR validation?
  • Is Expiry_Alert__c a flag or a formula?

The best formula would be ISBLANK(User) && ((Expiration_Date__c - TODAY()) >= 15) for 15 days alert and also create 2 more WR for 30 and 60 days.