# Row Permissions

To set row-level permissions to your table, click on the **Set up** tab and choose **Manage Access.**

<figure><img src="/files/3iwbD2aa22k5l9tEsYBK" alt=""><figcaption><p>Set up access control</p></figcaption></figure>

The 'Manage Access' window opens:

<figure><img src="/files/iocJ4l3zm71kZAoTQM4P" alt=""><figcaption><p>Manage Access</p></figcaption></figure>

With 'Row Access' section, you can specify users who can add, update or delete rows.

## 1. Add new rows

Under the 'Add' section, you can specify who is allowed to add rows in the workspace. Here are the available options:

**No one:** Select this option to prevent users from adding new rows to your table.

<figure><img src="/files/6gEcCf3HEIRij4FUHJex" alt=""><figcaption><p>Disable adding rows</p></figcaption></figure>

**All users in this workspace:** Select this option to allow everyone in the workspace to add records.

<figure><img src="/files/nX1tI8Z51Ui6fODouTRw" alt=""><figcaption><p>Allow all workspace users to add rows</p></figcaption></figure>

**Specific users:** Choose this option to allow only certain users to add rows. Enter the email IDs of the users or the Active Directory (AD) groups you wish to grant access.

<figure><img src="/files/c2dYwAeiCtmePBUAuob8" alt=""><figcaption><p>Allow specific users to add rows</p></figcaption></figure>

Click **Save** to apply changes.

## 2. Update existing rows <a href="#id-2.-update" id="id-2.-update"></a>

In the 'Update' section, you can specify who has permission to update existing rows.

**No one:** Choose this option to prevent users from updating rows.

<figure><img src="/files/N0YHT2A5DDnVycVbBVzK" alt=""><figcaption><p>Disable row updates</p></figcaption></figure>

**All users in this workspace:** Select this option to allow all workspace users to update records.

<figure><img src="/files/pdbNyQvnvB1Knt2RMjjW" alt=""><figcaption><p>Allow all workspace users to update rows</p></figcaption></figure>

**Specific users in this workspace:** Choose this option to allow only certain workspace users to update the rows. Enter the email IDs of the users or the AD groups you want to allow.

<figure><img src="/files/ti4WuZX0eLSNs1ZYvHtT" alt=""><figcaption><p>Allow specific users to update rows</p></figcaption></figure>

**Rule-based access:** Select this option to configure rules that specify the conditions under which a user or an Active Directory (AD) group can update rows in the table.&#x20;

The criteria for updating these rows can be established using column dimensions, allowing for a customized approach to data management and security.

<figure><img src="/files/0xC3rB9mSPBNlKOxkyK1" alt=""><figcaption><p>Rule-based update access</p></figcaption></figure>

1. Click on **Add Rule** to add a rule.

<figure><img src="/files/azEc1EG7m9xHjfLkgBi1" alt=""><figcaption><p>Add rule</p></figcaption></figure>

2. Enter the rule name, the filter condition, and the designated users who can update the rows for these dimensions. Click on **Add.**

<figure><img src="/files/QtjNHqmKH6SAzwyXOjOb" alt=""><figcaption><p>Configuring condition in a rule</p></figcaption></figure>

3. You can add more filter criteria within a rule by clicking on **Add filter** and then combine them using AND or OR operators.

<figure><img src="/files/tMJRisXFkBOuhjeWGVN6" alt=""><figcaption><p>Adding more than one condition in a rule</p></figcaption></figure>

4. You can set as many rules as required and assign corresponding users for each.

<figure><img src="/files/kBsRciPhBWfsPgWKkCtJ" alt=""><figcaption><p>Adding multiple rules</p></figcaption></figure>

5. Click **Save** to apply changes.

## 3. Delete rows <a href="#id-3.-delete" id="id-3.-delete"></a>

Under the 'Delete' section, you can specify which workspace users can delete rows.

**No one:** Choose this option to prevent users from deleting rows.

<figure><img src="/files/cjPhN5jpmklBUxi6IZ2c" alt=""><figcaption><p>Disable row deletion</p></figcaption></figure>

**All users in this workspace:** Select this option to allow all workspace users to delete records.

<figure><img src="/files/QPK99OZykxLggAFIz9rG" alt=""><figcaption><p>Allow all workspace users to delete rows</p></figcaption></figure>

{% hint style="info" %}
You have two options when allowing users to delete rows: either set up a **soft delete** or let them **remove the rows permanently**. Refer to [this section](#delete-type) to know more.
{% endhint %}

**Specific users in this workspace:** Choose this option to allow only specific workspace users to delete rows. You can enter the email IDs of the users or the AD groups you want to allow.

<figure><img src="/files/jaBVTgYrVHfSWFo9XkIW" alt=""><figcaption><p>Allow only specific users to delete rows</p></figcaption></figure>

**Rule-based access:** Select this option to configure rules that specify the conditions under which a user or an Active Directory (AD) group can delete rows in the table.&#x20;

The criteria for deleting these rows can be established using column dimensions, allowing for a customized approach to data management and security.

1. Click on **Add Rule** to add a rule.

<figure><img src="/files/JPfYPzIx6FaMOWuev6to" alt=""><figcaption><p>Add rule for delete access</p></figcaption></figure>

2. Enter the rule name, the filter condition, and the designated users who can delete these rows. Click on **Add.**

<figure><img src="/files/ZfBy0QebDcRdvMetsaET" alt=""><figcaption><p>Configuring filter condition in a rule</p></figcaption></figure>

3. You can add more filter criteria within a rule by clicking on **Add filter** and then combine them using AND or OR operators.

<figure><img src="/files/sQq8dxEvoumL8iVTtxtg" alt=""><figcaption><p>Adding more criteria within a rule</p></figcaption></figure>

4. You can set as many rules as required and assign corresponding users for each.

<figure><img src="/files/23ILpiqL5yOVVLxKxPqS" alt=""><figcaption><p>Adding multiple rules</p></figcaption></figure>

5. Click **Save** to apply changes.

## Delete Type

With the 'Delete Type' option, you can configure whether users can delete rows permanently or do a soft delete.&#x20;

<figure><img src="/files/phC3PaDOsO20t99kUeTU" alt=""><figcaption><p>Delete type</p></figcaption></figure>

**Permanent (Hard Delete):** When you select this option, the deleted rows are removed from the table or database permanently.&#x20;

**Mark as Deleted (Soft Delete):** When you select this option, the deleted rows remain in the database but are marked as deleted. This process involves setting a specific value to an existing column of the table when a row is deleted.&#x20;

For instance, we assign the value 'DELETED' to the 'Status' column for the rows that have been deleted.

<figure><img src="/files/50YIpUFdxDeXMjqLbshm" alt=""><figcaption><p>Mark row as deleted</p></figcaption></figure>

The deleted rows in the table look as below, after saving your changes:

<figure><img src="/files/C1aRWaW2ALSe1kTRMe1d" alt=""><figcaption><p>Deleted rows</p></figcaption></figure>

**Note:** In the above example, a new column called 'Status' has been created using the 'Add Database Column' option to track deleted rows.

#### **Show Deleted rows**

While soft-deleting rows, if the 'Show Deleted rows' option is selected, the deleted rows are shown as above in a grayed-out format.

When this option is unchecked, the deleted rows are hidden from the table.

<figure><img src="/files/XLrVFrggx8X4lUOna25Z" alt=""><figcaption><p>Deleted rows are hidden</p></figcaption></figure>

You can use the audit log to keep track of all changes, including the list of permanently deleted and soft-deleted rows.

<figure><img src="/files/ZY1LIkteCp2WxD2VOLhE" alt=""><figcaption><p>Audit log</p></figcaption></figure>

In addition to row-level access control, you can also set up approval workflows so that every change made by a user goes through a review and approval process. This is explained in [this section](broken://pages/TKIqzng0msYl6vYq23R7).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.powertable.com/explore-powertable/access-control/row-permissions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
