CommunityHire an ExpertSign Up
User Groups and PermissionsRecord Filters
User Groups and Permissions

Record Filters

Apply conditional filters to a list of records or even a single record

Overview

Record filters are conditional filters you can apply on dynamic blocks (e.g., List, Table, Grid, Kanban) to control which records from a data source are displayed.

Record filters are simply one area where conditional filtering can be applied. To learn more about conditional filters and where they can be applied, check out the Conditional Filters doc.

The Record filters section in the Source tab of a block. Numbers point to the section and the Add condition button

Where to set record filters: the Source tab of a dynamic block.

Key Use Cases

There are a few ways in which you can use conditional filtering to only show specific record(s) on a block. Note that this filtering is not accessible to the end user and essentially pre-filters the list or items for them to only see a specific record or set of records.

  • Basic Filtering: Display only records meeting static criteria, such as tasks in a specific status (e.g., “In Progress”) or events in the current year (e.g., date field is after a certain date). This is ideal for curating views without user input and acts as a sort of pre-filter.

  • Show records relevant to the current user: Show items relevant to the logged-in user, like tasks assigned to their email (e.g., ‘Assignee’ field is Logged-in user’s Email). This personalizes the experience and enhances security by hiding irrelevant data.

    • Integration with Global Data Restrictions: Global data restrictions apply app-wide rules first (for example, restricting a user group to view only certain records), and record filters layer on top for block-specific refinements. They work together seamlessly: global data restrictions enforce broad access controls, while record filters handle granular display logic within allowed data. For example, if globals restrict a table to user-owned records, record filters can further narrow to a specific status. Additionally, record filtering for specific user groups using global data restrictions can save you time by not having to manually apply record filtering to multiple blocks that show the same data.
  • Show only records relevant to current details page’s record: In linked list setups, filter sub-items based on the selected main record (e.g., show tasks linked to the current project via a record ID match). This creates hierarchical views, like a project details page displaying only associated tasks.

A Tasks table filtered so that Maria sees only her tasks and Leo sees only his, using the logged-in user email

Example: a record filter that shows each logged-in user only the tasks assigned to their email.

Tips and Tricks

  • You can combine filters to create complex logic using “And” and “Or” type filtering to achieve the desired result. In the event you need cascading or sub-grouping of filters, a tab container can help by branching each block out into the needed sub-grouping.

Use these docs with your AI tools

An AI agent can read this documentation directly. You do not need an account or an API key. Everything here is public and read-only.

Query these docs via MCP

Recommended

Add this server to Claude, Claude Code, Cursor, Mistral, or any tool that supports MCP. Your agent can then search Softr Documentation documentation and read it in full, instead of answering from memory.

https://docs.softr.io/mcp
  • searchFind the passages that answer a question.
  • fetchRead one page in full, as Markdown.
  • list_pagesSee every page in this documentation.

Query these docs over HTTP

The same tools also work as plain web requests. Use this for scripts, or for any tool that does not support MCP. There is one endpoint per tool. Arguments go in the query string, and the answer comes back as JSON.

https://docs.softr.io/api/docs/search?query=custom+domain

Read the OpenAPI description. It is built from the same definitions as the tools, so it always matches what the endpoints do.

Read these docs as Markdown

Add .md to any page URL to get its Markdown source. You can also send the headerAccept: text/markdown to the page URL itself.

To read the whole documentation in one file, open llms-full.txt. For a short index of every page, open llms.txt.