Record Filtering
Limit which records show up in a portal table using a field, operator, and value. Combines with linked-record filtering and role-based access.
Overview
Each table in a portal can carry an optional record filter. The filter restricts which rows end users see to only those matching the condition you choose. It is configured in the admin UI (per table, per role) and is a separate mechanism from linked-record filtering, which scopes records to the logged-in user.
Use record filtering when you want a portal (or a role within a portal) to see a subset of a table, not the whole thing.
When to Use It
| Scenario | Record filter | Linked-record filtering |
|---|---|---|
| Show only "Active" projects in the portal | Yes | No |
| Show each user only their own records | No | Yes |
| Hide draft records from external users | Yes | No |
| Restrict read access to a single status value | Yes | No |
The two mechanisms compose: a table can have both a record filter and linked-record scoping. Filters apply first, then user scoping narrows the remaining rows further.
Record filtering is central to multi-location setups. See inventory management portals and retail operations portals for worked examples.
Configuring a Record Filter
- 1
Open the table's permissions panel
In the portal admin, open the role you want to configure and expand the table you want to filter. Scroll to the "Record Filter" section, which sits alongside the table's permissions and default sort.
- 2
Pick a field
Choose which field the filter should run against. Any viewable field on the table is eligible, except for linked record fields pointing back to the user table.
- 3
Pick an operator
The available operators depend on the field type (see the table below). "Equals" is the default when available.
- 4
Enter a value
Enter the value the filter should match against. For single-select fields you pick from the defined options. For checkboxes you pick "Checked" or "Unchecked". For text, number, date, and other fields you type the value directly.
Operators like "Is empty" and "Is not empty" do not need a value.
Filters save with the rest of the portal settings and take effect on the next table load for end users.
Supported Operators by Field Type
Record filtering is available on any viewable field. The operators offered depend on the field type:
| Field type | Operators |
|---|---|
| Single line text, multiline text, email, URL, phone | Equals, Does not equal, Is empty, Is not empty, Contains |
| Number, percent, currency | Equals, Does not equal, Is empty, Is not empty |
| Single select | Equals, Does not equal, Is empty, Is not empty |
| Multiple selects, linked records, lookups | Is empty, Is not empty, Contains |
| Checkbox | Equals (Checked or Unchecked) |
| Date, date and time | Is empty, Is not empty |
| Formula, rollup | Equals, Does not equal, Is empty, Is not empty, Contains |
Date equality and range filtering are not supported yet. If you need those, filter a companion field (like a single-select "Status") instead, or raise it on the public roadmap.
If you have not defined any roles, the portal uses a single default role, and the record filter you configure applies to every end user. Adding roles later lets you give each role its own filter.
Removing a Filter
To stop filtering a table, open the Record Filter section and set the Field dropdown back to "No filter". The table will show all records again on the next load.
Interaction with Other Features
- Role-based access. Each role has its own record filter. An "Admin" role can see every record while a "Viewer" role can be locked to a subset of the same table.
- Linked-record filtering. Applied after the record filter. End users see rows that match the filter AND are linked to their user record.
- Table permissions. If the table has View turned off, the filter is irrelevant. Filters only narrow what is already visible.
Next Steps
- Table Permissions - Enable or disable table-level actions
- Linked Record Filtering - Scope records to the logged-in user
- Role-Based Access Control - Different filters per role