# \[DONE\] Convert entities of one Type to another Type

**URL:** <https://community.fibery.io/t/done-convert-entities-of-one-type-to-another-type/428>\
**Category:** Ideas & Features\
**Created:** [November 23, 2019, 1:37am UTC](https://community.fibery.io/t/done-convert-entities-of-one-type-to-another-type/428 "2019-11-23T01:37:44Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![jean1](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/jean1/32/1669_2.png) [@jean1](https://community.fibery.io/u/jean1)\
**Post date:** [April 3, 2021, 11:22am UTC](https://community.fibery.io/t/done-convert-entities-of-one-type-to-another-type/428/5 "2021-04-03T11:22:33Z")

</div>

I feel like this should be a function of the entity’s context, not of their type.  
I.e. _Employee Candidate_, _Sales Lead_, _Employee_, _Customer_ are all people.

Notion allows something like this: I could have them all in a _People_ table.  
Then I could create _Candidates_, _Leads_, _Customers_ **linked** tables, all showing a filtered subset of people with only the relevant properties. (It’s messy in other respects though.)

Maybe Properties should belong to Collections.  
Membership of a collection is defined in terms of a filter on properties.  
Entities in the _People_ table get all the associated properties, and filter properties default to filter values, e.g. `"Is ~= Person"`.  
This table would have fields like `FirstName`, `LastName`.

The _Employees_ table should be able to add and remove (hide) properties. Properties added in a linked table are hidden by default in any other related tables.  
The filter for this table would be `"Is ~= Employee"`, so when I add entities from the People collections to the Employees collection, they would have `Is = [Person, Employee]`.  
All the properties of matching entities would show up on the collection, and irrelevant ones can then be hidden.  
This table would add a reference to entities in the `Teams` collection (e.g. entities that match `"Is ~= Team"`), so now they have `FirstName`, `LastName`, `Teams`.

Then I’d like to create a _Fibery members_ collection, which filters to `Is ~= Member; Can ~= LogIn`, where `Can` is a reference to a **behaviour**. Behaviours extend entity capabilities, and include e.g. log in to Fibery, sync with GitHub, sync with Intercom, etc. Entities in this collection have  
`FirstName`, `LastName`, `Teams`, `LoginName`, `Password`, …

What I’m driving at is to break the strong coupling between entities and types, and rather have an entity gather properties and behaviours from the collections that it’s part of. The goal is to make entities far more malleable.

---

_[View the full topic](https://community.fibery.io/t/done-convert-entities-of-one-type-to-another-type/428)._
