Monitor CRM Users Personal Options with Power Automate

Dominic Liu, 03 March 2021

If you are the Dynamics 365 System Administrator for your organisation, sometimes there are issues or even potential risks when a user changes their personal settings. For example, if user changed their email tracking to all email messages, Dynamics 365 would track all the emails from your inbox and put into the system as email activities. This can cause issues with storage capacity and privacy.

image

It would be handy if we could proactively monitor changes to personal settings so we can be better informed of any settings that can cause issues.

Personal Options for a user are stored in a table called User Settings.

· Entity Name: User Settings

· Schema Name: usersettings

· Primary key is: systemuserid

You can also check this table information from:

https://yourorganisation.crm6.dynamics.com/api/data/v9.1/EntityDefinitions?$filter=LogicalName eq 'usersettings'

Microsoft Document Reference: https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/usersettings?view=dynamics-ce-odata-9

There are some limitations with interacting with the table.

· It doesn’t show up in the default solution so there’s no way to audit the information.

· You cannot select the table to use in Workflows

One workaround is to use Power Automate to notify us when users change their settings to a specific value.

First, Let’s create a new Power Automate Flow from blank, select the trigger ‘When a row is added, modified or deleted’ change the type to update, from User Settings Entity, I use the Column filter(previously called Filtering attributes) to uilanguageid

image

Second, we need to get the User’s information, as there’s only limited information from the User Settings entity.

image

Lastly, the final step is to send the notification. For my example below I will use a Microsoft Teams connector to send me a message.

image