FM Dojo — User Guide
Everything you need to know about FM Dojo's tools and features. New here? Start with the Getting Started guide.
AI Chat
The AI Chat is a FileMaker-specialized assistant that understands scripts, calculations, ExecuteSQL, relationships, and FileMaker best practices — far more accurately than general-purpose AI tools.
Current model: AI Chat uses GPT-5.5 for primary chat responses. Set your response speed from Account → AI Preferences; choose Fast, Balanced, or Thorough for future messages.
For more videos go to youtube.com/@fmdojo
Conversations
- Start a new conversation from the sidebar or the New Chat button.
- Your full chat history is saved and searchable in the sidebar panel.
- Click any previous conversation to continue where you left off.
- Edit and resend your last message if you want to rephrase a question.
File uploads
Attach files directly to your message using the paperclip icon. Supported formats:
- Text files — up to 2 MB (.txt, .sql, .json, .xml, .js, .css, .html, .csv, .log)
- PDF files — up to 10 MB (text is extracted automatically)
- Up to 10 files per message.
- UTF-16 encoded files are auto-detected and converted.
Images
Attach or paste images directly into the chat — the AI can see and reason about screenshots, diagrams, and mockups. Supported formats: PNG, JPG, GIF, and WebP. Paste from the clipboard with Cmd+V (Mac) or Ctrl+V (Windows) without needing to save the file first.
FileMaker code in responses
The AI automatically detects FileMaker code in its responses and applies syntax highlighting — script steps, variables, field references, and functions are all color-coded. Every code block has a one-click copy button.
Sensitive data detection
Before sending, FM Dojo scans your message for common sensitive patterns — passwords, API keys, credit card numbers, private keys, and more. If something is detected, you'll be prompted to review and edit before the message is sent. You can also choose to send anyway if the flag is a false positive.
Context awareness
The AI knows about FM Dojo's built-in tools. When relevant, it will suggest using the Code Editor to test a calculation or the Diagram tool to visualize relationships.
Edit in Code Editor
When the AI's response contains code, an Edit in Code Editor button appears at the bottom of the conversation. Click it to send all code blocks from the chat directly to the Code Editor — the last code block's language is detected automatically.
Calculation accuracy
FM Dojo maintains a verified knowledge base of FileMaker calculation function behavior that goes beyond the official documentation. When you ask about edge cases — negative arguments, zero, decimals, empty inputs, overflow — the AI answers from one of three sources, which it cites explicitly:
- Verified test results — behavior confirmed by running the exact expression against a real FileMaker instance. The AI states the FM version the test was run on.
- Documented rules — argument constraints recorded in the structured knowledge base but not yet independently tested. Cited as “documented behavior, not yet verified by testing.”
- Not confirmed — if neither applies, the AI says so and advises you to test directly rather than guessing.
This covers 24 functions and 190 edge cases including calendar overflow (e.g. Date(13; 1; 2024)), divide-by-zero in Mod, negative Sqrt, zero-argument Log, and decimal truncation vs. rounding behavior per function.
Code Editor
A full-featured code editor with syntax highlighting, validation, autocomplete, and snippet management — purpose-built for FileMaker development.
For more videos go to youtube.com/@fmdojo
Supported languages
- FM Calc — FileMaker calculations with function autocomplete
- FM Script — FileMaker script steps with autocomplete
- FM Schema — define tables, fields, and relationships in a readable plain-text format
- SQL — with syntax validation, formatting, and an in-browser SQL Fiddle
- JavaScript — with linting, formatting, and a Web Viewer Fiddle
- JSON — with validation and pretty-print
- YAML — with validation and formatting (supports multi-document files separated by
---) - XML — with validation and formatting
FM Script autocomplete
When writing in FM Script mode, the editor provides smart autocomplete for every FileMaker script step:
- Multi-word matching — type any part of a step name, including spaces. "Go to" matches "Go to Layout", "Go to Field", and others. Acronym matching also works — type "gtl" to match "Go to Layout".
- Tab stop navigation — accepting a completion inserts the full step with its parameters as tab stops. Press Tab to jump to the next parameter; Shift-Tab to go back. The first choice for slash-separated options (e.g.
Commit: Yes) is pre-filled and ready to replace. - Parameter choice dropdown — when your cursor is inside a parameter that has slash-separated options (e.g.
Animation: None/Slide in from Left/...), typing opens a dropdown showing all valid choices. Select one to replace the placeholder.
When a snapshot or LiveConnect connection is active, right-clicking anywhere in FM Script mode opens the schema picker. It has three tabs — Fields, Scripts, and Layouts — populated from your actual FileMaker database. Type to filter, then click any item to insert its exact name at the cursor position.
FM Schema
FM Schema is a plain-English format for defining your FileMaker database structure. Write table and field definitions in a simple, readable syntax — then use Review & Export to inspect your schema, adjust field types, and copy FileMaker XML ready to paste into FileMaker Pro.
Getting started quickly:
- Create a new snippet and choose FM Schema as the language.
- Open Code Chat and describe your data model — e.g. "Design a schema for a bicycle shop managing inventory, sales, repairs, and customers." The AI generates the full FM Schema code for you.
- Click Review & Export in the toolbar to see your tables and fields rendered as a structured list, adjust types and settings, and copy FileMaker XML.
In Review & Export, use Export as SQL to generate CREATE TABLE statements from your FM Schema. Choose a dialect — MySQL, PostgreSQL, or SQLite — and get a complete SQL script ready to use in another tool or the SQL Fiddle.
FileMaker Calculation Evaluator
Click Evaluate in the Code Editor toolbar to open a Data Viewer-style scratchpad for FileMaker calculations. The evaluator is available from any snippet language, so you can quickly test a calculation without first changing the snippet type.
The evaluator has editable Data / context and Calculation panes, a resizable Result pane, manual Evaluate, and an Automatically evaluate checkbox. Drag the vertical and horizontal handles to resize the working areas. Use Capabilities to open or close the right-side support reference.
Data/context is JSON. Use top-level keys for bare FileMaker identifiers, put table occurrence fields under fields, and variables under variables. For example, a calculation that references JSON can use a top-level JSON key; a calculation that references Invoices::Payload should put that value under fields.
The MVP evaluator currently supports Let, If, Case, arithmetic, comparison, text concatenation, and these functions: GetAsNumber, GetAsText, JSONFormatElements, JSONGetElement, Left, Length, Lower, Middle, Position, Right, Round, Trim, and Upper. Unsupported functions or missing field/variable values are shown in red.
If you paste raw JSON, XML, or text and the evaluator cannot tell which FileMaker field or variable it represents, it asks what you pasted and can wrap the data for you. The header Chat button opens the standard FM Dojo chat panel on the right side of the evaluator and sends the current calculation, data/context, result or error, and evaluator capability list through FM Dojo's chat API so the assistant can help reshape the calculation or context to something the evaluator can run.
SQL Fiddle
The SQL Fiddle lets you run SQL queries entirely in-browser against a real SQLite database — perfect for prototyping and testing ExecuteSQL() logic before using it in FileMaker.
Getting started:
- Open (or create) a SQL snippet, then click the flask icon (⚗) in the toolbar.
- The editor splits into three panels: Schema Setup (top), Query (middle), and Results (bottom). Drag the dividers to resize them.
- In Schema Setup, write your CREATE TABLE and INSERT INTO statements to build sample data.
- In Query, write a SELECT statement.
- Click Run — results appear in the bottom panel immediately.
Tips:
- Use Code Chat → Schema to describe your tables in plain English and have the AI generate the CREATE TABLE statements for you. Or click Build Table and type something like "orders with line items, customers, and products."
- If you use FM-style ExecuteSQL syntax — where function arguments are separated by semicolons instead of commas — FM Dojo automatically converts them when you click Run, so you can test real FM calculations without rewriting them.
- Use → Schema and → Query insert buttons in Code Chat to push AI-generated SQL directly into the right panel.
For more videos go to youtube.com/@fmdojo
JavaScript Fiddle
When the language is set to JavaScript, click the flask icon to open the JS Fiddle — a live preview environment for prototyping FileMaker Web Viewer content. Choose from five starter templates including a line chart, pie chart, calendar, Gantt chart, and progress bars. The preview updates as you type. Use Copy as FM Web Viewer to get a FileMaker-ready Set Web Viewer calculation.
Click Colors in the JS Fiddle toolbar to open a 100-swatch color palette. Click any swatch to insert its hex value directly into whichever editor panel (HTML, CSS, or JS) you were last typing in.
Split view & diff
Click the split view icon (two columns) in the toolbar to open two editors side by side. Load a different snippet in the right panel to compare them. Toggle Show diff highlighting to highlight lines that differ between the two — added lines appear in green, removed lines in red.
Insert from schema
When a snapshot or LiveConnect connection is active, right-click anywhere in the editor to open a schema picker. Use the Fields, Scripts, and Layouts tabs to browse your actual database elements, type to filter, and click any item to insert its name at the cursor position.
Validation
Click Validate to check your code for syntax errors. Available for SQL, JavaScript, JSON, YAML, and XML. The editor highlights the exact error line and shows a detailed message with line and column numbers. Valid code can also be auto-formatted.
When the language is JSON but the snippet is a FileMaker JSON calculation, such as JSONSetElement(...) or JSONGetElement(...), validation uses the FileMaker calculation checker instead of treating the snippet as a raw JSON document.
For FileMaker languages, use Code Chat (see below) for AI-powered code review and validation.
Snippets
Creating a snippet:
- If no snippet is open, the editor shows a grid of language cards. Click one (e.g. FM Calc, SQL, JavaScript).
- Type a name for the snippet and press Enter or click Create.
- Start typing — the snippet auto-saves every 3 seconds. A "Saved" timestamp appears in the toolbar.
- To create another snippet when you already have one open, click the + New button at the top of the sidebar panel.
Managing snippets:
- Hover a snippet in the sidebar to reveal Duplicate, Rename, and Delete buttons.
- Click the pencil to rename inline — press Enter to confirm or Escape to cancel.
- The language is locked after creation to keep your library organized.
- Use the search box at the top of the sidebar to find snippets by name.
- FM Calc and FM Script snippets support tags for categorization (set in the toolbar).
Folders:
- Click the folder+ icon at the top of the sidebar to create a new folder.
- Assign a snippet to a folder using the folder selector in the toolbar (the folder icon next to the snippet name).
- Folders collapse and expand — click the folder name to toggle. Rename or delete folders with the icons that appear on hover.
Clip Manager
Organize snippets into folders and share them publicly — all from the Code Editor sidebar. Use the folder button to create folders, then assign any snippet to a folder using the folder selector on each snippet row. To share a snippet, click the share icon next to it: a public link is generated instantly and copied to your clipboard.
Each clip has a type that determines how it's shared and pasted into FileMaker. Available types:
- Script step(s)
- Custom function
- Plain text
- Layout object
- Table(s)
- Field(s)
Anyone with the link can view the code with full syntax highlighting and copy it. For FileMaker types, the shared page includes a Copy as FileMaker XML button — viewers can paste it directly into FileMaker Pro using the correct pasteboard format. Logged-in FM Dojo users can also click Save to my library to add a copy to their own snippets.
For more videos go to youtube.com/@fmdojo
Editor themes
Choose from six themes: FM Dojo (light/dark auto), One Dark Pro, Dracula, GitHub Dark, Nord, and Solarized Dark.
Other features
- Copy — one-click copy to clipboard
- Download — save your code as a file
- Send to Chat — send your current code to the main AI Chat with full context, so you can ask questions without copy-pasting
- Line numbers, bracket matching, code folding, find & replace
- Auto-save with last-saved timestamp
Code Chat
Code Chat is a companion AI panel built into the code editor — click Code Chat in the toolbar to open it alongside your code. Your current code is automatically included as context with every message. Use it to validate logic, ask "what does this do?", get suggestions, or — when the language is FM Schema — ask the AI to design a database from a plain-English description.
For FileMaker calculations, Code Chat performs an internal answer check before responding. It verifies the expected result type and output shape, preserves already-working extraction expressions when wrapping transformations, and revises the answer when the check fails.
XML Tools
FM Dojo includes two XML tools for working with FileMaker clipboard data.
For more videos go to youtube.com/@fmdojo
Clipboard Scripts
Two FileMaker scripts — Copy from FM and Paste to FM — let you move elements between FileMaker and FMDojo in both directions. They require the FMDojo plugin to be installed and enabled. Download them from the info button in the editor toolbar and import them into your FileMaker file.
For more videos go to youtube.com/@fmdojo
- In FileMaker, select the objects you want to export (script steps, fields, layout objects, tables, custom functions, or value lists) and copy them with ⌘C (Mac) or Ctrl+C (Windows).
- Without clicking anywhere else, run the Copy from FM script.
- The clipboard now contains plain XML. Switch to FMDojo and paste it into the code editor.
- In FMDojo, click Copy as FileMaker XML on the content you want to import.
- Run the Paste to FM script. It reads the XML, detects the correct FileMaker clipboard type automatically, and formats the clipboard so FileMaker can accept it.
- Switch to FileMaker (Script Workspace, field definitions, layout, etc.) and paste with ⌘V / Ctrl+V.
macOS Sequoia and earlier
XML paste works natively — copy from FM Dojo and paste directly into FileMaker Pro's Script Workspace without any additional tools.
macOS Tahoe / FileMaker 21+
FileMaker 21 on macOS Tahoe no longer accepts plain-text XML paste. The clipboard must be formatted with the correct FileMaker pasteboard type before pasting. Two helpers are available from the info button in the editor toolbar:
- FMDojo clipboard scripts — Copy from FM and Paste to FM. Copy from FMDojo, run the Paste to FM script, then paste. Require the FMDojo plugin to be installed and enabled.
- AppleScript helper — a standalone two-way macOS script. Works in both directions — FMDojo → FileMaker and FileMaker → FMDojo. No FileMaker file or plugins needed. One-time setup required (see below).
AppleScript helper — one-time setup
- Download FMDojoClipboard.applescript from the info button in the editor toolbar.
- Open it in Script Editor (search for Script Editor in Spotlight, or find it in Applications → Utilities).
- In Script Editor, go to File → Export, set File Format to Application, and save it somewhere easy to find (e.g. your Desktop or Applications folder).
- The first time you run it, macOS may show a security warning — click Open to allow it.
The script is fully two-way and auto-detects direction — no mode to choose. To paste into FileMaker: copy XML from FMDojo, then run the app. To copy from FileMaker: copy objects in FileMaker (Cmd+C), then run the app. A macOS notification confirms what was detected and which direction ran.
Windows users
Windows users should use the Paste to FM script (same as macOS Tahoe). It requires the FMDojo plugin — download and install it, import the script into your FileMaker file, and follow the same workflow.
Diagram Tool
A visual relationship diagram builder for mapping out your FileMaker database structure.
For more videos go to youtube.com/@fmdojo
Building diagrams
- Add Table — type a name and press Enter (or click Add) to place a table occurrence on the canvas; add fields to it in the sidebar
- Draw relationships — drag from the orange handle on the right edge of a node to the handle on the left edge of another node
- Edit relationships — click the small link icon between two connected nodes to define field mappings and operators (=, ≠, <, >, ≤, ≥, ×)
- Sticky notes — add resizable annotations anywhere on the canvas
- Color coding — hover a node to reveal color swatches; click one to recolor the table or note
- Lock — toggle the lock button to prevent accidental moves
Import from snapshot
Click Import Snapshot (folder icon in the toolbar) to load a saved snapshot onto the canvas. The picker shows one entry per database file — the active version if one is marked active, otherwise the most recent. After selecting, the canvas is populated with all table occurrences and their relationships in an Anchor-Buoy arrangement. Anchors are identified by FM x position (the leftmost cluster of table occurrences in your FM relationship graph). Each anchor group is laid out as a tree: the deepest relationship chain extends horizontally to the right, and sibling table occurrences stack vertically below. Only relationship key fields are shown on each node; isolated table occurrences (no relationships) appear in a column on the right with no fields.
Selecting and aligning nodes
Click a table occurrence node to select it — a tangerine ring appears around it. Hold Shift and click additional nodes to add them to the selection. You can also drag across empty canvas space to rubber-band-select multiple nodes at once.
When two or more nodes are selected, an alignment toolbar appears at the top of the canvas:
- Align left edges, horizontal centers, or right edges
- Align top edges, vertical centers, or bottom edges
- Distribute nodes evenly — equal spacing horizontally or vertically
Undo and redo
The diagram supports unlimited undo and redo. Press Cmd+Z (Mac) or Ctrl+Z (Windows) to step back, and Cmd+Shift+Z / Ctrl+Shift+Z to step forward. Undo covers all canvas changes: adding and deleting nodes, moving nodes, editing labels and colors, connecting and disconnecting relationships, field edits, alignment, and sticky note changes. Your current selection is preserved across undo and redo.
Diagram Chat
Click the Diagram Chat button to open an AI chat panel alongside your diagram. Describe what you want to build in plain English and the AI generates or refines a complete Anchor-Buoy relationship graph — table occurrences, fields, and relationships included. Continue the conversation to add tables, adjust relationships, or restructure your design.
Set a naming convention in the chat panel so the AI follows your client's conventions — for example, three-letter table prefixes like INV_, SAL_, REP_.
Export & save
- Export to PDF — download your diagram as a PDF document
- Save — diagrams are saved to your account and can be loaded later
- Share — generate a public link to share your diagram (see Sharing below)
Layout Designer
For more videos go to youtube.com/@fmdojo
A visual drag-and-configure tool for designing FileMaker layouts. Build layouts by placing objects, setting styles, and exporting FileMaker XML that you can paste directly into FileMaker Pro using the clipboard scripts.
Object types
The toolbar gives you every layout object FileMaker supports:
- Buttons — Button, Button Bar, Tab Control, Slide Control, Popover
- Fields — Edit Box, Text Area, Checkbox Set, Radio Set, Drop Down, Pop Up, Container
- Text & Layout — Text Label, Portal, Web Viewer
- Shapes — Card, Rectangle, Rounded Rectangle, Oval, Line
Click an object type to add it to the canvas. Each object has its own property panel for fill, border, typography, radius, padding, and label.
Canvas navigation
The canvas is infinite — add as many objects as you need and zoom out to see them all. Navigate with:
- Zoom — pinch on a trackpad, scroll wheel, or Cmd+= / Cmd+− / Cmd+0 to reset
- Pan — hold Space and drag the canvas background
- Multi-select drag — select multiple objects and drag them together as a group
Alignment & sizing
Select multiple objects to enable alignment tools — align left, center, right, top, middle, or bottom edges. Objects snap to each other while dragging. Use the property panel to set exact pixel dimensions and position.
Figma theme import
Paste the CSS variables from a Figma component export into the theme importer to automatically populate your color palette. This maps your design system's token values (fill colors, text colors, border colors) onto the Layout Designer's object styles — keeping your FileMaker layout consistent with your Figma designs.
Connect your Figma account from the Connections page to access your Figma files directly.
Schema-connected field picker
When a Snapshot or live FM server connection is active, field objects and portal field references show a dropdown populated with your actual table occurrences and fields — including value list names. Without a connection, you type the field reference manually (e.g. Contacts::Email).
Generating XML for FileMaker
Click Copy XML to generate FileMaker layout XML and copy it to your clipboard. Then use the clipboard scripts (or AppleScript helper) to paste the objects into FileMaker Pro. The XML respects the selected theme and object properties. You can also Save your layout to your account and load it again in a future session.
Design Chat
Click Design Chat in the toolbar to open the chat panel. Describe a FileMaker layout in plain English — a contact card, an invoice header, a portal list — and the canvas is populated automatically with the matching objects, positioned and styled. Review the preview and click Apply to canvas to place the elements. You can adjust any object before exporting XML to FileMaker.
Example prompts:
- Contact form: name, email, phone, Save/Cancel buttons
- Navigation button bar with Home, Contacts, Products
- Invoice header with customer, date, status, and a line items portal
SVG Designer
Generate SVG icons for FileMaker — describe what you want, browse a 200,000+ icon library, or sketch a reference and let AI turn it into clean, scalable vector art.
Generating icons
Type a description of the icon you need and click Generate. The AI produces a clean SVG optimized for use at small sizes. Each generation is saved to your history so you can step back through previous versions. Click any history entry to restore it.
Previews appear at 16, 24, and 36 px on both a light and dark background — the same sizes FileMaker typically renders icons — so you can judge legibility before committing.
Drawing a sketch
Open the Reference panel and choose Draw. Sketch a rough shape with the pen tool — the AI uses it as a visual reference alongside your text prompt. Switch to the eraser to correct mistakes. You can also switch to Upload and drop in a photo or existing image instead.
Icon library
Click Icon Library to search over 200,000 open-source icons from the Iconify collection. Type any keyword, click a result to load it into the editor, then refine it with a text prompt or use it as-is. Save icons you like to your Collection so they're easy to find later.
FileMaker-ready export
Copy SVG puts the raw SVG on your clipboard. Prep for FileMaker normalizes the SVG first — strips inline colors and replaces all fills and strokes with currentColor so the icon inherits FileMaker's button state colors — then copies the result. Download saves it as an .svg file.
Add-on Generator
Generate a complete, ready-to-install FileMaker add-on from a plain-English description. Requires Ronin plan.
What it generates
- Schema — table and field definitions in the correct FM types (Text, Number, Date, Timestamp, Container, and more)
- Scripts XML — paste-ready fmxmlsnippet XML for Script Workspace
- Setup guide — a three-phase installation guide: Schema, Layout Objects, and Relationship Wiring
- info_en.json — the add-on metadata file (title, description, category, features, target platforms)
Choose a category (Data Entry, Reporting, Navigation, Utility, Media, Pricing, CRM, Other) and the platforms you are targeting (Desktop, Tablet, Mobile) before generating. Pick a working engine too: native FileMaker objects, a Web Viewer with JavaScript libraries, or Auto. The first result is a draft: review the chat summary, ask for refinements, confirm the template layout table occurrence, then build the file when the plan matches what you want.
Relationship wiring
If the add-on needs to connect to an existing table in the host file, expand Advanced and enable the relationship toggle. Enter the table occurrence name from the host file and a short relationship name. The generator adds a foreign key field to the add-on table and includes __FMAddonDynamicRelation_ wiring instructions in Phase 3 of the setup guide — FileMaker uses this convention to auto-wire the relationship when the add-on is installed.
Installing the add-on
Follow the three-phase setup guide:
- Phase 1 — Schema: Create the table(s) and fields in Manage Database exactly as listed.
- Phase 2 — Layout Objects: Create a layout named
__FMAddOnTemplateDirectives_enusing the table occurrence shown in the layout recipe. Place every specified field, button, and portal, marking them complete in the checklist as you go. Select all objects and group them (Arrange > Group) into exactly one group. - Phase 3 — Relationship Wiring (if applicable): Add the foreign key field to the layout, name its group
__FMAddonDynamicRelation_<RelName>.
Once the layout is set up, go to File > Manage > Add-ons…, click the gear icon, open the Add-on Manager, and use the + button to package and install.
Web Viewer add-ons
For features that need an actual engine — barcodes, QR codes, charts, maps, calendars, drag-and-drop, and similar UI — use the Web Viewer engine. The builder suggests libraries such as qrcode, bwip-js, Chart.js, Leaflet, and FullCalendar, then includes the Web Viewer object and code assets in the draft and Read Me script. If the result is really just a standalone Web Viewer widget, use Code → HTML/JavaScript instead.
Script XML paste
Copy the Scripts XML result and paste it into FileMaker's Script Workspace (Edit > Paste). The XML is in fmxmlsnippet type="FMObjectList" format. If any scripts could not be converted, the plain-text fallback is shown alongside — type those steps manually in Script Workspace.
Demo Data Generator
Describe any FileMaker data model in plain English and download realistic CSV data for testing or demos. Requires Ronin plan.
Generating a schema
Type a description of your data model in the chat and click Generate. Be as specific as you like — name the tables, the kinds of data each table holds, and how they relate to each other. FM Dojo builds a multi-table schema and shows 3 sample rows per table so you can verify the output looks right.
Refining with chat
Use the same chat to refine the schema before downloading. Ask for changes like “add a phone number field to Customers” or “rename the Orders table to PurchaseOrders” — FM Dojo updates the schema and refreshes the preview. Adjust the Records count at any time to control how many rows each table generates.
Downloading
Once the preview looks right, click Looks good — continue and then Download. Single-table schemas download as a .csv file; multi-table schemas download as a .zip with one CSV per table, named to match each table.
Field names in the CSV header row match the FileMaker field names exactly — use Import Records in FileMaker with matching names to map them automatically.
Barcode Generator
For more videos go to youtube.com/@fmdojo
Generate barcodes from any text or FileMaker data and export them as FileMaker script steps — ready to paste directly into Script Workspace.
Supported formats
- QR Code — text, URLs, or any data up to ~4,000 characters; configurable error correction (L 7% / M 15% / Q 25% / H 30%)
- Code 128 — alphanumeric; the most compatible 1D barcode format
- Code 39 — uppercase letters, digits, and special characters
- EAN-13 — 13-digit retail barcode used worldwide
- UPC-A — 12-digit North American retail barcode
- EAN-8 — 8-digit compact barcode for small packages
- DataMatrix — high-density 2D barcode ideal for small labels
FileMaker XML export
Click Copy FM XML after generating a barcode. The export is a Set Variable script step that stores the barcode image as a Base64-decoded container value in $barcode. Paste it into FileMaker Script Workspace using the Paste to FM script, or press Cmd+V / Ctrl+V directly in Script Workspace.
Base64 Tool
Convert between text, Base64 strings, and files — and get FileMaker script steps that embed the results directly into your FM scripts.
Encoding text
Switch to Text → Base64, type or paste any text, and the encoded output appears instantly. Click Copy FM XML to get a Set Variable step that stores the Base64 string in $encoded.
Decoding Base64
Switch to Base64 → Text, paste a Base64 string or a data URL (e.g. data:text/plain;base64,…), and the decoded text appears. Click Copy FM XML to get a Set Variable step using Base64Decode() stored in $decoded.
File to Base64
Switch to File → Base64 and drop any file onto the drop zone. FM Dojo reads the file client-side and shows the Base64 output. Click Copy FM XML to get a Set Variable step that reconstructs the file as a container value in $file using Base64Decode() with the original filename — so FileMaker treats it as the proper file type.
FM URL Builder
Build fmp:// protocol URLs for opening FileMaker files, running scripts, going to records, or opening to a specific layout — then copy them as plain URLs or as FileMaker script XML.
Building a URL
Enter your FileMaker Server hostname and database name, then choose an action:
- Open file — generates a basic
fmp://URL that opens the file - Run script — appends a script name, optional parameter, and script modifier
- Go to record — appends a record ID
- Open to layout — appends a layout name
Run script action
When using the Run script action, you can set a script modifier to control how the script runs: None, Resume, Pause, or Exit.
Copy as FM XML
Click Copy FM XML to get a Set Variable script step that stores the generated URL in $url. Paste it directly into Script Workspace using the clipboard scripts.
Value List
Prepare a list of values for use in FileMaker — sort, deduplicate, or shuffle them, then copy the result as plain text or as FileMaker script XML.
Sort, deduplicate, shuffle
Paste your values (one per line) into the input. Toggle any combination of Sort, Deduplicate, and Shuffle to process the list. The output updates instantly.
Copy FM XML
Click Copy FM XML to get a Set Variable script step that stores all values in a single $list variable with items joined by ¶. Use GetValue(), ValueCount(), and FilterValues() to work with it in FileMaker calculations.
Icon Picker
Browse Unicode symbols organized by category — arrows, shapes, currency, math, typography, and more — for use in FileMaker button labels, field default values, and layout text objects.
Browsing symbols
Scroll through the category sections or use the search box to filter by name. Click any symbol to select it — the character and its name appear in the selection panel at the bottom.
Copy FM XML
Click Copy character to copy the raw symbol to your clipboard. Click Copy FM XML to get a Set Variable script step that stores the character in a variable named after the symbol — paste it directly into FileMaker Script Workspace.
Privilege Set Planner
A spreadsheet-style planner for designing FileMaker privilege sets before implementing them in FileMaker. Map access across records, layouts, scripts, and value lists — then share the plan with a client or colleague for review.
Records tab
Add a row for each table occurrence. For each row, set View (Yes / Limited / —), Edit (Yes / Limited / —), Create, Delete, and Field Access (All / Limited / No access). The color coding gives an at-a-glance read on the privilege level.
Layouts, Scripts, Value Lists tabs
Each tab follows the same pattern — add rows for each item and choose an access level from the dropdown. Layouts support separate access for the layout itself and the records it shows. Scripts support Modifiable, Executable Only, or No Access.
Bulk delete
Check the checkbox on any rows you want to remove, then click the trash icon in the header to delete them all at once. Works across all four tabs.
Collaborative sharing
Click Share to generate a persistent public link. The recipient can open the plan in their browser, fill in access values, and changes save automatically. Reload the link at any time to see the latest state — useful for walking a client through their privilege requirements before you build them in FileMaker.
Snapshots
For more videos go to youtube.com/@fmdojo
Snapshots let you import your FileMaker database structure from a “Save a Copy As XML” export file — no live server connection needed. Once imported, the Snapshot becomes the active schema for AI context in Chat and Code Editor, and can be loaded directly into the Diagram.
How to export from FileMaker
- Open your database in FileMaker Pro.
- Go to File › Save a Copy As XML…
- Check “Include details for analysis tools” — this is required to include field and relationship data.
- Save the .xml file and upload it on the Snapshots page.
Large files
There is no file size limit on Snapshots uploads. Very large XML files (120 MB+) are split into 5.5 MB chunks automatically and reassembled on the server — you don't need to do anything special.
- A progress bar shows how many parts have been sent and what percentage is complete.
- Files over 35 MB show an advisory that server-side parsing may take up to a minute after all chunks are received.
- If your XML is too large to export in one go, FileMaker lets you export the XML in sections — use Save a Copy As XML multiple times, then use the multi-file combine feature below.
Multi-file upload and combine
Drop multiple .xml files at once on the Snapshots upload zone. Each file uploads with its own progress bar. When all files finish:
- Click Combine all into one snapshot to merge them into a single snapshot. Tables, table occurrences, relationships, layouts, scripts, and value lists are deduplicated by name across all files.
- Click Keep as separate snapshots to save each file as its own independent snapshot entry.
Push from FileMaker Server
Instead of exporting and uploading manually, you can push snapshots automatically from a running FileMaker Server. Click Push from FM Server on the Snapshots page to get a ready-to-paste FileMaker script and your personal API key.
- Generate an API key from the dialog — it is automatically embedded in the script.
- Copy the script (as plain text or directly as FM XML to paste into Script Workspace) and import it into your FileMaker database.
- Run the script manually to push on demand, or schedule it in FMS Admin Console → Schedules → Script Schedule to push automatically on a set interval.
- Each push creates a new version, auto-labeled with the filename and timestamp, and immediately sets it as the active schema.
- If GitHub integration is connected, each push also commits the snapshot automatically.
Active schema
When a Snapshot is active, it feeds your real field names, layout names, and script names into the AI as context — in Chat, Code Chat, and Diagram Chat. The AI will use your actual table and field names instead of inventing generic ones. You can switch between a live database connection and a Snapshot at any time; activating one deactivates the other.
Loading into the Diagram
Each Snapshot can be loaded directly into the Diagram tool. In the Snapshot detail view (click View), the diagram data is pre-populated from the XML export — table occurrences, fields, and relationships are all included.
GitHub integration
Connect a GitHub account on the Connections page to automatically commit each Snapshot to your repo when it's uploaded. The commit stores one JSON file per table and one per script, so GitHub's native diff shows exactly what changed between versions.
- Only files that actually changed are uploaded — unchanged files are skipped to keep diffs clean.
- You can also push any version manually using the GitHub button on each version row, and customize the commit message before pushing.
- If a version was imported before you connected GitHub, use the manual push button to commit it retroactively.
Schema Analyzer
Click Analyze on any version row to open the Schema Analyzer — a live best-practice audit of your FileMaker schema. It scores your database against FileMaker-specific standards and flags issues with actionable details.
- Health score — overall percentage of checks that pass, shown in the header.
- Best Practices checklist — checks for primary keys (serial auto-enter), audit trail fields, anchor table occurrences (anchor-buoy pattern), orphaned TOs, cartesian joins, error capture coverage, empty scripts, oversized scripts (over 100 steps), and naming convention consistency. Click any failing check to expand it and see the full list of affected tables or scripts.
- Naming Conventions table — shows the dominant casing style (PascalCase, camelCase, SCREAMING_SNAKE, etc.) for tables, fields, scripts, and TOs, flagging categories that are inconsistent.
- Table Health Matrix — a row per base table showing primary key ✓/✗, audit field presence, anchor TO presence, field count, TO count, and layout count.
- Script stats — step distribution histogram plus totals for loops, sub-script calls, and error capture coverage.
- Share — click Share in the analyzer header to generate a public read-only link. Anyone with the link can view the full analysis — no login required.
Versioning
For more videos go to youtube.com/@fmdojo
Each upload of the same database creates a new version. Give each version a name (like 1.0 or pre-migration) to identify it at a glance — this label replaces the auto-increment number as the primary identifier. Only one version per database can be active at a time.
- Click any version name to rename it inline.
- Click ★ to set a version as the active AI schema context.
- Click ↕ Diff to compare two consecutive versions — added and removed tables, fields, scripts, layouts, and relationships are shown. Modified scripts (same name, different steps) appear with a pencil icon — click them to open a step-by-step diff showing exactly which script steps were added, removed, or unchanged.
- Click View to browse the full schema: tables & fields, TOs & relationships, layouts, scripts, and value lists.
FMS Admin
For more videos go to youtube.com/@fmdojo
Open FMS Admin from the top navigation to connect and manage your FileMaker Servers. From here you can add servers, monitor connected clients, open and close files, run schedules, view logs, and manage alerts — all in one place.
Adding a server
Click + Add Server in the FMS Admin sidebar. Fill in:
- Server URL — the full HTTPS address of your FileMaker Server (e.g.
https://yourserver.com). - Label (optional) — a friendly name like “Acme Corp Production”.
- Auth method — choose Username & password or Certificate (PKI) (see below).
Click Save. FM Dojo verifies the Admin API connection and stores the server. Admin credentials are encrypted at rest (AES-256) and never returned to the browser after saving.
PKI token authentication
Select Certificate (PKI) if your FileMaker Server uses PKI token authentication for the Admin API. Generate a token on the server first:
- Run the token generator on the server. SSH into your FileMaker Server and navigate to the PKI tools folder:
Linux: /opt/FileMaker/FileMaker Server/Tools/AdminAPI_PKIAuth/macOS: /Library/FileMaker Server/Tools/AdminAPI_PKIAuth/
Runpython3 fmadminapi_pki_token_example.pyand follow the prompts — enter a key pair name, optional passphrase, expiration time, and token name. The script creates a<token-name>.txtfile. - Register the public key in Admin Console. Go to Administration → Administrator → FileMaker Admin API Public Keys, click Add Public Key, enter the token name, and paste the contents of
<keypair-name>.key.pub. - Paste the token into FM Dojo. Open
<token-name>.txtand paste its full contents into the PKI Token field. Tokens expire — regenerate with the same script when authentication fails.
What you can do in FMS Admin
Select any server in the sidebar to open its management panel. The panel streams live data from your server as soon as it opens — a pulsing Live indicator confirms the connection is active. You can:
- Monitor activity in real time — the Overview tab shows version, uptime, WebDirect status, and a live event feed. Client connects and disconnects, database opens and closes, and schedule runs all appear instantly without refreshing.
- See who is connected — the Clients tab lists every connected user with their IP, app type, and FileMaker version. Send them a message or disconnect them (with a configurable grace period) without touching the server.
- Open and close databases — the Files tab shows all hosted databases with their status and session counts. Toggle any file open or closed directly from FM Dojo.
- Run, manage, and create schedules — the Schedules tab lists all server-side schedules. Enable, disable, trigger a run on demand, or create a new schedule — backup, FileMaker Script, System Script, or Verify — without opening FM Admin Console.
- Read server logs — the Logs tab gives you the Event log, Access log, Stats log, Data API log, and OS-level logs from one place, with AI analysis. Requires SSH or WinRM access (see below).
- Get alerted when something goes wrong — the Alerts tab lets you set up automated checks with Discord or Slack notifications.
Live monitoring
FMS Admin streams events directly from the FileMaker Admin API the moment you open a server. The Live Events feed in the Overview tab shows every client connection, disconnection, and database state change as it happens — colored green, red, and blue respectively. The Clients and Files tabs update automatically while the stream is active; manual Load buttons are hidden when you don't need them.
Reading server logs
The Logs tab is where you go when something is wrong and you need to know why. Load the Event log to see database opens, closes, and backup results. Load the Access log for authentication records and client activity. Load the Stats log to look at connection counts and call rates over time. Load the Data API log when troubleshooting API integrations. All selected logs are fetched in parallel, merged into a single time-ordered stream, and each line is tagged — [EVENT], [ACCESS], [DAPI] — so you can read across files at once.
Beyond FileMaker logs, SSH-connected Linux servers also expose the journald system journal (filter by any service unit), the kernel log (OOM kills, disk errors, hardware failures), the syslog, and the auth log (SSH brute-force attempts, failed logins). Windows servers with WinRM expose the Windows Application and System Event Logs.
To use the Logs tab, connect FM Dojo to your server with SSH, WinRM, or a cloud connection. All credentials are AES-256 encrypted at rest and never returned to the browser.
Connecting over SSH (Linux / macOS)
Open the server in FMS Admin and click SSH Setup. Enter your SSH host, port (default 22), and username, then paste your private key in PEM format (RSA, ECDSA, or Ed25519). Click Test Connection — FM Dojo connects, auto-detects the FileMaker log directory, and saves the config.
fmsadmin group for log access: sudo usermod -aG fmsadmin fmdojo. On macOS, restrict access to /Library/FileMaker Server/Logs.Connecting over WinRM (Windows)
WinRM is built into Windows Server 2012 R2 and later — no extra software required. FM Dojo connects over HTTPS (port 5986) using a Windows username and password. The full PowerShell setup commands are shown inside the WinRM setup form in FMS Admin — you can copy them from there. The short version:
- Open an elevated PowerShell and run:
Enable-PSRemoting -Force, then create a self-signed certificate, add the HTTPS listener, and open port 5986 in the firewall. (Full commands in-app.) - Optionally create a dedicated Windows account:
net user fmdojo YourPassword /addthennet localgroup administrators fmdojo /add. - In FMS Admin, open the server, click WinRM Access, enter the host, port (5986), username, and password, then click Save & Test.
AWS EC2 (SSM)
If your FileMaker Server runs on AWS EC2, FMS Admin can connect via AWS Systems Manager — no open SSH port or key management required. Connect your AWS account under Connections (requires IAM credentials with AmazonSSMFullAccess and AmazonEC2ReadOnlyAccess), then use Discover Instances to find your EC2 instance and add it as a server. FM Dojo routes all commands through SSM.
AmazonSSMManagedInstanceCore attached. System metrics (CPU, disk) also require SSH.Google Cloud & Linode
Connect a Google Cloud Service Account JSON or a Linode Personal Access Token under Connections. FM Dojo uses the cloud account to list your running instances — when you add a server from FMS Admin, the SSH host is pre-filled from the instance's external IP. You still need SSH configured for log access. For GCP, the Service Account needs at minimum the Compute Viewer role. For Linode, set the token's Linodes permission to Read Only.
AI log analysis
Once logs are loaded in the Logs tab, click Analyze with AI to get a structured diagnosis. You get a Summary of what's happening, a list of every Error & Warning with plain-English explanations, Patterns (repeating issues, performance concerns, unusual activity), and Recommendations. To ask a specific question instead of a full analysis — “Why are clients getting disconnected at 3 AM?” or “Are there any failed logins?” — type it in the input box next to the button.
Server alerts
The Alerts tab runs automated checks every 15 minutes and notifies you via Discord or Slack when something is wrong — before your users are. Available checks:
- Disk usage — fires when a volume exceeds your threshold (e.g. 80%). Requires SSH or WinRM.
- Backup failure — fires when a schedule's last result is not OK. Filter by schedule name. Requires Admin API access.
- Database status — fires when a database is CLOSED, INCONSISTENT, or in an ERROR state. Requires Admin API access.
Set your Discord or Slack webhook URL, enable the toggle, and click Send test to confirm delivery. The cooldown (default 60 minutes) prevents the same alert from firing repeatedly until the condition clears.
Watchdog alerts
Watchdogs catch low-level OS events that can silently kill FileMaker Server — the kind of thing that won't show up in FM logs until it's too late. Configure them in the Watchdogs section of the Alerts tab:
- FM Server process down — checks every 15 minutes whether the FM Server daemon is running. On Linux/macOS, uses SSH (
pgrep); on Windows, checks the service via WinRM. - OOM kills (Linux SSH only) — scans the kernel journal for out-of-memory kills in the last 20 minutes. Common on servers where FileMaker competes with other services for RAM.
- Disk I/O errors (Linux SSH only) — scans the kernel journal for hardware and filesystem errors. Catches silent disk failures before they cause data loss.
SSL certificate management
The SSL tab lets you manage the TLS certificate on your FileMaker Server without opening FM Admin Console.
View the current certificate. Open any server and click the SSL tab. FM Dojo reads the live certificate directly from the server's TLS connection and shows the subject, issuer, expiry date, and whether it's self-signed. Expiry is color-coded: green when valid, amber when expiring within 30 days, red when expired.
Generate a CSR. Click Generate CSR and fill in your organization details — Common Name (the hostname the cert will cover), Organization, City, State, Country, and an optional email. FM Dojo sends the request to FM Server, which generates a key pair internally and returns a PEM-encoded Certificate Signing Request. Download the CSR and submit it to your CA (Let's Encrypt, DigiCert, Sectigo, etc.).
Import a signed certificate. Once your CA returns the signed cert, come back to the SSL tab and click Import Certificate. Upload the signed certificate, your private key file, and optionally the intermediate CA chain. If your private key is password-protected, enter the password in the Key password field. FM Server validates the files, installs the certificate, and restarts automatically.
Delete the certificate. The Danger Zone section at the bottom of the SSL tab lets you remove the current certificate. FM Server restarts after deletion and reverts to its default self-signed cert.
Let's Encrypt (recommended). The SSL tab also has a dedicated Let's Encrypt section that provisions a free, auto-renewing certificate using a DNS-01 challenge — no port 80 required. Fill in your domain, email, DNS provider (Cloudflare or DigitalOcean), and your DNS provider API token. Check Remember settings for renewal to save them for next time, then click Get Certificate. FM Dojo SSHs into the server, installs certbot if needed, runs the DNS challenge, and imports the resulting certificate — live progress streams back as it runs. FM Server restarts automatically once the certificate is imported. Linux only; requires SSH access configured for the server.
Auto-renewal is set up automatically via a cron job that runs every two months (well within the 90-day certificate lifetime). When the certificate renews, FM Server restarts automatically again — no manual steps required.
Restore Backup
Restore Backup lets you replace a live FileMaker database with a backup copy — directly from your server — without touching the file system manually. Open any server in FMS Admin and go to the Backups tab. FM Dojo scans your server's backup directories over SSH and lists every .fmp12 backup file with its size and modification date.
Browsing backup files
Backup files are grouped by directory — FM Server's daily, weekly, and any custom schedule directories appear as collapsible groups. Use the search box to filter by filename. Select one or more files to reveal bulk actions.
Restoring a backup
Click Restore on any file to open the restore dialog. Configure the options, then click Restore Now. FM Dojo runs the restore as a sequence of steps and reports the result of each one:
- Close the database — FM Dojo runs
fmsadmin closeon the target file. Enter an optional message for connected users (shown before they're disconnected). Check Force close to immediately disconnect all clients if you can't wait for them to disconnect gracefully. - Keep current copy (optional) — before overwriting, moves the live file to
RemovedbyFMS/[timestamp]_[filename]on the server. Leaves you a fallback if the restore doesn't go as expected. Strongly recommended. - Copy backup over live — copies the selected backup file into the Databases directory on the server. No file transfer to your browser — this happens entirely on the server via SSH.
- Import data from current file (optional) — see below.
- Reopen the database — runs
fmsadmin opento bring the file back online. Skipped if an earlier step failed.
Each step shows its exit code and output. If a step fails, later steps that depend on it are skipped and clearly marked.
Importing data from the current file
Check Import data from current file when you want to restore an older schema (e.g. a development build) but keep the current live data. This uses FileMaker Server's FMUpgradeTool to migrate records from the pre-restore live file into the backup's schema after the copy step. Fields are matched by name — fields in the backup that also exist in the live file are migrated; fields with no match are left empty.
Schema analysis before migration
When data import is enabled, click Analyze Schema to get an AI-powered compatibility report before you commit. FM Dojo compares the oldest and newest snapshots on record for that file and produces a plain-English summary of every table and field that has been added or removed since the backup was made. Fields removed from the live file that exist in the backup will be empty after migration. Tables removed from the live file will not be migrated at all. Use this to spot data loss risks before the restore runs.
Downloading backup files
Select one or more backup files and click Download. A single file downloads as a .fmp12. Multiple files are bundled and downloaded as a .tar.gz archive. Files are streamed directly from the server to your browser over SFTP — they are not stored on FM Dojo's servers at any point.
You can also open the server's file system directly in your preferred SFTP client (Cyberduck, Transmit, FileZilla) using the Open in SFTP client button at the top of the Backups tab.
FM Deploy
FM Deploy moves schema changes from a GitHub or GitLab-backed FileMaker project into a live FileMaker Server file. Use it when one deployed file is tied to a source repository and you want a repeatable deployment history for that target file.
Deployments
Create deployments from FM Deploy. Each deployment connects a repository path to one FileMaker Server file and stores its own branch, target filename, run history, and notification settings.
Source repository
Choose the GitHub or GitLab connection, repository, branch, and path that hold the snapshot files FM Dojo committed for your FileMaker project. FM Deploy uses that source to identify the schema state being deployed.
Target file
Select the FileMaker Server and target database file that should receive the deployment. FileMaker database access is managed through Database Authorizations where available, so credentials can be tested and updated from one shared place.
Running a deployment
Start a run from the deployment card. FM Deploy records the commit context, runs the deployment workflow against the target FileMaker Server, streams progress back to the UI, and stores the result for later review.
Run history and notifications
Each run keeps status, timing, logs, commit metadata, and target file context. Deployments can notify a saved Slack or Discord connection, or trigger a Flow when a run completes.
Server Deploy
Server Deploy moves FileMaker files between FileMaker Servers. Use it to promote development changes into test or production while preserving target data, or to refresh a development server from production with a full file copy.
Plan types
Create a plan from Server Deploy, choose the source and destination servers, then pick the plan type that matches the workflow:
- Dev to Test — move schema forward into test while keeping test data.
- Test to Production — move schema forward into production while keeping production data.
- Production to Dev — replace the development file with a full production backup for refresh workflows.
Adding files
Add one or more FileMaker files to the plan. Each file chooses its source server, source database, target filename, and whether the plan should stop if that file fails. FileMaker database credentials come from Database Authorizations, so access can be tested and updated in one shared place.
Testing and running
Click Test before running a plan. Server Deploy checks SSH access, FileMaker Server admin authentication, required migration tools, data directories, and source file access before it touches the target server. Click Run to start the migration and follow progress in the current-run popup.
Run history and rollback
Every run stores per-file status, logs, timing, backup paths, and errors. If a migrated file needs to be restored, use Rollback from the run history to close the target file, restore the pre-migration backup, and reopen it.
Run-complete notifications
Plans can notify a saved Slack or Discord connection, or trigger a Flow when a run completes. The payload includes the run status, plan, servers, files, and timestamps so downstream automations can alert the team or continue the deployment process.
Flows beta
For more videos go to youtube.com/@fmdojo
Flows let you automate FileMaker without writing a line of server-side script. Each flow has a trigger and one or more steps that run in sequence. Go to the Flows page to create and manage your flows.
Triggers
- FileMaker — a FileMaker script calls your flow using Insert from URL. Attach it to an OnRecordCommit or OnObjectSave script trigger so the flow fires whenever a record is saved. FMDojo generates the script for you — open the flow detail page, copy the ready-made script or click Copy as XML to paste it directly into FileMaker Script Workspace.
- Inbound Webhook — FMDojo gives you a unique secret URL. POST JSON to it from any external service — Stripe, Shopify, Typeform, your own app — and the flow fires immediately.
FileMaker trigger — script parameter
When using a FileMaker — Run script step, set the Script parameter field to pass trigger data into your FM script. Use {{trigger.payload}} to send the full webhook body, or dot into specific fields such as {{trigger.payload.data.object.amount}}. The script receives the value via Get(ScriptParameter). If the FM script exits with a non-zero error code, the flow step is marked as failed and the error code appears in the run log.
Steps
- FileMaker — Find records — run a FileMaker find and pass the results to later steps
- FileMaker — Create record — create a new record in any layout
- FileMaker — Update record — update fields on an existing record by record ID
- FileMaker — Run script — execute a FileMaker script with an optional parameter
- HTTP request — call any external REST API with custom headers and a JSON body
- Slack message — post to a Slack channel or DM
- Email — send an email via your configured email provider
- Filter — stop the flow if a condition is not met
Connectors
Flows ships with 80+ pre-built connectors organized by category. Each connector comes pre-configured with the correct API endpoint, authentication, and field mapping — pick one and fill in the values.
- CRM & Sales — Salesforce, HubSpot, Pipedrive, Zendesk, Intercom
- Payments & Accounting — Stripe, Shopify, WooCommerce, QuickBooks, Xero, FreshBooks
- Messaging — Slack, Discord, Microsoft Teams, Twilio (SMS), SendGrid, Mailchimp
- Productivity — Google Sheets, Google Calendar, Google Drive, Gmail, Airtable, Notion
- Developer Tools — GitHub, Jira, Trello, Asana, Linear, Zapier, Make, OpenAI
- Analytics & Monitoring — Power BI, Tableau, Datadog, ServiceNow, Google Analytics
Template variables
Reference trigger data or a previous step's output anywhere in a step's config using double-brace syntax:
{{trigger.payload}}— the full JSON body POSTed to your flow{{trigger.payload.data.object.amount}}— a nested field from the trigger body (e.g. a Stripe event){{steps.0.output.recordId}}— the output of the first step{{steps.1.output.data.0.fieldData.Total}}— a nested field from a FileMaker find result
Testing flows
On the flow detail page, click Send test to fire a test POST to your flow immediately. On the flows list page, click Test all to fire all enabled flows in parallel — each row shows pass or fail inline so you can verify everything is working in one shot.
Example: Record committed in FileMaker → Slack alert
A user saves a record on the Invoices layout. The OnRecordCommit trigger fires a FileMaker script that calls Insert from URL, POSTing the record data to your FMDojo flow. The flow posts a Slack message: “New invoice from {{trigger.payload.CustomerName}} for ${{trigger.payload.Total}}”.
Example: Stripe payment → FileMaker record
Stripe POSTs a customer.subscription.created event to your flow webhook URL. The flow runs a FileMaker script, passing {{trigger.payload}} as the script parameter. The FM script reads the JSON with Get(ScriptParameter), extracts the fields it needs, and creates a record.
Example: Webhook → FileMaker + Slack
Your app POSTs lead data to your webhook URL. The flow creates a contact record in FileMaker using the trigger fields, then posts a Slack message: "New lead: {{trigger.payload.name}} from {{trigger.payload.company}}".
Run history
Every flow execution is logged. Open the flow detail page and expand any run to see each step's input, output, status, and timing. Failed steps show the exact error message — including FileMaker script error codes.
Connections
For more videos go to youtube.com/@fmdojo
Connect FM Dojo to external services to unlock deeper integrations. Manage all connections from the Connections page.
GitHub
Link a GitHub account and repository to enable automatic snapshot pushes. When you push a FileMaker snapshot from the server, FM Dojo can commit the DDR XML to your GitHub repo — giving you version history for your FileMaker schema. You can connect multiple GitHub accounts, set a default repo and branch, and configure the destination path within the repo.
GitLab
Same as GitHub — connect a GitLab account and project to push snapshots to a GitLab repository. Multiple accounts supported with one set as the default.
Figma
For more videos go to youtube.com/@fmdojo
Connect your Figma account using a personal access token. Once connected, you can link a default Figma file URL for use in the Layout Designer's theme importer — importing color tokens from your Figma components directly into the layout designer.
Cloud providers
Register cloud accounts for AWS EC2, Google Cloud, Linode, and Azure to let FM Dojo discover your server instances automatically. When you add a server in FMS Admin, the SSH host is pre-filled from the running instance — no manual IP lookup. AWS EC2 connections also enable AWS SSM access, so FM Dojo can run commands on your EC2 instance without an open SSH port.
Database Authorizations
Database Authorizations centralize FileMaker database credentials that are reused across FM Dojo features. Instead of saving the same FileMaker account in several places, connect or update it once and let supported tools reference the shared authorization.
Where authorizations are used
The Database Authorizations page shows each authorized FileMaker database, the server it belongs to, when it was last synced, and which FM Dojo modules use it. Linked modules can include AI Data Access, Projects, Builder OData, and Flows.
Testing and updating credentials
Use Test to verify that saved credentials still work against the FileMaker Data API. Use Update credentials when a FileMaker password changes or when you need to switch to a different FileMaker account. FM Dojo validates the new credentials before saving them.
Revoking access
Use Revoke all to remove an authorization and disconnect the modules that depend on it. This is useful when a FileMaker account should no longer be used by FM Dojo or when you want to rebuild access with a different account.
AI Data Access
AI Data Access lets you connect your live FileMaker databases to Claude Desktop, Cursor, and any other tool that supports the Model Context Protocol (MCP). Ask questions in plain English and get answers from your real data — no exports, no API wrangling.
Generating a token
You need one thing before creating a token: a FileMaker Server connected under FMS Admin. No snapshot or LiveConnect setup is required — the token creation flow handles everything inline.
Go to Connections and click New token. Select the server, type the database name or click Browse to pick from the list, select one or more databases, enter a FileMaker account with Data API access, and click Create. FM Dojo validates the credentials against the live server and stores them encrypted — they are never written to any config file on your machine.
Once generated, FM Dojo shows you the connection details for your AI tool. How you add it depends on which tool you use:
- Claude (Desktop and claude.ai) — Open Claude → Settings → Connectors → Add custom connector. Give it a name and paste the URL FM Dojo generated. No config file, no restart.
- Cursor, Zed, Continue.dev, and other MCP tools — FM Dojo generates the exact JSON config snippet. Paste it into your tool's MCP config file and restart the tool.
Supported AI tools
Any tool that supports MCP works: Claude Desktop, Claude.ai (Pro and Team), Cursor, Zed, Continue.dev, and others.
Connecting multiple databases
A single AI Data Access token can include more than one FileMaker database. This is especially useful for Claude, where one custom connector can expose every database you selected through the same connector URL.
- Claude Desktop and Claude.ai use one custom connector URL. Select every FileMaker database Claude should reach when you create the token.
- Cursor, Zed, Continue.dev, and other config-file tools support multiple MCP servers side by side. Add one block per token to the config and they all become available in the same session.
When a token includes multiple databases, FM Dojo exposes a database list tool and database-aware read, write, layout, and script tools so the AI assistant can choose the correct FileMaker file before it queries live data.
Revoking a token
Go to the AI Data Access tab in Connections and click Revoke next to any token. Access is cut off immediately — no need to update any config files on the AI tool side.
Data privacy
FM Dojo acts as a pass-through proxy. When your AI tool queries a record, FM Dojo forwards the request to your FileMaker server and returns the result directly to the AI tool. The actual record data is never written to FM Dojo's database or logs — it passes through in memory and is discarded once the response is sent.
Sharing
For more videos go to youtube.com/@fmdojo
Share conversations, diagrams, and code snippets as live, read-only web pages — no login required for viewers.
Chat & diagrams
- Click the Share button in the chat or diagram toolbar.
- A unique URL is generated instantly.
- Shared pages include full syntax highlighting and formatting.
- Great for team reviews, client demos, and forum posts.
Shared chat pages include a call-to-action for viewers to try FM Dojo themselves.
Code snippets (Clip Manager)
- Click the share icon on any snippet in the Code Editor sidebar.
- A public link is generated — share it with anyone.
- The shared clip page shows the code with full syntax highlighting, a copy button, and for FileMaker types, a "Copy as FileMaker XML" button.
- Viewers can save a copy of the snippet to their own library if they're logged in.
- Revoke sharing at any time from the snippet options.
Sharing a folder of clips
Share an entire folder of snippets with a single link — useful for distributing script libraries, starter templates, or client-specific code collections.
- Hover any folder in the Clip Manager sidebar — a share icon appears alongside the rename and delete buttons.
- Click it to generate a public link. The URL is copied to your clipboard automatically.
- The shared folder page lists all clips in the folder with full syntax highlighting, copy buttons, and FileMaker XML export where applicable.
- Viewers can click Save folder to my library to add a copy of the entire folder — with all its clips — to their own account in one click. If a folder with that name already exists in their library, it's saved with a short random suffix (e.g. Demo_A3F9B).
- The share icon turns teal when a folder is shared. Click it again to copy the link without regenerating it.
Tokens & Pricing
FM Dojo uses a token-based system. Every AI interaction (chat messages, AI Generate, Code Chat) consumes tokens from your balance.
How tokens work
- Each subscription plan includes a monthly token allowance.
- Unused tokens roll over — they accumulate month to month, so nothing is wasted.
- Your token balance is shown in the header and updates in real time after each message.
Pricing
- Monthly subscription plans at different tiers.
- Multi-currency support — USD, EUR, GBP, AUD, CAD, JPY, NZD.
- Upgrade, downgrade, or cancel anytime from your dashboard.
- Payments are handled securely through Stripe.
Training
The Training section offers structured FileMaker lessons — each one walks you through a concept with code examples, highlights common mistakes, and ends with a short quiz. Your progress is saved automatically as you go.
Topics and lessons
Lessons are organized into eight topics:
- Scripting — script steps, control flow, error handling, PSOS, and script patterns
- Calculations — built-in functions, custom functions, JSON, ExecuteSQL, and expression design
- Data API — authenticate, read, write, and script FileMaker from external systems
- Relationships — table occurrences, match fields, portals, anchor-buoy, and the relationship graph
- Layouts — layout objects, themes, triggers, and presentation best practices
- FileMaker Server — WebDirect, SSL/TLS, Let's Encrypt, authentication methods (local, Active Directory/LDAP, Claris ID), Admin API, schedules, and backup strategy
- Security — privilege sets, account types, encryption at rest, audit logging, OAuth/SAML, API security, GDPR, penetration testing, and the data separation model
- OData & Custom App API — query FileMaker with OData, integrate with Power BI and Tableau, use batch operations, and call FileMaker scripts from external tools
Each topic contains multiple lessons. The training index shows all topics as collapsible sections — click a topic header to expand it and see its lessons.
Lesson structure
Every lesson follows the same four-part structure:
- Intro — what you'll learn and why it matters
- Steps — a numbered walkthrough with code blocks you can copy directly into FileMaker
- Common mistakes — the most frequent errors for this topic and how to avoid them
- Quiz — answer a set of multiple-choice questions to complete the lesson and earn tokens
Use the Lesson and Quiz tabs at the top of the lesson page to switch between the reading material and the quiz.
Difficulty levels
Each lesson is tagged as Beginner, Intermediate, or Expert. Use the filter buttons at the top of the training index to show only lessons at a specific level. Beginner lessons assume no prior knowledge of the topic; Expert lessons are suitable for developers building production solutions.
Progress tracking
Completed lessons are marked with a green check in the lesson list. A progress bar at the top of the training index shows how many of the total lessons you have finished. Progress is tied to your account and persists across sessions and devices.
Quiz and token rewards
Each lesson quiz must be fully answered before you can submit. After submitting, the correct answers and explanations are revealed. Earn 300 tokens per correct answer — but only on your first submission for each lesson. Retrying a quiz after reviewing the answers does not re-award tokens. The daily cap across all training lessons is 1,000 tokens.
Trivia
Test your FileMaker knowledge in timed rounds on the Trivia page. Each round is ten questions drawn from across the FileMaker topic areas. Answer quickly and correctly to earn tokens.
How a round works
- Each question has a 30-second timer. The circular countdown shrinks as time runs out — it turns red and ticks audibly when five seconds remain.
- Select an answer to lock it in. The correct answer and a brief explanation are shown immediately.
- The next question appears automatically after a short delay, or you can advance manually.
- Your score and token total are shown on the results screen at the end of the round.
Categories
Questions are drawn from five categories: Calculations, Scripts, Relationships, Layouts, and General. Each question is tagged with its category so you can see which areas you're strongest in.
Leaderboard
The Leaderboard tab shows the all-time top scorers ranked by total tokens earned through trivia. Your own entry is highlighted. You must be signed in to appear on the leaderboard.
Round history
The History tab shows all of your previous rounds — score, tokens awarded, date played, and a per-question breakdown. Expand any round to review how you answered each question and read the explanations again.
Token rewards
Earn 100 tokens per correct answer. The daily cap across all trivia rounds is 1,000 tokens. Guests can play rounds but tokens are only banked for signed-in subscribers.
Rewards
Earn free tokens by spreading the word about FM Dojo. Visit the Rewards page to see available actions and submit your proof.
Earning tokens
You can earn tokens in three ways: completing training lessons, playing trivia, and social sharing. Earned tokens are added to your balance immediately (training and trivia) or after admin approval (social sharing).
Training rewards
Earn 300 tokens for each correct answer when you submit a lesson quiz for the first time. Tokens are only awarded on your first submission — retrying a quiz after reviewing does not re-award tokens. The daily cap across all training lessons is 1,000 tokens.
Trivia rewards
Earn 100 tokens for each correct answer at the end of a trivia round. The daily cap across trivia is also 1,000 tokens. Your score and token history are visible in the History tab on the Trivia page.
Social sharing rewards
Earn tokens by spreading the word about FM Dojo. Visit the Rewards page to see available actions and submit your proof. Actions include:
- Post on LinkedIn — share FM Dojo with your professional network
- Post on X / Twitter — mention FM Dojo in a post
- Post in a Facebook Group — share in a FileMaker or developer community group
- Refer a friend who subscribes — your highest-value reward
For social posts, submit the URL of your published post as proof. For referrals, enter the email address of the person who subscribed. Each action can only be submitted once. Tokens are added after an admin reviews your submission — typically within a few days.
Feature Requests
Vote on what matters most and submit your own ideas on the Feature Requests page.
Submitting a feature request
Click Request a Feature and fill in a title, description, and category (Chat, Code Editor, Diagram, or New Feature). You can also indicate how important the feature is to your workflow — from "Nice to have" to "Critical." Submissions are reviewed by the team.
Voting
Upvote any request to signal demand. The vote count is visible on each card and informs prioritization. You can filter by status (Planned, Approved, Launched) to see what's already in progress or completed.
Status
The Status page shows live health for FM Dojo's AI features and the upstream OpenAI services they depend on.
FM Dojo health
The FM Dojo panel shows whether AI features are operational, the last known failure when one exists, and a 24-hour uptime history.
OpenAI upstream status
The OpenAI panel mirrors upstream status, recent incidents, scheduled maintenance, and uptime history so you can tell whether a Chat issue is FM Dojo-specific or upstream.
Refreshing status
The page refreshes automatically every 60 seconds. You can also click Refresh to check again immediately.
Forum
The FM Dojo community forum lives at fmdojo.discourse.group. Use it for product questions, bug reports, feature discussion, FileMaker workflow help, and sharing what you build with FM Dojo.
Forum categories
The forum is organized around the main FM Dojo workflows: Announcements, Questions, Bug Reports, Feature Requests, AI Chat, LiveConnect, Server Management, Deployment, Code / Calculations, and Showcase.
Asking questions
For best results, include the FM Dojo feature you are using, your FileMaker version when relevant, what you expected to happen, and what happened instead. For bugs, include screenshots, error text, or reproduction steps when possible.
FMDojo Plugin
The FMDojo plugin is a FileMaker Pro plugin for macOS and Windows that connects your FileMaker files directly to FMDojo. The Mac build supports Apple Silicon and Intel Macs, and the Windows build supports 64-bit FileMaker Pro on Windows. It replaces the FM Clipboard Helper file — everything it could do, plus more.
Installation
- Download the Mac or Windows plugin from /Code or from the LiveConnect pop-up under /Snapshots.
- On Mac, place FMDojo.fmplugin in your FileMaker Extensions folder:
~/Library/Application Support/FileMaker/Extensions/ - On Windows, install the downloaded FMDojo plug-in files into FileMaker Pro's Extensions folder.
- Restart FileMaker Pro. The plugin loads automatically.
- Confirm it's active: in the Data Viewer, run
FMDojo.Version()— it should return 1.6.9 or newer.
License key
Go to Account Settings → FMDojo Plugin and click Generate key. Your license key is a unique code tied to your FMDojo account. Keep it private — anyone with the key can register a machine against your seat limit.
Individual plans support 2 machines (for example, a MacBook Pro and a Mac Studio). Team plans use your group's seat count. Clicking Regenerate immediately revokes the old key and issues a new one — any machines registered with the old key will need to re-register.
Registering the plugin
Call FMDojo.Register once from your file's OnFirstWindowOpen script trigger:
- email — your FMDojo account email address
- licenseKey — the key from Account Settings
- machineId — use
Get ( PersistentID )— a stable, per-machine identifier built into FileMaker - baseUrl — optional. Leave it out for the live site, or pass your local FMDojo URL during development, for example
"http://localhost:3000".
Pasting XML into FileMaker
Use FMDojo.SetXMLClipboard to load AI-generated FileMaker objects directly onto the clipboard, ready to paste:
- xmlType — the FileMaker clipboard type (see reference below)
- xmlContent — the raw XML text from FMDojo
After running this script step, switch to the target FileMaker window and paste (⌘V). FileMaker reads the clipboard and imports the objects.
XML type reference
The xmlType parameter tells FileMaker what kind of object is on the clipboard:
XMSC— ScriptsXMSS— Script steps (snippet)XMFD— FieldsXMTB— TablesXMLO— Layout objectsXMFN— Custom functions
Pushing snapshots
Use FMDojo.PushSnapshot to send your file's schema to FMDojo automatically from a FileMaker script — no manual export needed.
- Add a Save a Copy As [type: XML] script step to save your file to a known path (e.g.
/tmp/MyFile.xml). - Copy your Plugin Ingest URL from the Snapshots page.
- Call
FMDojo.PushSnapshot( ingestUrl ; xmlPath )immediately after.
- ingestUrl — your Plugin Ingest URL from the Snapshots page
- xmlPath — the full path where you saved the XML file
LiveConnect
LiveConnect is a two-way bridge between your FileMaker file and FM Dojo. Once set up, the AI always has a live view of your schema — tables, fields, scripts, and layouts — and can push changes directly back into your file for review before you commit them.
For more videos go to youtube.com/@fmdojo
Setup
- Install the FMDojo Plugin and register it against your account (see Plugin section above).
- In FM Dojo, open your project and go to LiveConnect. Copy the generated FileMaker script.
- Paste it into your FileMaker file and call it from your OnFirstWindowOpen trigger — or run it manually whenever you want to sync.
That's the full setup. From this point on, the sync triggers automatically each time your file opens.
How it works
- The sync script exports your schema and sends it to FM Dojo in the background — no manual export step.
- FM Dojo keeps a live snapshot that the AI reads before every answer, so it always knows your current table occurrences, field definitions, scripts, and layout structure.
- You can trigger a re-sync at any time by running the LiveConnect script again from FileMaker.
- Each sync is versioned — you can view and restore any previous state from the Snapshots tab.
Pushing changes from the AI
When you ask the AI to create or modify a script, field, or layout object, it can stage those changes directly into your project rather than just returning text. In the AI Chat, ask something like “Add a script that emails the current record” and the AI will propose a staged change instead of a code block.
- Staged scripts are written as proper FileMaker XML — they import cleanly without any manual editing.
- You can view the full diff of every staged change before applying it.
- Approve and deploy from FM Dojo, or discard the change if you don't want it.
Reviewing staged changes
All changes proposed by the AI land in the Staged Changes panel inside your project. Each change shows:
- What was added or modified (script name, field name, layout object)
- A full diff so you can review the exact XML before it goes into your file
- A one-click Deploy button that sends the change to your FileMaker Server via the FM Admin API
Nothing is applied to your file until you explicitly approve it. You are always in control.
Reverting changes
Every LiveConnect sync creates a snapshot. If a deployed change causes a problem, go to the Snapshots tab, find the version before the change, and restore it. The revert is non-destructive — it stages a new change that undoes the previous one, so you can review before applying.
Requirements
- Plan — Ronin or above
- Plugin — FMDojo Plugin installed and registered on each Mac or Windows machine running the sync script
- FileMaker — FileMaker Pro 19 or later; FileMaker Server required for deployments
Teams
For more videos go to youtube.com/@fmdojo
Teams let multiple FM Dojo subscribers share a workspace — pooling tokens, collaborating on projects, and managing access through a single account. Invite members from the Team page.
Inviting members
Enter a team member's email address and send an invitation. They will receive an email with a link to accept. Once accepted, their account is linked to your team and they gain access to shared features and the team's token pool.
Token sharing
All team members draw from a shared token pool. The pool's total size is the sum of each seat's monthly allowance. Usage across the team is visible in the Dashboard so you can see who is consuming tokens and how fast.
Feature gates
Feature access follows the team plan tier. All members inherit the same feature set — there is no per-seat feature configuration. If your team plan includes FMS Admin, LiveConnect, or Server Deploy, every member has access.
Removing members
Remove a member from the Team page at any time. Their account reverts to standalone access and they no longer draw from the shared pool. Any work they created (snapshots, layouts, projects) remains in their account.
Account & Security
For more videos go to youtube.com/@fmdojo
- Email + password or Google OAuth login
- Two-factor authentication (2FA) — set up with any authenticator app (Google Authenticator, Authy, etc.)
- Backup codes — generated during 2FA setup for account recovery
- Session management — view all active sessions across devices and revoke any one
- Password change — update your password from the Account page
All sessions are encrypted and expire automatically. Rate limiting is applied to all API routes.
AI Preferences
Customize how the AI responds from the Account page, under the AI Preferences section:
- AI Chat model — shows the current GPT model used for primary chat responses. AI Chat currently uses GPT-5.5.
- Response Speed — set this from Account → AI Preferences to choose Fast, Balanced, or Thorough for future chat messages. All modes use GPT-5.5.
- Custom Chat instructions — text you add here is injected into every Chat message automatically. Use it to tell the AI about your project, your naming conventions, or how you want it to respond. Set it once and every conversation starts with that context already loaded.
- Response Style — a slider from Precise (lower temperature, more deterministic) to Creative (higher temperature, more varied). The default is 0.70.
- Concise mode — when enabled, the AI gives shorter, more direct answers with less preamble and explanation.
Changes take effect on the next message you send.
Accessibility
FM Dojo includes several features designed to make the interface more comfortable and usable for a wide range of users and preferences.
Text size
Use the A− A A+ controls in the header to increase or decrease text size across the entire interface. Your preference is saved and restored automatically on your next visit. Three steps are available — default, large, and extra-large.
Dark mode
Click the sun/moon icon in the header to switch between light mode, dark mode, and system mode. System mode follows your operating system's appearance setting and switches automatically when your system preference changes.
Color themes
Click the palette icon in the header to choose a color theme. There are 18 themes — Shin, Retro, Corporate, Cupcake, Aqua, Nord, Synthwave, Night, Dracula, Coffee, Halloween, Forest, Valentine, Autumn, Winter, Lemonade, Dim, and Sunset — each changing the accent, button, and link colors across the full app. Themes work in both light and dark mode.
Collapsible sidebar panels
The Chat and Code Editor both have sidebar panels that can be hidden to maximize the main content area. Use the panel toggle icon in the header to show or hide them. This is especially useful on smaller screens or when you want a focused, distraction-free workspace.
Keyboard navigation
The code editor (powered by CodeMirror) is fully keyboard-accessible. Standard keyboard shortcuts apply throughout — see the Code editor shortcuts table in the Tips & Shortcuts section. Tab navigation works across all interactive elements in the app.
Voice dictation
A microphone button in the bottom-right corner of every page lets you dictate into any text field, input, or editor. Click once to start recording, click again to stop — your speech is transcribed by OpenAI Whisper and inserted at the cursor. Your browser will ask for microphone permission the first time; click Allow. Works in all modern browsers on HTTPS.
Reduced motion
FM Dojo respects the prefers-reduced-motion media query. When reduced motion is enabled in your operating system accessibility settings, animated transitions are minimized across the interface.
Semantic structure
Page headings, landmark regions, and ARIA labels are used throughout the app to support screen readers and other assistive technologies. Code blocks in AI responses include descriptive labels and one-click copy buttons accessible via keyboard.
Tips & Shortcuts
Text size
Use the A− A A+ controls in the header to adjust text size across all pages. The setting is remembered between sessions.
Dark mode
Toggle between light, dark, and system theme using the sun/moon icon in the header.
Sidebar panels
The Chat and Code Editor both have collapsible sidebar panels. Use the panel toggle icon in the header to show or hide them.
Code editor shortcuts
| Shortcut | Action |
|---|---|
| Tab | Accept autocomplete suggestion |
| Cmd/Ctrl + F | Find & replace |
| Cmd/Ctrl + Z | Undo |
| Cmd/Ctrl + Shift + Z | Redo |
General tips
- The AI is most helpful when you give it context — paste your code, describe what you're trying to do, and mention the FileMaker version if relevant.
- Upload your snapshots or script PDFs directly into the chat for analysis.
- Use Diagram Chat to quickly scaffold a relationship graph from a plain-English description, then refine it manually.
- Share chat links with colleagues instead of copying and pasting long conversations.