Creating custom plug-ins

If you are a C or C++ programmer and familiar with calculations and scripts, you can create plug-ins. The plug-ins can take advantage of recursion and looping, or hook into other programming interfaces. To create a custom plug-in, you will need the FileMaker plug-in SDK.

To use plug-ins, users need to allow custom app files to install and enable plug-ins. For hosted files, the server administrator needs to allow the Install Plug-In File script step to update plug-ins installed on the server in Admin Console for FileMaker Server. FileMaker Cloud doesn't support plug-ins.

To prepare your custom plug-ins:

  1. Using C or C++, create a plug-in file.

    The plug-in extension must be .fmx64 (Windows), .fmplugin (macOS), or .fmx (Linux).

  2. Compile and test the plug-in.

    Though digitally signing your plug-in is optional, users will be asked whether to permit an unsigned plug-in to load. See Setting permitted hosts and plug-ins preferences.

  3. Install the compiled plug-in file in a container field in your custom app. See Installing plug-ins.

  4. (optional) Set up the custom app to check the version of installed plug-ins and update them if needed. See Plug-in update example.

To make plug-ins available in a file, users need to:

  1. Enable and configure plug-ins in the Preferences dialog box. See Setting plug-in preferences.

  2. (optional) Select Allow Solutions to Install Files in the plug-in preferences to have plug-in updates installed automatically. See Plug-in update example.

  3. Do one of the following:

    • To use a function provided by the plug-in, sort the list of functions in the Specify Calculation dialog box by type. Under the name of the plug-in, choose a function.

    • To use a script step provided by the plug-in, sort the list of script steps in the Script Workspace by category. Under the name of the plug-in, choose a script step.


  • For security reasons, system administrators might require users to disable Allow Solutions to Install Files. Contact the system administrator at your customer site for more information.