You have a Notion database with a Person column, and you want to reference that person in a formula. However, when you write a formula that tries to read the Person property, Notion returns an error or empty result. This happens because Notion formulas cannot directly access Person, Created By, Last Edited By, or Date properties created by those user fields. This article explains the exact technical limitation and provides a reliable workaround using a Select property and a linked database.
Key Takeaways: Notion Person Property in Formulas
- Person property in formula causes error: Notion formulas cannot read Person, Created By, or Last Edited By fields directly
- Workaround using a Select property: Create a Select property with the same person names and reference that in the formula instead
- Linked database for automation: Use a linked database view with a Rollup property to avoid manual updates
Why Notion Formulas Cannot Read Person Properties
Notion formulas operate on a restricted set of property types. The formula editor only supports Text, Number, Date, Checkbox, Select, Multi-Select, Relation, Rollup, Formula, and File & Media properties. Person, Created By, Last Edited By, Created Time, and Last Edited Time are intentionally excluded from formula input.
This limitation exists because Person properties are tied to user accounts and workspace membership. Notion formulas are evaluated on each database row independently, and the formula engine does not have access to the workspace user directory. The formula cannot resolve a user ID to a name or email address, so it fails silently or returns an empty string.
What Happens When You Try
If you type prop("Assigned To") in a formula where Assigned To is a Person property, the formula editor will not autocomplete the property name. If you force the reference, the formula will show a red error border and return no value. The formula will not save until you remove the reference to the Person property.
Properties That Formulas Can Read
Formulas can read these property types: Text, Number, Date (but not Created Time or Last Edited Time), Checkbox, Select, Multi-Select, Relation, Rollup, Formula, URL, Email, Phone, and File & Media. If you need to use a person’s name in a formula, you must convert the Person data into a supported type first.
Workaround: Use a Select Property with Person Names
The simplest workaround is to add a Select property that contains the same person names as the Person property. You then reference the Select property in your formula instead of the Person property. This method requires manual maintenance when team members change.
- Create a Select property
In your database, click the + icon in the top-right corner of the table header. Choose Select from the property type list. Name it something like Assignee Name. - Add the person names as Select options
Click into any cell in the new Select column. Type the full name of each person who appears in the Person property. Press Enter after each name. Add all names that your formula needs to check. - Populate the Select property for each row
For every existing row, manually select the correct name from the dropdown. This step is tedious for large databases, but it is required because formulas cannot read the Person property directly. - Write your formula using the Select property
Open the formula property editor. Useprop("Assignee Name")in your formula. For example, to return a priority based on the assignee:if(prop("Assignee Name") == "Alice", "High", "Normal"). - Test the formula
Click Done in the formula editor. The formula should now evaluate correctly on every row. If you see an error, verify that the Select property name matches exactly and that the option text matches the person name.
Automated Workaround Using a Linked Database and Rollup
If you have many rows or frequent personnel changes, a manual Select property becomes impractical. You can automate the process by creating a separate database that maps Person names to a Select value, then use a Relation and Rollup to bring that value into your formula.
- Create a Person Mapping database
Create a new database in the same page. Add a Title property and a Person property. In the Title column, enter each person’s name exactly as it appears in your main database’s Person field. In the Person column, select the same person from the workspace member list. - Add a Select property to the mapping database
Add a Select property named Name for Formula. For each person, create a Select option with the same text as the Title. Select that option in the row. - Create a Relation in your main database
In your main database, add a Relation property that links to the Person Mapping database. Name it Person Map. - Populate the Relation for each row
For each row, open the Person Map cell and link to the corresponding row in the mapping database. This step can be partially automated with a button or by using a formula that reads the Person property — but that formula cannot exist in the main database. Instead, use a manual or script-based approach for initial setup. - Add a Rollup property to your main database
Add a Rollup property named Formula Name. Set the Relation to Person Map. Set the Property to Name for Formula. Set the Calculation to Show original (not any aggregate function). - Use the Rollup in your formula
Now your formula can referenceprop("Formula Name")and get the person’s name as a text value. Write your formula logic using this Rollup property.
Common Issues with the Workaround
Select options do not match person names exactly
Notion formulas are case-sensitive. If the Select option says “Alice” but the Person property displays “alice”, your formula will not match. Always copy the exact name from the Person column when creating Select options.
Person names change or new team members join
When a new person is added to the workspace, you must add them to the Select property options and update every row where they are assigned. The linked database workaround reduces this effort because you only update the mapping database, and the Rollup updates automatically.
Rollup returns multiple values
If a Relation links to multiple rows in the mapping database, the Rollup will return an array of values. Formulas cannot handle arrays. Ensure each row in the main database links to only one mapping row. Use a single-select Relation or enforce one-to-one linking.
Notion Formula Property Support Comparison
| Property Type | Can Be Used in Formula | Workaround Required |
|---|---|---|
| Text | Yes | No |
| Number | Yes | No |
| Date | Yes (not Created Time) | No |
| Checkbox | Yes | No |
| Select | Yes | No |
| Multi-Select | Yes | No |
| Relation | Yes | No |
| Rollup | Yes | No |
| Person | No | Yes — use Select or Rollup |
| Created By | No | Yes — use Select or Rollup |
| Last Edited By | No | Yes — use Select or Rollup |
You can now reference person data in your Notion formulas by using a Select property or a linked database with a Rollup. The manual Select method is fast for small databases with stable teams. The linked database method works better for larger databases or teams that change often. As a next step, consider using the Rollup approach and adding a button to auto-link new rows using a template or automation tool like Notion API or Zapier.