# Lock Entities from Automations or State

**URL:** <https://community.fibery.io/t/lock-entities-from-automations-or-state/8299>\
**Category:** Ideas & Features\
**Tags:** automations\
**Created:** [February 21, 2025, 7:39am UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299 "2025-02-21T07:39:05Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![njyo](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/njyo/32/923_2.png) [@njyo](https://community.fibery.io/u/njyo)\
**Post date:** [February 21, 2025, 7:39am UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/1 "2025-02-21T07:39:05Z")

</div>

I love that it’s now possible to lock entities!

Next step would be to allow using Automations and Workflow States (like `Done`) to lock entities automatically.

Thanks!

---

<div class="post-metadata">

**Author:** ![gasby](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/gasby/32/11429_2.png) [@gasby](https://community.fibery.io/u/gasby)\
**Post date:** [April 12, 2025, 4:05pm UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/2 "2025-04-12T16:05:41Z")

</div>

I am out of votes. But was just looking into doing this via automation. so +1

---

<div class="post-metadata">

**Author:** ![nathan\_jay](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/nathan_jay/32/11899_2.png) [@nathan\_jay](https://community.fibery.io/u/nathan_jay)\
**Post date:** [July 18, 2025, 6:28am UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/3 "2025-07-18T06:28:04Z")

</div>

Yeeeess needed. This is one of my primary use cases.

When a task is set to “done” it should be locked. In my case it would be to prevent anyone from adjusting sales commissions after a deal has closed. But really its just good practice.

This is a feature in Hubspot Deals object and works really well.

 ![image](https://us1.discourse-cdn.com/flex020/uploads/fibery/original/2X/8/824fa8f50e8e5d6f5af6095f2682d20df39b500d.jpeg)

If you toggle on `Control deal editing access` you get these options:

 ![image](https://us1.discourse-cdn.com/flex020/uploads/fibery/original/2X/7/73cfb609e547badbae30e30c4042e615a390b20c.png)

You could add these settings to the field settings page for “State”. You can then define which user types can edit Entities at every given State.

If a user accidentally moves it to Complete stage and therefore can’t edit, they have to go to the Super Admins to ask them to unlock it (move it back to prior stage).

Which side note: it’s really confusing that the “Workflow” field is then called “State” after it’s created and its the same thing?

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [July 18, 2025, 8:01am UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/4 "2025-07-18T08:01:39Z")

</div>

You might want to consider using [per entity permissions](https://the.fibery.io/@public/User_Guide/Guide/Share-Entity-233), combined with [auto-granting](https://the.fibery.io/@public/User_Guide/Guide/Automatically-Share-Entities-via-People-Field-327) to make sure the right people can make the right edits at any given time.

---

<div class="post-metadata">

**Author:** ![nathan\_jay](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/nathan_jay/32/11899_2.png) [@nathan\_jay](https://community.fibery.io/u/nathan_jay)\
**Post date:** [August 21, 2025, 6:51am UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/5 "2025-08-21T06:51:08Z")

</div>

Thanks Chris.

I had a good look through this but it seems like a really complicated workaround.

If I understand correctly I would have to create 2 entities for the same deal and link them:

- First entity is editable by everyone
- Second entity is editable by Admins
- Link both entities

Is that correct?

This is a bit confusing for the DB structure and I can see would probably(?) have unintended complications when trying to create reports or views. Maybe not I haven’t tried it yet but I’ll try to test it.

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [August 25, 2025, 1:51pm UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/6 "2025-08-25T13:51:33Z")

</div>

No need to create multiple entities.  
You would create a field which links specific users to the entity based on it’s state. And then use permissions settings to grant access to the people who are linked.

In your example, you could link the user database to the State field, and then choose which users should have rights for that state. Then a formula in the Task db to get this field from the State, and use permissions to control access.

Of course, you need to make sure that users don’t get access to the database in general, and only via this field.

> **[Sharing & Permissions](https://the.fibery.io/@public/User_Guide/Guide/Sharing-Permissions-46)**

---

<div class="post-metadata">

**Author:** ![nathan\_jay](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/nathan_jay/32/11899_2.png) [@nathan\_jay](https://community.fibery.io/u/nathan_jay)\
**Post date:** [August 29, 2025, 11:30am UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/7 "2025-08-29T11:30:12Z")

</div>

Wow yes this is exactly what I need.

I tried for a while to set it up but I still can’t get it to work.

It looks like State is the Workflow field of the Task db so how can I “link the user database to the State field”?

And then “choose which users should have rights for that state”? If the State is just a field, there is no mapping of State \<\> User, unless State is another database.

It’s like I just spent 30 minutes with one of those wooden brain teazer puzzles and I just couldn’t get the pieces to fit 😆

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [August 29, 2025, 12:15pm UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/8 "2025-08-29T12:15:11Z")

</div>

The Workflow field (and all single- or multi-select fields) are in fact ‘hidden’ databases, where each option is an entity. They support a lot of the same capabilities as true databases, including the ability to add relations. In this case, I added a relation from the State ‘database’ to the User database, and for each option (Open, In Progress, Done) I linked specific users.

If you watch the video, you can see that I open the specific State option with the name ‘Done’. This is possible by alt-clicking on the name. Sorry that it wasn’t clear. From here, you can add fields and relations as you would like.

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [August 29, 2025, 12:16pm UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/9 "2025-08-29T12:16:12Z")

</div>

Of course, in some cases, you might want the State field to be a true relation to a database (there are some things you can do with a true db that you can’t do with a select field db)

---

<div class="post-metadata">

**Author:** ![nathan\_jay](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/nathan_jay/32/11899_2.png) [@nathan\_jay](https://community.fibery.io/u/nathan_jay)\
**Post date:** [October 17, 2025, 2:21am UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/10 "2025-10-17T02:21:35Z")

</div>

aha! got it now 😉 Thanks Chris, thats super helpful.

I even tried to increase the complexity and link it to user groups rather than specific people.

---

<div class="post-metadata">

**Author:** ![Bronn](https://avatars.discourse-cdn.com/v4/letter/b/b5a626/32.png) [@Bronn](https://community.fibery.io/u/Bronn)\
**Post date:** [March 3, 2026, 9:59am UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/11 "2026-03-03T09:59:17Z")

</div>

This is an interesting workaround, but in my use case, the people who need access are defined by the job (so whether it’s just the job manager, or all assignees, etc.). Therefore, this doesn’t seem possible using the workflow field. However, it’s also not possible as a formula field because sometimes I’m going to want to say ‘if this state, no user can edit’ and we can’t currently add null values (with no adding a ‘null’ user workaround because you can’t just add users).

An example of what I need to do (simplified a little): Make projects editable by only directors, admins, and the job manager when it’s a lead, editable by those plus assignees from active tasks when active, and view only by directors, admin, job manager once complete (no edit rights), visible to no one (except Fibery admin) once archived.

I’ll need to do similar on other databases, but I think Jobs will be the most complicated.

Any ideas?

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [March 3, 2026, 10:19am UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/12 "2026-03-03T10:19:45Z")

</div>

You can relate the job state to your user group db twice, once to represent the groups who should be able to edit, and once for the groups who should be able to view. e.g.

Lead : Editors - Directors, Admins, Job Managers  
Lead : Viewers - empty  
Active : Editors - Directors, Admins, Job Managers  
Active : Viewers - empty  
Complete : Editors - empty  
Complete : Viewers - Directors, Admins, Job Managers  
Archived : Editors - empty  
Archived : Viewers - empty

In addition, you can add a formula field to get the Assignees when the job is in the Active state:

`Assignees.Filter([This Job].State.Name = "Active)`

and grant Editor access via this field.

---

<div class="post-metadata">

**Author:** ![Bronn](https://avatars.discourse-cdn.com/v4/letter/b/b5a626/32.png) [@Bronn](https://community.fibery.io/u/Bronn)\
**Post date:** [March 3, 2026, 10:24am UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/13 "2026-03-03T10:24:17Z")

</div>

Thank you for the help getting my brain around this!

My Job Manager is a single person field on the job. Is there a way to get that to work? I cannot filter it like assignees because it’s not a collection.

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [March 3, 2026, 3:10pm UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/14 "2026-03-03T15:10:32Z")

</div>

Can you clarify the fields on your Jobs, and what user groups you have, just so I’m clear

---

<div class="post-metadata">

**Author:** ![Bronn](https://avatars.discourse-cdn.com/v4/letter/b/b5a626/32.png) [@Bronn](https://community.fibery.io/u/Bronn)\
**Post date:** [March 3, 2026, 5:48pm UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/15 "2026-03-03T17:48:03Z")

</div>

Job Manager is a single-person field on the job. Ideally, I’ll have Director field on the job as well (single-person) with the Director ‘overseeing’ that project, who will have edit rights. Then Assignees is a multi-person field rolled up from active tasks. The teams I have are Directors (other directors may just need read access) and Admins, I may have more later on, but I’m just starting to think about my permissions now.

---

<div class="post-metadata">

**Author:** ![helloitse](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/helloitse/32/498_2.png) [@helloitse](https://community.fibery.io/u/helloitse)\
**Post date:** [August 3, 2026, 5:08pm UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/16 "2026-08-03T17:08:58Z")

</div>

This feels like a low hanging big win. I would need to shuffle my votes around to vote for it, but wanted to bump this up incase other community members want to weigh in on how they’d use it.

I want to lock invoice/quote/payment records when an invoice is paid in full.

---

<div class="post-metadata">

**Author:** ![RonMakesSystems](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/ronmakessystems/32/14122_2.png) [@RonMakesSystems](https://community.fibery.io/u/RonMakesSystems)\
**Post date:** [August 4, 2026, 6:50am UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/17 "2026-08-04T06:50:45Z")

</div>

Why not use validation rules for locking? I personally haven’t ever used the “Lock” feature since anyone can unlock it (I think).

Valication rules maybe won’t be as pretty/clear on the UI though. Thinking out loud, not sure.

---

<div class="post-metadata">

**Author:** ![nathan\_jay](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/nathan_jay/32/11899_2.png) [@nathan\_jay](https://community.fibery.io/u/nathan_jay)\
**Post date:** [August 19, 2026, 4:25am UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/18 "2026-08-19T04:25:52Z")

</div>

The sharing permissions workaround described above does work but its long winded. It seems like it could be made a lot easier if the “hidden db” for the State field is made visible. Then AI agent with MCP can access it and do all the hard work for you and the “work around” above is not a hidden feature but a viable build

---

<div class="post-metadata">

**Author:** ![helloitse](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/helloitse/32/498_2.png) [@helloitse](https://community.fibery.io/u/helloitse)\
**Post date:** [August 20, 2026, 10:44pm UTC](https://community.fibery.io/t/lock-entities-from-automations-or-state/8299/19 "2026-08-20T22:44:25Z")

</div>

I have barely gotten involved with validation rules in my own workspace since I mostly build around myself a solo operator.  
They are the best thing we have from what I can tell. But the user experience of locked for editing and “I tried to edit but tit was rejected” is quite different.
