
I have a plugin registered on the AddListMembers and RemoveListMembers messages to execute some custom business logic whenever members are added to or removed from a Static Marketing List.
While testing, I noticed some unexpected behavior.
When I add around 1,000 members to a Static Marketing List using Manage Members → Add Using Advanced Find, the members are added successfully, but my AddListMembers plugin does not get triggered.
Initially, I thought this might be a temporary issue, so I repeated the test multiple times and observed the same result.
To verify the plugin registration, I added the same members programmatically using AddListMembersRequest. In that case, the plugin was triggered successfully.
I then reduced the number of members being added through the UI and found that:
Adding around 250 members through Manage Members → Add Using Advanced Find triggers the plugin.
Adding around 1,000 members through the same UI action does not trigger the plugin.
Adding members programmatically using AddListMembersRequest always triggers the plugin.
I observed similar behavior with RemoveListMembers:
Removing a smaller number of members through the UI triggers the plugin.
Removing a large number of members through the UI does not trigger the plugin.
Removing members programmatically using RemoveListMembersRequest always triggers the plugin.
Based on this behavior, it seems that Dynamics 365 may be using a different internal process when more than 250 members are added to or removed from a marketing list through the UI.
My requirement is to execute custom business logic whenever members are added to or removed from a Static Marketing List, regardless of the number of records involved.
Has anyone encountered this behavior before?
If Dynamics 365 does not trigger AddListMembers and RemoveListMembers for large-volume operations, what is the recommended and supported way to implement custom logic for these scenarios?