Prevent Created By user from deleting entity

I can’t seem to figure out how.

Nobody but admins should be able to delete records.

I’ve gone into the db access to try and limit the Created By using a custom access template, but it doesn’t appear in the dropdown.

Also, since I have automations which kick off field updates, these run under the access level of the creator; if the creator has only Ssubmitter level access, the automations fail (which is why they are stuck as Editor).

Does anybody have a solution for this?

There’s this section in the User Guide that talks about revoking access for Created By users, though this doesn’t seem to address the issue of automations using this permission. Does it not work for an architect/admin to set up the automations? Or is it an automation that’s being triggered by the user creating the entity? You could set an automation to revoke the Created By permissions at some point in the future.

If a “required” field is empty, I have an automation which captures it. The problem is, this field is a user relation. Since there is this window after entity creation but before this field gets populated, the record itself is in a limbo state where nobody can edit it — including the automation which sets the field for the “owner”.

Are you saying that I should set up an automation which triggers on creation/update when the “owner” field is populated to revoke access to the “created by” user?

Do you need the user to “Create and open” or is it “Submit it and forget about it” kind of situation. I ask because:

  1. The “Created by” automatic sharable access templates are limited to the default access templates
  2. You can make a “Created by” formula field, which literally just pulls from the created by field, and use that for the automatic sharing, then you can give custom access templates
  3. BUT this takes a bit longer to propagate (unfortunately), so “Create and Open” doesn’t really work, takes like 3 seconds.

IF you don’t need the create and open functionality, I would combine this with a formula which returns “True” always, and then trigger the population of the required field when the formula changes. Since it was not changed by a user, it will use admin rights to make the run, not the user who created the entity (i think).

Let me know if this makes sense.

The biggest downside is the delay of granting access due to using a formula field, I with we could use custom access templates on the “Created by” field.