What is the processing order of rules, external events and synchronous custom processes?
Environment:
Rules, Process Designer, Custom Process Model (CPM), Service Process Model (SPM)
May 2013 and newer releases
Resolution:
The processing order is:
a) Rules
b) External Events (EE)
c) Synchronously executed Custom Process Model (CPM) - Object Event Handlers
Business rules are run on an object before it is initially inserted to the database on an object create, or before the initial object update on an object update transaction. All business rules are run before any EEs or CPMs, even in the case of rules that trigger EEs and synchronous CPMs. The record is committed to the database after rules are complete and before EEs and CPMs are run. Configured EEs run next (which is rare since that functionality has been deprecated for some time), and then synchronous CPMs. These customizations can use API commit statements, and there is a database commit of all records modified after all EE and CPM customizations runs are complete.
Workspace rules are run on the client side within the object workspace, prior to the record being saved in the editor. On the other hand, the processing of business rules, EEs and CPMs is run on the server, after a record create or update message is sent from the client to the server. For this reason, it is generally correct to consider that workspace rules are run before business rules. For further details see