I have a sample application that consists of two tables, Forms and Form Types and a Model-Driven Application called Forms Model App.

Currently I have three Form Types:
Form Type AForm Type BForm Type C
When creating a Form you have to assign a Form Type.
I had a new requirement come up.
I wanted to allow certain people to have access to edit certain Forms based on the Form Type.
After giving this some thought 💭, I think I came up with a good solution that I will share with you.
Create Security Role for Forms User
I navigated to the Power Platform Admin Center and created a Security Role called Forms User in the environment where my solution lives.

I made sure to set Include App Opener for running Model-Driven apps to On.
I gave the Security Role the appropriate permissions to access the Forms and Form Types tables.

🫵Notice I gave the Forms table mostly User permissions, meaning the user would only be able to do the action on records they owned.
I then added the Security Role to the solution.
Create Teams
I then navigated back to my environment in Power Platform Admin Center and under Settings clicked Teams.
I added three teams, one for each form: Form Type A Team, Form Type B Team and Form Type C Team.
I added the Security Role for Forms User to each.

I then added Demo User to Form Type A Team and Form Type C Team.

Create Flow to Update Owner
In order for this to work correctly, I need to change the Owner of the Form to the correct Team based on the Form Type.
The flow sets the Owner of the Form to the Owner of the Form Type.

I set the Owner of each of the Form Types to the respective team:
For the Form Type named Form Type A, I set the Owner to Form Type A Team. I repeated for Form Type B and Form Type C, respectively.
What happens when the flow runs⚙️?
It looks at the Owner of the Form Type assigned to the Form, and makes that the Owner of the Form, in this case, it will always be a Team.
Test the Application and Security
Now I’m ready to test🧪 my application.
From the app maker side of things, where I have the appropriate permissions, I created several Forms of different Form Types.

I now log 🔒 in as my Demo User.
As expected, I only see Forms that are of Form Type A and Form Type C.

I think it took me longer to think about how to do this, than actually do it!
If there is a better way, please share! 🙂
Check out the solution for yourself at FormsSolution_1_0_0_1.zip.
Don’t forget to setup the Teams in the Power Platform Admin Center for your environment.
Discover more from Matt Ruma
Subscribe to get the latest posts sent to your email.
