Custom user settings can be saves into Dataverse. In previous post I described how to create the table and set permissions. This post describes how to read the settings and offer user possibility to set the setting in Teams notification using Power Automate.

There is child Power Automate flow, which is triggered by parent flow listing users to be notified. The parent flow is running each loop, this is why child flow at first responds to the parent flow that it will not remain waiting the user input for this child flow. For the same reason the flow is split into child and parent flow.

There is need to get the user from the Users table with the owner (Omistaja) guid (value). Then read the CRM User Settings table for the current user (Käyttäjä).

If there is no row user to user or the setting is set, read the setting value. By default notifications are enabled to user, if not disabled by intention earlier (if there is no row, give notification).

empty(body('Get_user_settings')?['value'])

first(body('Get_user_settings')?['value'])?['sitra_henkiloidensiirrostapassivointiin']

Notify the user with choice options in Teams and offer possibilities to answer Yes, No and No notifications in future.

For Yes/No functionality you need to create your own logic what to do, in this example this Deaktivointi condition for that.

If user press No more notifications, there is need for catch that choice in condition No more announcements. First check if there is existing user settings row for user

empty(body('Get_user_settings')?['value'])

If empty (yes), create new row with correct settings. Set the selected setting Yes/No field into No value. Then remember to set the current user as owner of the Dataverse table row, so that user gets the permission to update it later on.

If the user settings row exists already, just update the Yes/No value for the functionality to No

Next there is need for creating user interface where to setup these settings later on.

Blog post series about custom user settings

  1. First you need to create Dataverse table and set permissions to security role
  2. Then you need to build a logic into Power Automate how to read the settings
  3. Finally there is need for creating user interface where settings can be managed