Type-Ahead Value List: search-as-you-type pickers that store the real ID in FileMaker

Free FileMaker add-on

Type-Ahead Value List: search-as-you-type pickers that store the real ID in FileMaker

One control that filters as users type and returns either the value they see or the ID you need, set up entirely with FileMaker scripts.

You can get type-ahead filtering and true record IDs from a single FileMaker field without building a portal. Kyo Logic’s free Type-Ahead Value List add-on does it with a small web viewer, and you configure it entirely with FileMaker scripts.

Here is the moment it exists for. An order entry layout has 2,000 customers in the value list. Your user types “Acme.” With a pop-up menu, they scroll. With a drop-down, they can type, but drop-downs do not handle a hidden ID well, so teams often end up storing the name instead of the customer ID. The first time two customers share a name, the order attaches to the wrong one. With a portal, it works, after someone builds a new relationship, a global field, three script triggers, and a card window to hold it all.

Why do FileMaker’s built-in pickers make you choose?

FileMaker gives you three standard ways to let someone pick from a list. Each one solves part of the problem.

  • Pop-up menus store the underlying ID cleanly, but their type-ahead is limited. On a long list, users end up scrolling.
  • Drop-down lists let users type to filter, but they do not handle underlying IDs well. You end up storing a name where you wanted a key.
  • Portals can do both, but usually only after extra plumbing: new relationships, script triggers, global fields, and often a card window to present the list.

For a short list of statuses, any of these is fine. For customers, parts, SKUs, employees, or any list that grows, you feel the gap every day. Either users fight the picker, or a developer spends hours wiring up a portal for every field that needs one.

What the add-on does out of the box

The add-on uses basic web code inside a FileMaker web viewer to bring the strengths of all three options into one control:

  • Type-ahead filtering. The list narrows as the user types.
  • Value or ID selection. Return the value the user sees, or the underlying ID you actually want to store.
  • Works anywhere a web viewer does. Popovers, portals, and card windows included.
  • Multiple configurations. Set up different pickers for different fields and lists in the same solution.

Because the selection can return an ID, the field that matters stores a real key. Two customers named “Acme Supply” stop being a data problem.

The user clicks into the field

↓

The type-ahead list opens in a web viewer

↓

The user types and the list filters

↓

The user picks a row

↓

Your script writes the value or the ID to the target field

Setup lives in FileMaker scripting

Each configuration is customized through standard FileMaker scripting, so you control what the list shows and what it returns the same way you control everything else in your solution. You do not need to know HTML, CSS, or JavaScript. The web code ships with the add-on; you only touch FileMaker.

Where it helps most

  • Order and quote entry: pick the customer by name, store the customer ID.
  • Line items in a portal: choose parts or SKUs from a long catalog without a second portal inside the first.
  • Popover filters: a searchable picker inside a popover keeps the layout clean.
  • Card window lookups: reuse one configuration across several card windows instead of rebuilding the lookup each time.

Tips before you roll it out

Decide what you are storing first. If the field is a foreign key, return the ID. If it is a label or a note, return the value. Mixing the two across fields is how bad data starts.

Keep one configuration per list, not per layout. Multiple configurations are supported, so reuse them. Fewer configurations means fewer places to update when the list changes.

Test with your real list size. A picker that feels instant with 50 rows should be checked against your full customer or parts table before you put it in front of the team.

If you have used our older technique, Replace DropDown Lists with a Faster Type Ahead, this add-on packages the same idea into something you can drop into any solution and configure with scripts. It pairs well with the Custom Import Tool for getting clean data in, and the Audit Log & Version History add-on for seeing what changed afterward.

What this could look like in your solution

For most teams, the first picker worth replacing is the one people complain about: the customer field on the order screen, or the part number on a line item. Once that field filters as people type and stores the real ID, mismatched records stop showing up in reports, and nobody has to remember which “Acme” is which.

Kyo Logic builds custom Claris FileMaker and manufacturing software for businesses across New England and beyond. If you want help deciding which fields to convert first, or wiring the add-on into a complex layout, reach out.

Frequently asked questions

Can a FileMaker drop-down list store an ID but show a name?

Not cleanly. Drop-downs are built around the value the user sees. Pop-up menus can show a second field while storing the ID, but their type-ahead is limited. The Type-Ahead Value List add-on gives you both type-ahead and the stored ID.

Does this add-on require JavaScript knowledge?

No. The web code is included. All configuration happens through standard FileMaker scripting.

Can I use it inside a portal or popover?

Yes. It runs in a web viewer, so it works in popovers, portals, and card windows.

Can I set up more than one type-ahead picker in the same solution?

Yes. The add-on supports multiple configurations, so different fields can use different lists and return different values.

Quick takeaways

  • Find the longest value list your team picks from every day and convert that field first.
  • Return the ID for any field that links records; return the value for labels and notes.
  • Reuse one configuration per list across layouts, popovers, and card windows.
  • Download the add-on and test it against your full list size before rolling it out.

Get the Type-Ahead Value List add-on

Tell us where to send it and we will email your download link right away.

Audit Log & Version History: the FileMaker add-on that knows who changed what

Free FileMaker add-on

Add field-level accountability and record restore points without building a custom history system from scratch.

Get the Audit Log & Version History add-on

Tell us where to send it and we will email your download link right away.

FileMaker does not include audit logging or version history out of the box, and building either one yourself is a bigger project than it looks. Kyo Logic’s Audit Log & Version History add-on gives your FileMaker solution both in a few minutes of setup: a filterable log of every field-level change, plus optional record versioning that lets you restore an entire record to an earlier state at the click of a button.

Here is the moment this add-on exists for. A quantity on an order is wrong. The customer says they never approved the change. Three people had the record open this week, and every one of them says it was not me. Without an audit log, that conversation goes nowhere. With one, you open the log, filter to the order, and see the field, the old value, the new value, who made the edit, and when.

Why is audit logging hard in FileMaker?

Audit logs and versioning are not native FileMaker features, and they are not easy to implement well. A homegrown approach usually means a separate history table, scripted writes on every layout, and careful handling of edge cases like deletions and related records.

The harder problem is maintenance. Most audit tools, homegrown or otherwise, need constant attention as the solution grows. Add a field and someone has to remember to log it. Add a table and someone has to wire it in. The log quietly falls behind the schema, and the gaps only surface when you need the history you did not capture.

The add-on is built to avoid that trap. It takes only a few minutes to set up and runs seamlessly from there.

What the add-on logs out of the box

The core functionality covers the cases a homegrown script usually misses:

  • Every non-container field that changed in the record is logged with its value, even if the field is not on the layout where the edit happened.
  • Standard exceptions such as summary fields, calculations, globals, and record metadata can be included or excluded based on naming conventions, so you decide what counts as signal.
  • Logs are easy to view and filter, so finding one change in one record does not mean scrolling raw data.

A user edits a record

↓

Every changed non-container field is captured with its value

↓

The log records who made the change and when

↓

An authorized user can view and filter the history

Setup is two script triggers, not a rebuild

To begin logging on a new table or section of your solution, only two script triggers are required. That is the whole integration step. No per-field configuration, no rebuilding layouts, no audit schema to design. It also means the add-on keeps up as your solution grows: bringing a new table under logging is minutes of work, not a project.

Related records tell the rest of the story

Many edits that matter do not happen on the record you are looking at. An order looks untouched while its line items changed underneath it. Related Record Logging, the first of two optional features, extends the audit trail across those relationships:

  • Changes made to related records are logged.
  • Related record creation and deletion are logged too, so a deleted line item leaves evidence instead of a gap.
  • You choose which related tables to include or exclude by changing only one script step.

Every version is a restore point

Record Versioning & Restoration is the second optional feature, and it turns the audit trail into an undo button. When any change is made, the add-on stores the previous version of the record: who made the edit, when, and the value of all fields unless you have excluded them from logging. When Related Record Logging is enabled, versioning covers related records as well.

Every stored version is a restore point. At the click of a button, you can revert an entire record back to an earlier state. Versions are viewable and searchable, so recovering from a bad import or an accidental edit starts with finding the right moment in time, not reconstructing it from memory.

A record is about to change

↓

The previous version is stored, with who, when, and every field value

↓

Versions accumulate as a searchable history

↓

One click restores the record to any earlier state

What this could look like in your solution

Sample FileMaker audit log view listing changed-on, changed-by, field changed, and before and after values for each record edit
A sample audit log view for a solution like yours. Conceptual illustration, not a product screenshot. The final add-on interface may differ.

For most teams, the payoff shows up in three places. Troubleshooting gets faster because the log answers what changed before anyone starts guessing. Accountability gets easier because who and when are recorded facts instead of recollections. And recovery gets safer because restoring a record is a click, not a manual re-entry from a backup.

Kyo Logic builds custom Claris FileMaker and manufacturing software for businesses across New England and beyond, and the Audit Log & Version History add-on comes from the same place as the rest of our work: problems our clients actually hit. If you want to see the add-on running against a real solution, or you want help deciding which tables deserve logging first, reach out. Setup takes minutes. The first time it answers who changed this, it will have paid for itself.

Frequently asked questions

Does FileMaker have built-in audit logging?

No. FileMaker does not natively track field-level changes or record versions. Audit logging requires either a custom build or an add-on like Kyo Logic’s Audit Log & Version History tool.

What does the add-on capture when a record changes?

It logs the value of every non-container field that changed in the table, along with who made the change and when, even if the field is not on the current layout. Summary fields, calculations, globals, and record metadata can be included or excluded by naming convention.

Can I undo a change to a record?

Yes, with the optional Record Versioning & Restoration feature. Every change stores the previous version of the record as a restore point, and you can revert the entire record to any earlier state at the click of a button.

How much work is it to add logging to a new table?

Two script triggers. Related record logging for a table is included or excluded by changing one script step.

 

Custom Import Tool: let anyone import spreadsheets into FileMaker without breaking data

Free FileMaker add-on

Custom Import Tool: let anyone import spreadsheets into FileMaker without breaking data

Friendly column labels, saved templates, and a preview step before anything touches your real records.

You can give everyday users a safe, flexible way to import spreadsheets into FileMaker without exposing your database structure. Kyo Logic’s free Custom Import Tool add-on maps friendly column labels to real fields, saves reusable import templates, and loads every file into a staging table first, so users can preview and fix the data before it reaches your real records.

Here is the moment it exists for. Every Monday, purchasing imports a vendor price sheet. This week the vendor added a column and moved “Unit Cost” two places to the right. The pre-mapped import script does not notice. Four hundred items now show a freight charge as their cost, and nobody finds out until a quote goes out wrong.

Why are FileMaker imports hard for everyday users?

Most FileMaker systems offer one of two import paths, and neither is ideal for a non-technical user.

  • A pre-mapped import script is simple, but rigid. If a column is renamed or reordered, it breaks or quietly puts data in the wrong field.
  • FileMaker’s built-in import dialog is flexible, but it shows users back-end field names, table structure, and naming conventions they should not need to understand.

Real files make it worse. Columns get renamed. Extra columns appear. Some rows should be skipped. One column holds two pieces of data. A user should not have to call a developer because a spreadsheet has one extra column.

What the add-on does out of the box

The Custom Import Tool sits in the middle. A full-access user defines friendly header options once, so an end user sees “Customer Email” instead of a field name like Customer::cust_primary_email. From there the workflow looks like this:

A full-access user maps friendly header labels to real FileMaker fields

↓

The incoming file is imported into a staging table

↓

An end user selects or creates an import template

↓

The user chooses which columns to import and which to skip

↓

The user previews, edits, and fixes the staged data

↓

The final import script moves the staged data into the right FileMaker table

Out of the box the tool supports up to 20 columns, and more can be added if you need them.

Templates that bend without breaking

If a vendor, customer, department, or outside system sends files in a consistent format, users save that structure as a template and reuse it. When a file arrives a little different, they adjust the column order or mark a column to skip. If the change is temporary, they make a one-time adjustment without changing the saved template.

Preview before you commit

A bad import straight into production can create duplicates, overwrite good values, or put information in the wrong fields. Staging the data first gives users a safe place to look. Skipped rows and skipped columns are highlighted, and the staging table is open for edits, so users can clean up values or remove rows before the final step.

Create and update records in one import

With match fields configured, one import can update records that already exist and create new ones where no match is found. That is useful for customer lists, inventory counts, product catalogs, order updates, and membership lists, where some rows are new and some are changes.

Ideas for how to use it

  • Vendor price sheets: one template per vendor, adjusted when a vendor changes its format.
  • Inventory counts: stage the counts, review the differences, then update.
  • Customer and prospect lists: match on email or account number, update the rest.
  • Order data from outside systems: map their column names to your fields once.
  • Cleanup before go-live: review and correct legacy data before it reaches the new system.

Developers can extend it with scripting, for example splitting a single “Full Name” column into first and last name, or parsing a combined address into street, city, state, and ZIP. Once data is in, the Audit Log & Version History add-on can record what changed afterward, and the Data File script steps handle the export side.

What this could look like in your solution

For most teams, the first template is the import someone dreads every week. Once that one runs from a template with a preview step, the developer stops getting calls about it, and the person running it stops worrying about it. Messy data is often the real problem behind unreliable reports, and controlled imports are one of the cheapest places to stop it at the door.

Kyo Logic builds custom Claris FileMaker and manufacturing software for businesses across New England and beyond. If you want help setting up match logic, building parsing rules for a difficult file, or deciding which recurring imports to template first, reach out.

Frequently asked questions

How do I let users import data into FileMaker without seeing field names?

Map friendly column labels to real fields ahead of time. The Custom Import Tool lets a full-access user define those labels so end users choose names like Customer Email instead of back-end field names.

Can I preview an import before it changes my records?

Yes. The tool imports the file into a staging table first. Users can review, edit, and skip rows or columns, and skipped items are highlighted, before the final import runs.

Can one import create new records and update existing ones?

Yes. With match fields configured, the import updates records that already exist and creates new records where no match is found.

How many columns does the Custom Import Tool support?

Up to 20 columns out of the box, with the option to add more if needed.

Quick takeaways

  • List the imports your team runs every week and template the most painful one first.
  • Use a staging step for any import that touches records people rely on.
  • Pick a reliable match field, such as an account number or email, before you allow updates.
  • Download the add-on and run one real file through staging to see what it catches.

Get the Custom Import Tool add-on

Tell us where to send it and we will email your download link right away.