Skip to main content

Filter relations conditionally based on another shared relation field

Example:
I am filling a form with fields:
- group [relation]
- item_within_group [relation] (also has a relation to group)

I would like to be able to set a filter on the item_within_group field:

item_within_group.group contains selected value of field group

Example Form State - Show all options:

  • Select your groups: <empty>

  • Select your items: <empty>

    • Listed options:

      • “item1_group1”

      • “item2_group1”

      • “item1_group2”

      • “item1_group3”

Example Form State - Filter options based on the selection of the shared relation:

  • Select your groups: "group1”, “group2”

  • Select your items: <empty>

    • Listed options:

      • item1_group1

      • item2_group1

      • item1_group2

2 comments

Log in to comment and vote

Comments2

  • Archie

    Team•

    May 21, 2025

    Hi Iván,

    Thanks a lot for submitting this! Filtering Relation 2 based on what’s selected in Relation 1 sounds like a super valuable addition — especially with how essential and frequent this is for your team.

    Feel free to have others upvote the request to help bring more visibility to it!

    — Archie

  • Archie

    Team•

    Mar 6, 2025

    Hi Austin,

    Thank you for raising this. As of now, NoteForms does not support dynamic filtering of relation fields based on another relation field within the form. This means that the item_within_group field cannot automatically filter its options based on the selected value of group.

    However, a possible workaround would be:

    1. Pre-filtering in Notion: If your Notion database already has a filtered linked database view, the user filling out the form won’t see this logic apply dynamically, but the data stored in Notion will be structured correctly.

    2. Manual Selection: The user can still manually select the correct item_within_group, but they will see all available options instead of a filtered list.

    3. Form Pre-filling with URL Parameters: If you can pass a pre-selected group via URL parameters, it might help narrow the selection in some cases.