In large-scale enterprise environments, unnecessary execution of business logic is a silent performance killer. A common mistake is registering plugins on an entity’s “Update” message without specifying Filtering Attributes.

The Problem

If you don’t filter, your plugin fires every time any field on the record changes (including auto-saves or background updates to hidden fields). In a system with 50+ fields and high transaction volume, this causes massive database contention and UI lag.

Practical Example

Scenario: You need to recalculate a “Credit Score” only when the “Annual Revenue” of an Account changes.

  • Poor Practice: Plugin triggers on Update of Account. It runs 100 times a day even if only the “Phone Number” was updated.
  • The Fix: Set the Filtering Attributes in the Plugin Registration Tool to only include revenue.

Technical Best Practice

Strict Filtering: Always restrict your execution steps to the minimum required attributes. If your logic requires data from other fields, retrieve them via the Target entity or an Image rather than triggering on them.

Leave a comment

Copyright © 2026 Dynamics Services Group