Optional relationships in Notion

April 15, 2025

Some database love

If you’re currently using Notion, chances are your workspace is in one of these two situations:

  1. No structure, and a mayhem of pages inside pages, with approximately a 1% chance of finding what you’re looking for.
  2. A database-first designed workspace where each item belongs to a strongly structured database.

Some cool kids in the back might argue that Notion released the Wiki feature to offer the “best of both worlds”, but Matthias Frank settled the debate a few weeks ago — and oh boy, is he right. So, it’s only a matter of time before your workspace gets nuked or transforms into situation 2 after a bit of consulting from a Notion expert.


Using relations and rollups

If you’re happily using a database-first workspace, chances are your databases are related using relation columns, and benefit from rollup values that are taken from those relation columns. This is great, but I’ve run into a few situations where these “forced” relationships became problematic.


Optional relationships in Notion

Here’s an example of what I’m talking about: let’s say you have a Notes database, a Projects database, and a Clients database (or any A → B → C relationship). In a perfect world, you always write a note for a specific project, that is already linked to a specific client. But what if you want to write a note that’s not tied to a specific project — just to the client in general?

We could always link the note to a random project, make a dummy project, link to all projects of a specific client… But that’s not ideal. Here’s a solution using Notion automations that allows for optional relationships — no rollups required.


Automations to the rescue

  • In this solution, all three databases have relationship columns.
  • No rollup is involved (which is something we’d use traditionally to get the client column from the linked project of each note).
  • Instead, we set up an automation in the Notes database like this:
Automation setup

Custom formula
🎉
With this, you can link a Note to a Project or directly to a Client. If you associate it to a Project, the Client column will be filled automatically, thanks to the automation. This approach has a few drawbacks, of course, but it’s a simple enough solution to handle optional relationships within Notion.

Here’s a compressed and ugly .gif to see how it works