IP Inlay for FileMaker

Inlay Function Reference Finder & Explorer

Finder & Explorer

Finder Quick Action and Windows Explorer context menu integration. 6 functions.

Inlay_FINDER_INSTALL

Finder & Explorer macOS only Returns JSON

Installs a Finder Quick Action into ~/Library/Services/ so the user can right-click any file in Finder and send it to FileMaker.

Accepts a JSON named-args object only.

Declaration

Inlay_FINDER_INSTALL ( JSONSetElement ( "{}" ;
    [ "WorkflowName" ; "send_to_fm" ; JSONString ] ;
    [ "MenuNoun?" ; "FileMaker" ; JSONString ] ;
    [ "OnReceiveScript?" ; "ImportClip" ; JSONString ] ;
    [ "OnReceiveScriptFile?" ; "MySolution" ; JSONString ]
  ) )

Parameters

WorkflowName Required
identifier of a bundled workflow. v1 supports only "send_to_fm".
MenuNoun Optional
the noun appended to "Send to " in the Quick Action menu. Defaults to "FileMaker" when omitted or empty.
OnReceiveScript Optional
a FileMaker script to run each time a file is sent. When set, after writing the inbox the helper fires an fmp:// URL that runs this script; the script should call Inlay_FINDER_GETPATH to read the file envelope. Requires OnReceiveScriptFile.
OnReceiveScriptFile Optional
the FileMaker database file (your solution's filename, e.g. "MySolution") that contains OnReceiveScript. This is your solution, NOT the file the user right-clicked. Required whenever OnReceiveScript is set.

Returns

JSON string Text. One of: "installed" (fresh install or version upgrade), "already_installed" (the bundled and installed versions match), or "error: <reason>".

Use Cases

  • Push mode: set OnReceiveScript + OnReceiveScriptFile. Right-clicking a file and choosing "Send to <noun>" writes the inbox and triggers your script via an fmp:// URL; your script calls Inlay_FINDER_GETPATH to read the envelope {"Path":...,"Name":...,"Size":...,"Mtime":...}.
  • Poll mode: omit OnReceiveScript and drain the inbox yourself with Inlay_FINDER_GETPATH on a script timer.

Notes

  • macOS only. Calls from unsupported platforms return an error response.
  • Push mode requires the fmurlscript extended privilege ("Allow URL script execution") enabled on the privilege set used to open OnReceiveScriptFile, and that file must be open when a file is sent.
  • Idempotent: safe to call on every solution open. The callback config is stored on disk, so push mode survives FileMaker restarts; you do not need to re-run this on every open.
  • Windows equivalent: Inlay_ExplorerContext_INSTALL.

See Also

Inlay_FINDER_GETPATH Inlay_FINDER_UNINSTALL

Inlay_FINDER_GETPATH

Finder & Explorer macOS only Returns JSON

Pops the latest "Send to FileMaker" payload from the Finder inbox.

Returns the JSON envelope written when the user right-clicks a file in Finder and chooses "Send to FileMaker". The inbox is single-slot and consumed on read.

Declaration

Inlay_FINDER_GETPATH

This function takes no parameters.

Returns

JSON string Text. Either the JSON envelope {"Path":"...","Name":"...","Size":N,"Mtime":"..."} or empty string "" if the inbox is empty. On unexpected I/O error, returns "error: <reason>".

Use Cases

  • Bind a button to Set Variable [ $payload; Value: Inlay_FINDER_GETPATH ] then branch on IsEmpty($payload) to detect whether anything is waiting.
  • Use an OnTimer or layout-entry script trigger to drain the inbox automatically.

Notes

  • macOS only. Calls from unsupported platforms return an error response.
  • Pair with Inlay_FINDER_INSTALL("send_to_fm") once during solution setup.
  • Single-slot semantics: only the last "Send to FileMaker" action survives until consumed.
  • Inbox: ~/Library/Application Support/Inlay/finder-inbox.json.
  • Windows equivalent: Inlay_ExplorerContext_GETPATH.

See Also

Inlay_FINDER_INSTALL Inlay_S3_COPY

Inlay_ExplorerContext_INSTALL

Finder & Explorer Windows only Returns JSON

Registers an Explorer context-menu entry so right-clicking any file shows "Send to FileMaker".

Accepts a JSON named-args object only. On Windows 10 this appears at the top level; on Windows 11 it appears under "Show more options".

Declaration

Inlay_ExplorerContext_INSTALL ( JSONSetElement ( "{}" ;
    [ "WorkflowName" ; "send_to_fm" ; JSONString ] ;
    [ "MenuNoun?" ; "FileMaker" ; JSONString ] ;
    [ "OnReceiveScript?" ; "ImportClip" ; JSONString ] ;
    [ "OnReceiveScriptFile?" ; "MySolution" ; JSONString ]
  ) )

Parameters

WorkflowName Required
identifier of a bundled workflow. v1 supports only "send_to_fm".
MenuNoun Optional
the noun appended to "Send to " in the menu. Defaults to "FileMaker" when omitted or empty.
OnReceiveScript Optional
a FileMaker script to run each time a file is sent. When set, after writing the inbox the helper fires an fmp:// URL that runs this script; the script should call Inlay_ExplorerContext_GETPATH to read the file envelope. Requires OnReceiveScriptFile.
OnReceiveScriptFile Optional
the FileMaker database file (your solution's filename, e.g. "MySolution") that contains OnReceiveScript. This is your solution, NOT the file the user right-clicked. Required whenever OnReceiveScript is set.

Returns

JSON string Text. One of: "installed" (fresh install or noun/path change), "already_installed" (registry already matches), or "error: <reason>".

Use Cases

  • Push mode: set OnReceiveScript + OnReceiveScriptFile. Right-clicking a file and choosing "Send to <noun>" writes the inbox and triggers your script via an fmp:// URL; your script calls Inlay_ExplorerContext_GETPATH to read the envelope {"Path":...,"Name":...,"Size":...,"Mtime":...}.
  • Poll mode: omit OnReceiveScript and drain the inbox yourself with Inlay_ExplorerContext_GETPATH on a script timer.

Notes

  • Windows only. Calls from unsupported platforms return an error response.
  • Push mode requires the fmurlscript extended privilege ("Allow URL script execution") enabled on the privilege set used to open OnReceiveScriptFile, and that file must be open when a file is sent.
  • Idempotent: safe to call on every solution open. The callback config is stored on disk, so push mode survives FileMaker restarts; you do not need to re-run this on every open.
  • macOS equivalent: Inlay_FINDER_INSTALL.

See Also

Inlay_ExplorerContext_GETPATH Inlay_ExplorerContext_UNINSTALL

Inlay_ExplorerContext_GETPATH

Finder & Explorer Windows only Returns JSON

Pops the latest "Send to FileMaker" payload from the Explorer inbox.

Returns the JSON envelope written when the user right-clicks a file in Explorer and chooses "Send to FileMaker". The inbox is single-slot and consumed on read.

Declaration

Inlay_ExplorerContext_GETPATH

This function takes no parameters.

Returns

JSON string Text. Either the JSON envelope {"Path":"...","Name":"...","Size":N,"Mtime":"..."} or empty string "" if the inbox is empty. On unexpected I/O error, returns "error: <reason>".

Use Cases

  • Bind a button to Set Variable [ $payload; Value: Inlay_ExplorerContext_GETPATH ] then branch on IsEmpty($payload) to detect whether anything is waiting.
  • Use an OnTimer or layout-entry script trigger to drain the inbox automatically.

Notes

  • Windows only. Calls from unsupported platforms return an error response.
  • Pair with Inlay_ExplorerContext_INSTALL("send_to_fm") once during solution setup.
  • Single-slot semantics: only the last "Send to FileMaker" action survives until consumed.
  • Inbox: %LOCALAPPDATA%\Inlay\finder-inbox.json.
  • macOS equivalent: Inlay_FINDER_GETPATH.

See Also

Inlay_ExplorerContext_INSTALL Inlay_S3_COPY

Inlay_FINDER_UNINSTALL

Finder & Explorer macOS only Returns JSON

Removes the installed Finder Quick Action from ~/Library/Services/ and flushes the Services cache so the entry disappears from Finder immediately.

Declaration

Inlay_FINDER_UNINSTALL ( workflowName )

Parameters

workflowName Required
identifier of the workflow to remove. v1 supports only "send_to_fm".

Returns

JSON string Text. One of: "uninstalled" (bundle was found and removed), "not_installed" (bundle was not present), or "error: <reason>".

Use Cases

  • See example and related functions for usage context.

Notes

  • macOS only. Calls from unsupported platforms return an error response.
  • Idempotent: safe to call even if never installed.
  • Windows equivalent: Inlay_ExplorerContext_UNINSTALL.

See Also

Inlay_FINDER_INSTALL

Inlay_ExplorerContext_UNINSTALL

Finder & Explorer Windows only Returns JSON

Removes the "Send to <noun>" shortcut from the user's SendTo folder and cleans up any legacy registry entry.

Declaration

Inlay_ExplorerContext_UNINSTALL ( workflowName ; menuNoun )

Parameters

workflowName Required
identifier of the workflow to remove. v1 supports only "send_to_fm".
menuNoun Optional
must match the noun used at install time (default "FileMaker"). Used to locate the correct .lnk filename.

Returns

JSON string Text. One of: "uninstalled" (shortcut was found and removed), "not_installed" (shortcut was not present), or "error: <reason>".

Use Cases

  • See example and related functions for usage context.

Notes

  • Windows only. Calls from unsupported platforms return an error response.
  • Idempotent: safe to call even if never installed.
  • macOS equivalent: Inlay_FINDER_UNINSTALL.

See Also

Inlay_ExplorerContext_INSTALL