3

I think I received this message because too many time-dependent workflows were scheduled.

I did a research and what I can find is :

https://help.salesforce.com/apex/HTViewHelpDoc?id=workflow_time_action_considerations.htm&language=en

Salesforce limits the number of time triggers an organization can execute per hour. If an organization exceeds the limits for its Edition, Salesforce defers the execution of the additional time triggers to the next hour. For example, if an Unlimited Edition organization has 1,200 time triggers scheduled to execute between 4:00 PM and 5:00 PM, Salesforce processes 1,000 time triggers between 4:00 PM and 5:00 PM and the remaining 200 time triggers between 5:00 PM and 6:00 PM.

My questions is if an Unlimited Edition instance has 3,000 time triggers scheduled to execute between 4:00 PM and 5:00 PM,

Would Salesforce process my 3000 time triggers from

4:00 PM to 5:00 PM first 1000

5:00 PM to 6:00 PM second 1000

6:00 PM to 7:00 PM third 1000

Or would Salesforce only defer the second 1000 and erase everything after.

  • It just keeps ploughing through them is my experience but I can't find anything documented that supports this yet. – Girbot May 25 '16 at 18:49
  • 1
    It will execute all in chunks @ 1000 per hr – o-lexi May 25 '16 at 19:07
7

Salesforce does not throw the triggers away if it goes over the hourly limit it just queues it up for the next hour.

So in your example of 3,000 workflow time triggers firing at once. Which seems super crazy to have that high a volume but I digress...

It would flow something like this:

  1. Salesforce checks to see if there are any time triggers that are scheduled to fire now. It does this back end check every 15 minutes or so. That's why a time trigger action does not necessarily fire instantly from a time trigger it's all queued and a process checks the queue so it could be up to 15 minutes.
  2. Salesforce finds 3,000 actions that need to be processed.
  3. Salesforce processes the actions till it hits the limit. In your case 1,000.
  4. I believe that the limit is rolling so that if you execute 300 actions then 500 actions 20 minutes later and then 700 actions 40 minutes later. The first 300 actions drop out of the limit and you're now at 1200/1000.
    1. (well sort of it'd be more like fire 300 you're at 300/1000, then fire 500 so you're at 800/1000, then finding 700 need to be fired it would look and see you're at 800 so it would do 200 to get you at 1000/1000. time will pass to have the 300 drop off so you're at 700/1000)
  5. So now we've waited till we are under the limit again, be it one hour after 1000 actions happened or that we've rolled off of a bunch of actions spread out over time.
  6. Salesforce's back end job spools through the queue to find actions that are ready to be fired.
  7. Slaesforce finds there are 2,000 records to be processed.
  8. The process repeats till there are no more records to be processed.

Make sense?

| improve this answer | |
2

Referring to this knowledge article titled Time Based Workflow Execution Interval is 15 minutes which has a somewhat misleading title as the last line below seems to give the definitive answer to your question. Your records would be processed at a rate of 1000/hr. The 15 minute check has nothing to do with how they're processed once the 1000 limit is exceeded assuming you're using either Unlim Edition or Performance Edition.

Salesforce users have an option to Monitor their time based workflow actions pending in the queue. In order to do that, they can follow these steps:

  • From Setup, enter Time-Based Workflow in the Quick Find box, then select Time-Based Workflow.

  • Click Search to view all pending actions for any active workflow rules, or set the filter criteria and click Search to view only the pending actions that match the criteria.

  • You will see the scheduled time-dependent workflow actions with Scheduled Date field specifying a certain date and time.

Time based workflow actions will not always execute at the exact time displayed in the Monitoring setup menu.

Instead, they are batched and executed every 15 minutes. Considerations for Time-Dependent Actions and Time Triggers still apply. Therefore the expectation for the execution of time based workflow actions should be within 15 minutes of the scheduled time unless the Time Trigger per hour limit is exceeded, which will push the batch to the next hour.

Also note that 1000/hr is for Unlimited and Performance Editions. EE has a limit of 500/hr as per the chart below:

Professional Edition    Enterprise Edition  Developer Edition   Unlimited and Performance Edition
        250                    500                   50                1,000
| improve this answer | |
  • Is it exclusive with Process Builder scheduled action of 1k limit? or both inclusive? – Ayub Feb 27 at 6:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.