Guide
A Lookup is a way to display the contents of a Field from a related Entity.
Unlike Relations, Lookups are read-only. To understand the differences better, go to Lookup vs Relation vs Automatic Relation section.
Check this video for a quick explanation:
https://youtu.be/VJqbAjO3LTs
How does a Lookup work?
Let's check an example.
Say you have the following hierarchy: Objective is connected to Epics, and Epics is connected to Features:
As you can see, there is no direct Relation between Feature and Objective, but they are connected via Epic.
If you want to see related Objective in Features, this can be done via Lookup Field that checks the Epic Database.
Create a Lookup Field
Navigate to Database or any Entity from the Database.
Click + New Field.
Select Lookup.
Select a Database in a Relation selector (Epic in the example above).
Select a Field from the Database (Objective in the example above).
Save the Lookup Field.
This way, you can see in Feature Database related Objective even though there is no Relation between them.
Lookup as a Collection
Lookup can represent a Collection (a set of Entities) as well.
For example, you have hierarchy Objective → Features → Tasks, and you want to see all Tasks for all Features linked to Objective. You can create a Lookup Field in Objective and select Features as a Relation and Tasks as a Field.
As a result, you will see Tasks list inside Objective.
Note that this list is read-only: you can't add new Tasks here, it just shows all tasks from all Features linked to an Objective.
Lookup vs Relation vs Automatic Relation
There are several ways to connect information between Databases, and Lookup is just one of them.
A Relation is a connection between two different Databases that is visible from both ends.
A Lookup is a way to display the contents of a Field from a related Entity. Lookups are read-only.
Automatic Relation, also known as auto-linking, enables the automatic linking of Entities from two different Databases based on specific rules. This is an Advanced option, check more in Auto-linking (Set Relations Automatically).
| Visible from one end only | Read-only |
A Relation | | |
A Lookup | ✅ | ✅ |
An Automatic Relation | | ✅ |
When to choose a Lookup over a Relation?
Lookups will be of use when you don't have a direct Relation between Database A and Database C, but they are both connected to Database B. In this case, Lookup helps to jump through the hierarchy and show a specific Entity or Collection.
Example 1 - Use Lookup to display an Entity
Let's check the example from Product Team Template.
You have Company and Contacts in Customers Space, and you have Interview in the Feedback Space.
For every Company, there are many related Contacts, so the Databases are connected via one-to-many Relation.
You collect feedback from your customers in the Interview Database where you want to mention with whom you talked, or your Contacts. For this, you connect Interview and Contact via one-to-many Relation.
You would also like to automatically see to what Company those Contacts belong.
For that, in the Interview Database you create a Lookup Field that displays information about Company where Contacts work.
So despite the fact that there is no Relation between Interview and Company, you can see information about Company in the Interview Database.
Example 2 - Use Lookup to display a Collection
You have Contacts and Country (an Integration Database) in Customers Space, and you have Interview in the Feedback Space.
For every Country, there are many related Contacts, so the Databases are connected via one-to-many Relation.
For every Contact, there can be several related Interviews, so the Databases are connected via one-to-many Relation.
You want to see how the interviews are distributed across countries despite the fact that Country and Interview Databases are not connected via a Relation. Every Country have many Contacts and have many Interviews.
To do so, go to the Country Database, add a Lookup for the Contacts Fields to display connected Interviews.
For a better visualization of a result, let's create a Board View. For even better visualization, apply a Filter to show only those Countries where Contacts is not empty. Here is how it will look like:
As we can see, the German-speaking market is not covered at all 🤷♀️ And there are contacts in Argentina and Brazil that can be interviewed.
FAQ
Why does a Lookup to a Rich Text field appear empty without permissions?
Rich Text is treated as a collaborative document, and Lookup fields won't show its content unless the user has access to the source entity.
For most fields (like text, number, or dates), a Lookup can display data even if the user can't open the original entity.
But for Rich Text fields, Fibery applies permissions at the document level. So if the user doesn’t have access to the parent entity, the Rich Text field will show as empty.
This makes Rich Text a special case — and means you can't use Lookups as a workaround to selectively share Rich Text content.
Is this a bug?
No - this is expected behavior due to how Rich Text permissions work. However, we may revisit this in the future to align Lookup behavior more closely across all field types.