In Previous blog we saw table permission with Global and contact access type.
In this blog, we will see table permissions with account, parent and self scope.
Table permission with Account scope
- If we create table permission with an account scope then the user can only see records that are related to that user’s account record via a defined relationship.
- Records that are associated with the user’s account.
Example 1
Display cases that are related to the signed-in user account record. (User should see all the cases of its account)
The case table has a customer column and we want to display only those cases that are related to the user’s account record in the PowerApps portal.
- Enter below details
- Name: Enter name for table permission record.
- Table: select the table for which you are creating table permission.
- Access Type: Select Account access from the drop-down.
- Click on the drop-down and select the relationship between the Case and the Account table.

- Select Privileges
- Click on “+Add roles” and select the role.


User record in Dataverse
User account name is “Fourth coffee”

Case records that are related to the user’s account in dataverse

Case record in PowerApps Portal

Example 2
Display all the contact records that are related to the signed-in user account.(List all the contacts of the user’s account)
Create Table permission with below details.



contact records in dataverse

contact records in PowerApps Portal

Table permission with Parent scope
If we want to configure the parent-child relationship then we use parent scope in table permission.
A parent table can have any of the available access types (global, account, contact, parent) while a child table will have a parent as access type.
In the portal, we will only see those child records that are related to the parent table.
Example:
- let say we have a project and project task table and we want to display only those project tasks that are related to the project.
- The project is the parent table and the project task is the child table.
- Notice here we don’t have to restrict based on account or contact, in scenarios like this we use parent scope permission.
- To create table permission with parent scope we first have to create permission for parent table in our scenario parent table is Project so first create table permission for the project and then create table permission for child table which is project task.
Below is the table permission for Parent Table(i.e. Project Table)

Creating permission for child table
- open your parent table permission
- Go to Child Permissions and click on “+New”

- Name: Enter name for table permission record.
- Table: select the child table for which you are creating table permission.
- Click on the drop-down and select the relationship between the project and the project task table.

- Select Privileges
- Click on “+Add roles” and select the role.


Records in Dataverse:

Records in PowerApps Portal(You can only see those project task that is related to Integration and sales setup project)

Example 2
You can find another example related to parent scope in this blog.
Example 3
Another example related to parent scope.
Table permission with Self scope
If we create table permission with a self-access type then the user can only see its own contact record in PowerApps Portal.
NOTE: Scope value ‘Self’ is only applicable to the contact table. We cannot create table permission with scope as an access type for any other table.
- Enter below details
- Name: Enter name for table permission record.
- Table: select contact table.
- Access Type: select Self-access from the drop-down.
- Select Privileges
- Click on “+Add roles” and select the role.
- Click on save

Now users can see only their own record in the PowerApps portal.

I hope this blog helps you to understand Table permission in the PowerApps portal. If you have any queries, you can share those in the comments section.