What Plug-ins Are

Server-side .NET code that runs on Dataverse events — create, update, delete, assign. Synchronous (inline with the transaction) or async (queued).

Pre vs Post

Pre-validation runs before the transaction, with access to input and pre-image. Post-operation runs after the write, with access to the target record. Pick based on whether you need to mutate input or react to the outcome.

Development

Plugin Registration Tool registers assemblies to Dataverse. ALM-friendly workflow: code in Visual Studio, unit test, deploy via Azure DevOps pipelines.

Testing

FakeXrmEasy and similar frameworks unit-test plug-ins without a live Dataverse. Integration tests hit a dev environment. Both layers matter.

Performance

Plug-ins run in-transaction. Slow plug-ins slow user saves. Cap synchronous plug-in runtime; move heavy work async.

Share