In Dynamics 365, when a plugin is run, it executes based on a pipeline execution model.
Plugins can be triggered by:
- A user action in the Dynamics 365 user interface, such as retrieving a record
- Events triggered by the Organization Service or the WebAPI, such as retrieving a record
Post-Operation events in the pipeline are processed either:
- synchronously – these plugins are are executed immediately and run in a specific order
- asynchronously – these plugins are executed by the Queue Agent and run later by the async service
Other events are processed synchronously.
The event pipeline is as following:
Event | Stage name | Stage number | Description | Sync/Async |
Pre-Event | Pre-validation | 10 | Executes before the main system operation and outside the database transaction. | Sync |
Pre-Event | Pre-operation | 20 | Executes before the main system operation and executed within the database transaction. | Sync |
Platform Core Operation | MainOperation | 30 | This is the actual platform operation. No plugins registered here. | |
Post-Even | Post-operation | 40 | Executes after the main operation and within the database transaction (if sync) | Sync & Sync |
Plug-ins that execute during the database transaction and pass an exception back to the platform cancel the core operation.
The pipeline is detailed here.
4 thoughts on “DYNAMICS 365 PLUGIN EXECUTION PIPELINE”