GetRecordIDsFromFoundSet(): A Game-Changer for FileMaker 2025 Scripting and UX
FileMaker 2025 introduced several quality-of-life features for developers, but one that stands out for day-to-day scripting is the new GetRecordIDsFromFoundSet ( type ) function and Go To List of Records script step. These simple yet powerful features gives developers native access to the current found set's record IDs, enabling a range of new workflows and efficiencies. In this post, we’ll explore how it works, why it matters, and how you can use it to track and restore found sets in your solutions.
What Is a Found Set and Why It Matters
In FileMaker, a found set refers to the subset of records returned after performing a find request or other filtering action. Users and developers often rely on the found set to maintain context — whether it’s a list of customers filtered by region or a set of invoices due this month.
However, one long-standing limitation in FileMaker has been the inability to natively capture and recreate found sets in a straightforward, script-friendly way. While workarounds involving global fields, relationships, or custom record flagging existed, they were often complex and prone to performance issues.
For example, my approach has always been to utilize a custom function called cf_FoundSet ( field ; start ) based on Eilert Sundt’s FoundList custom function. This utilized GetNthRecord to build a return-separated list of a field for the found set. I would pass in my Primary Key as the field and then store the results in a global variable or global field to access later. This worked great, until it didn’t. Large Found Sets of 100,000+ records would lock up the system. Too many records would return a “?” because a custom function can only support so many iterations of calling itself. Therefore, I always had to be careful of my found set and add in extra validations before I attempted to store one.
Introducing GetRecordIDsFromFoundSet
FileMaker 2025 solves this challenge with a new function:
GetRecordIDsFromFoundSet ( type )
This function returns a return-separated list of internal record IDs from the current found set as a list or JSON Array. This returns the record IDs of all records in the current layout’s table, regardless of what’s visible in the found set.
While the FileMaker documentation hasn’t been updated fully to explain the types, I found some helpful information from BeezWax about the type parameter options:
- 0 = Value Array
- 1 = Value JSON String Array
- 2 = Value JSON Number Array
- 3 = Value Range Array
- 4 = Value JSON Range String Array
Because record IDs are consistent and unique within a table, they can be stored and reused to later restore a user’s context. This goes hand-in-hand with another new function Go To List of Records.

Go To List of Records options dialog — Courtesy of BeezWax
In the List of Record IDs field you will place the returned list you got from GetRecordIDsFromFoundSet ( type ). It’s important to also ensure you select the correct layout context for the record ids. Record ID 234 may ben in both your Orders table and your Products table.
Advantages Over Previous Workarounds
Before FileMaker 2025, developers had to build workarounds like:
- Tagging records with session IDs
- Using global fields or variables to store search parameters
- Creating utility relationships to preserve context
These methods were functional but often bloated, hard to maintain, or prone to race conditions in multi-user environments.
Now, developers can work directly with the underlying record IDs, improving performance and script simplicity.
Multi-Window and Multi-User Contexts
In solutions that use multiple windows or track user-specific found sets, the new function shines. You can capture each window’s found set independently and restore them as needed. Likewise, user-specific found set contexts can be stored in a session table or global variable set keyed by user ID.
This makes it ideal for:
- Dashboards that track filtered record sets
- User bookmarks
- Multi-step workflows across layouts
Considerations and Limitations
- Record IDS are internal to the file and will change if the file is cloned or records are imported. In comparison, to having a Primary Key or UUID on individual records.
- The function may not work in server-side or web scripting without context. Make sure that you always set the context before using this function to avoid unexpected results when running a server-side script.
Final Thoughts
The GetRecordIDsFromFoundSet ( type ) and Go To List of Records functions are small but mighty additions that will become a staple in developer toolkits. It simplifies tracking, storing, and restoring user context with minimal scripting overhead. Whether you're building dashboards, task flows, or user-driven filters, this function brings newfound clarity and efficiency to your FileMaker solutions.
Let me know in the comments what you think about these additions to FileMaker 2025.
Further Readings:
Please check out these other great authors to learn more about these functions and FileMaker 2025.