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?