2

Requirements:
I have a custom object with a boolean field that will always be set to false on creation. Within a given time interval, that field could be changed to true. When the time interval is up, I need to check and see if that field was set to true.

If false -> send out an email.
If true -> do nothing.

I have been looking at the process builder and workflows to see if this is possible, but I do not see how to check the criteria of fields after X time to see if the workflow should send out an email.

Is this possible to do using workflows/process builder or will I need to use the apex scheduler capabilities?

2
  • 3
    You can do it via workflow. Lets say you have field A, which may be changed from false to true. Then you create field CheckADate, which is date time, and that is set to date, where check needs to be performed. You add workflow, that fire on that date, and set field, called FireACheck from false to true, that fire a workflow (second one ), which is actually checking what is status of A, and perform real action, that need to fire. Summary - 2 extra fields (Date when perform check, and field that should indicate if execute action). and 2 workflows - checker, and executor.
    – kurunve
    Mar 7, 2016 at 14:16
  • That works perfectly. It took me a minute to understand it the way you typed it out, but it is spot on. If you could create this as an answer then I would be happy to mark this as the answer. Thanks.
    – Tyager
    Mar 7, 2016 at 18:06

2 Answers 2

1

It is possible. Main idea is to use second workflow, that would update one more field based on some time trigger, and main workflow would perform main action.

For example, lets say we have field A__c, which is false on creation and that may or may not be set to true in some time. And we want to check, if within some time that field is true, and send email (do another action) if it is. So, to achieve this, next extra fields are required, first with type date time, and second string. For future reference, lets call first CheckTime__c, and second CheckStatus__c. Then secondary workflow would be fired on record create, and have time action that at CheckTime__c time would update CheckStatus__c to 'Fire' if A__c is equal to true. Also checkbox Re-evaluate Workflow Rules after Field Change should be true.

Then main workflow would just simple check, if CheckStatus__c has beens set to 'Fire', and if that is true -- perform email sending immediately (or another actions).

P.S. CheckStatus__c can not be checkbox because in workflow you can set it to true of false, but not as formula value. Probably, there are some workarounds here.

0

If the length of time to wait is constant, all you need is a single workflow rule and a time trigger.

Workflow rule criteria: checkbox = false. Immediate actions: none Time trigger: N hours/days Action: email alert to send email

If the checkbox is set to true before the allotted time has passed, the rule will no longer meet the criteria and so nothing will happen.

If checkbox remains false, then at the time set by the time trigger, the email alert will fire.

If the length of time to wait is dynamic, you need a second field to capture "evaluation time"

You still only need one rule, as you can set your time trigger to evaluate the evaluation time field.

If the checkbox is checked, the record won't meet the criteria, and the trigger will be removed from the queue.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .