Managing User control over Data Access and Update

Demo Scenario:

I have a Retool application that includes a table component with the following columns:

  • Task
  • Remark
  • Assigned (indicating which user the task is assigned to)

Goal:

I want to configure the table or the application logic so that:

Each row can only be edited by the user whose account matches the value in the Assigned column.

For example, if a row has Assigned = "john", then only the user logged in as john@example.com should be able to edit that row.

Other users should only have view access to rows not assigned to them.

This is a demo use case, but I intend to apply the same logic to a real-world scenario.

Question:

Is it possible to implement this kind of row-level permission logic in Retool?
If yes, what would be the best way to set it up?
If not, is there a different way I can think about implementing something like this?

Hi there @H_R,

Yup, definitely achievable.

The edit options for each column can be made dynamic, which means you can decide whether a column is editable for a given user or not.

See below example:

In this case I have limited the rows to be edited to the ones matching email chic.footitt@yahoo.com, but you can use current_user.email or any other variable to apply your constraints and rules.

Hope this helps!