Filtering / Querying

In any content view, which blocks to show is filtered by their relations. Only blocks that match all filters are returned.

Adding filter

You can think of filters as a set of folders. A block has to be in all “folders” to be shown in a view.

#Adding blocks in a filtered view

Filters go both ways. When adding blocks in a list, i.e. when writing a new paragraph, the necessary relations for it to match the filters are added automatically.

#Filter types

  • Block relation
    The most commonly used filter
    With a block relation filter in place, only blocks that are related to the selected block are shown.

    For example, if you have a list of tasks, you can filter it to only show tasks that are related to a person. Here we define the relation name as “assigned” and select the person we want to filter for: Assigned filter
    Another example is filerting for blocks another block has been mentioned in: Mention filter
  • Deep block relation
    Nested block relations
    When seeing every block as a folder, this filter can be described as “show me all blocks that are in this folder or any of its subfolders”, whereas the “block relation” filter only shows blocks directly in the folder.
    An examples: You could have the task “Buy oat milk” in a strucutre somewhere nested beneath “Household”. You could have tasks at other places too, but when you want to see all tasks related to “Household” and its “subfolders”, you can use the deep block relation filter.
    More examples further down. Nested list Nested list filter
  • Fixed date
    Filter for blocks that are related to a specific date.
  • Today
    Relative date
    Filter for blocks that are related to the current day. This is useful for creating a daily task list, daily notes, journal, and so on, as you won’t have to manually change the filter the next day.
  • Inherited filter set
    When splitting an existing view, its query will be inherited by the two new queries. See grid view for more info.

To get a better understanding of relations in Formable, you can also check out the introduction page and details dialog page.


  • Exclude
    When checked, the filter will exclude blocks that match the filter instead of including them.
  • Relation name
    You can leave this field empty to filter for all relations, or enter a specific relation name to filter for.
    For example, you could only show blocks where another block is mentioned, so has a “mention” relation.

You can click on filters to see more information about them.

Read more about filtering in the grid view.


Besides the filters for the today view created on sign up, here are some more examples of how to use filters.

PRM example where e.g. at other level mention something. further up or down, both possible.

#Journaling and personal CRM

You can use Formable as a journal and personal CRM, where you can store information about people, places, ideas and any other thoughts.\

You can simply dump all your thoughts in one place, and then filter for the ones you want to see later.\

Assuming this structure of areas / categories:

  • Health
    • medical
      • dentist
      • knee
      • food
    • Exercise
      • Yoga
      • Swimming
      • Skiing
  • People
    • Leo

You could filter for all blocks related to “Leo” and any descendent of “Exercise”.


You could mention “#Knee”, and later when talking with your doctor show them all notes under “Health”.

With deep block relation filters, any filtered block just has to be somewhere above the results.
Here for example, an indented journal entry where “Formable” is mentioned has a descendent that mentions “campaign”. “campaign” is a child of “Marketing”, so it would match a filter set to “Marketing”. campaign-idea-journal


#Classical page and references list

Other tools like Roam Research show an item’s page and references to the item below that.
If that fits your workflow you can do recreate it in Formable with a view that gets a block’s children, and one that lists its mentions.

Page and references list