FM Dojo — User Guide

Everything you need to know about FM Dojo's tools and features. New here? Start with the Getting Started guide.

Dashboard

After login, FM Dojo opens on the dashboard so you can see the full toolset before choosing where to work.

Tools grid

The tools grid shows each FM Dojo tool with a short description, including Chat, Code, Diagram, Canvas, Snapshots, Admin, Connectors, Training, Account, and the other main work areas. Use it as the fastest way to jump into a feature when you are not sure which top-navigation menu contains it.

Try it badges

Tools you have not visited yet show a TRY IT badge. The badge clears for that tool as you explore, so the dashboard becomes a quick checklist of what you have already tried.

Activity recap

The activity card shows your real usage stats, including chats sent, snapshots uploaded, deploys run, and tokens used. Empty activity categories stay hidden until you have data, so a new account starts clean.

Global Search

Open global search with Cmd+K, Ctrl+K, or / from anywhere in FM Dojo. Search by feature names or plain-English terms like billing, Snapshot XML, LiveConnect, demo data, server monitoring, or FileMaker automation.

  • Results are grouped by area so tools, integrations, docs, account pages, and support links are easier to scan.
  • Recent searches are remembered locally for faster repeat navigation.
  • The dashboard search button opens the same command palette as the header shortcut.

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 the provider and model you choose in Account → AI Preferences. Pick from current Claude and GPT models, keep legacy models when you need them, and choose Fast, Balanced, or Thorough response speed for future messages.

Provider applies everywhere: The AI provider you set in Account → AI Preferences applies to every chat in FM Dojo — Connectors, FM Deploy, Demo Data, Builder, FM Script assistant, and Design Chat — not just this page.

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.

Build Light — guided complexity

When your account's expertise level is set to beginner or intermediate (in Account → Profile), the AI asks one or two scoping questions before proposing a build-intent solution. This keeps the AI from jumping straight to complex answers before it understands your situation — you stay in control of the direction.

Report an issue

If something in Chat isn't working right, you don't have to leave the page to tell us. A low-profile Report an issue link sits right by the message box — click it, describe what happened, and your report goes straight to the founder, who reads every one. You get an instant confirmation that it was received.

If an AI response ever fails, a prompt also appears offering to send the error details with one click, so the problem is captured with the exact context that caused it.

Tip: Use the sidebar toggle (panel icon in the header) to hide the chat history and get more screen space for your conversation.

AI Skills

AI Skills turns one Claris markdown help page into a focused AI reference. Use it when you want Claude, Cursor, Zed, Continue.dev, or another supported AI tool to answer from the exact Claris page behind a FileMaker function, script step, API call, or guide topic.

Browse the searchable Claris documentation index or paste a Claris help.claris.com/markdown/... URL, and FM Dojo creates a valid skill with generated name and description metadata plus the original Claris reference.

The goal is a faster FM Dojo-native path than installing a separate marketplace plugin: create the connection in FM Dojo, copy one hosted MCP URL, and revoke it later from the same page.

Claris markdown skills

Claris markdown endpoints are documentation source files, not complete AI skill packages by themselves. FM Dojo wraps the source into a hosted skill connection so AI tools can read the right instructions and reference content without you hand-editing frontmatter.

The Browse button opens a searchable modal powered by Claris's published llms-full.txt index. Selecting a result fills the markdown URL field for you.

Hosted skill connections

Each AI Skill connection gives you hosted URLs for the generated SKILL.md and the source reference. The connection stays tied to your FM Dojo account, so you can revoke it later instead of managing loose files.

MCP connector URL

Each connection also includes an MCP URL for tools that support Model Context Protocol. The connector exposes tools to read the generated instructions, read the full source reference, and search the reference for syntax, examples, notes, or related topics. This keeps AI Skills aligned with the broader FM Dojo Connections and AI Data Access ecosystem.

After creating a connection, copy the MCP connector URL into Claude's custom connector settings or another MCP-compatible tool. If a tool cannot use MCP but can read remote instructions, use the hosted SKILL.md or source reference URL instead.

Ask FMDojo

The Ask FMDojo button in the header gives product help without making you leave the page you are working on. Its assistant stays inside the viewport without moving the page underneath it. The lower-right utility toolbar starts closed and can be opened or dragged up and down whenever you need it.

Page-aware help

Ask FMDojo now recognizes the main feature page you are viewing, such as Dashboard, Code, Snapshots, Solution Map, FMS Admin, Server Deploy, Connectors, Projects, Canvas, Builder, AI Data Access, Training, Account, and Getting Started. It uses that page context to answer setup questions and point you to the next step for the current feature. In FMS Admin, Server Agent also receives the active server tab so help starts from the Dashboard, Databases, Clients, Schedules, Logs, Commands, Backups, Alerts, SSL, or History surface you are already using.

In-feature AI Chat

Some setup-heavy tools also show an AI Chat button directly in the feature header. Use that local chat when you want help with the current plan, project, route, authorization, connection, listener, or SVG state. It includes visible workflow context from the page and excludes secrets such as passwords, access tokens, route secrets, and webhook URLs.

Starter prompts

When you open the bubble on an empty conversation, the starter prompts match the current page. On Snapshots, for example, the starters focus on importing XML, analyzing schema, and LiveConnect. On FMS Admin, they focus on connecting a server, reading health, setting up alerts, and using Server Agent for tab-aware help.

Attachments

You can attach screenshots, logs, XML, JSON, CSV, SQL, and other supported files when asking for help. Ask FMDojo combines the attachment with the current page context so troubleshooting starts from the surface you are already using.

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 ---)

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.
  • Calculation parameters — FileMaker calculation functions appear inside calculation-capable step parameters such as value, repetition, condition, object name, result, parameter, URL, file path, and numeric positions. At the top level, autocomplete stays focused on script steps.
  • Deployment-ready steps — autocomplete and the Script Steps panel insert the same FileMaker-style step and parameters. Replace each selected placeholder before staging; malformed or unresolved steps are blocked instead of producing incomplete FileMaker XML.
Tip: Type a few letters — or an acronym like "psos" for "Perform Script on Server" — then press Tab or Enter to accept. Tab through each parameter to fill in options without reaching for the mouse.

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.

The green FM Script pane in HTML/JavaScript Fiddle is a full FM Script editor too. It supports the same autocomplete and Tab stops, and right-click uses the active Snapshot's Fields, Scripts, and Layouts at that pane's cursor.

VS Code-style editing

The editor supports familiar coding affordances for FileMaker work: click a line number to select the entire line, use the fold gutter to collapse If / End If and Loop / End Loop script blocks, and scan colored start/end markers that show where each FileMaker script block begins and closes.

Use Format in FM Script or FM Calc mode to apply conservative FileMaker indentation. FM Script formatting indents nested If and Loop blocks. FM Calc formatting breaks function arguments onto separate lines and indents nested parentheses while preserving strings and comments.

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.

Tip: Ask something like: "Design a schema for a bicycle shop managing inventory, sales, repairs, and customers." The AI will generate FM Schema code with tables, fields, and relationships.

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 searchable right-side support reference, grouped by FileMaker-style function categories.

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 evaluator supports Let, If, Case, arithmetic, comparison, text concatenation, and a growing set of Aggregate, Container, Get, JSON, Logical, Number, Text, and path functions. Unsupported functions or missing field/variable values are shown in red.

If you paste raw JSON 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 a LiveConnect connection or snapshot is active, click From Schema in the Schema Setup panel to generate table DDL from your actual FileMaker schema. A picker lets you search and select which tables to include — FM field types are mapped to SQLite types automatically (Text → TEXT, Number → NUMERIC, Date → DATE, Time → TEXT, Timestamp → DATETIME, Container → BLOB). The generated CREATE TABLE statements are appended to your existing schema code.
  • 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. Click Choose a starter to open the searchable, categorized template picker with charts, tables, dashboards, calendars, maps, and drag-and-drop Web Viewer patterns such as sortable lists, kanban boards, draggable dashboards, resizable canvases, and file drop zones. When a template uses an external library, the toolbar shows a Library info link for its documentation. 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, and YAML. 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

Build Light — complexity guardrails

The FM Script editor and calculation editor watch for complexity signals as you work. When a script exceeds 50, 80, or 110+ steps, or when a calculation shows deep nesting, more than five Let() variables, an ExecuteSQL call, or exceeds 40 lines, a toast appears with a plain-English note about the complexity — calibrated to your expertise level. Click Show me an alternative on any toast to open a streaming AI rewrite panel that proposes a simpler approach with an explanation. For script rewrites, Open in new snippet lets you compare side by side without replacing your work. Dismiss any threshold permanently with It needs to be this way — that threshold won't fire again for the session.

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.

Tip: The info button next to the language selector shows all features available for the selected language — hover to see them.

XML Tools

FM Dojo includes two XML tools for working with FileMaker clipboard data.

For more videos go to youtube.com/@fmdojo

XML Export
Generate FileMaker XML from the code editor and paste it directly into FileMaker Pro. Supported types: scripts, calculations, tables, fields, and table occurrences. Relationships cannot be pasted via clipboard yet — they must be created manually in FileMaker for now.
Get XML
Copy FileMaker XML from the clipboard (scripts, custom functions, schema) and paste it into the code editor. FM Dojo converts it to readable plain text.

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

Copy from FileMaker → FMDojo
Use this to bring existing FileMaker content into FMDojo for editing or documentation.
  1. 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).
  2. Without clicking anywhere else, run the Copy from FM script.
  3. The clipboard now contains plain XML. Switch to FMDojo and paste it into the code editor.
Paste to FileMaker ← FMDojo
Use this to bring FMDojo-generated XML back into FileMaker.
  1. In FMDojo, click Copy as FileMaker XML on the content you want to import.
  2. 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.
  3. Switch to FileMaker (Script Workspace, field definitions, layout, etc.) and paste with ⌘V / Ctrl+V.
Tip: The scripts detect the content type automatically — script steps, complete scripts, fields, tables, layout objects, custom functions, and value lists are all supported. You don't need to tell them what you're pasting.

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. The current Mac FMDojo plugin supports macOS Tahoe for this workflow. Two helpers are available from the info button in the editor toolbar:

  • FMDojo clipboard scriptsCopy 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

  1. Download FMDojoClipboard.applescript from the info button in the editor toolbar.
  2. Open it in Script Editor (search for Script Editor in Spotlight, or find it in Applications → Utilities).
  3. 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).
  4. 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.

Tip: If the canvas already has content you will be asked whether to replace it before importing.

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_.

Tip: Try something like: "I have a bicycle shop. I need an app to manage inventory, sales, repairs, parts, and customers."

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)

Solution Map

Solution Map is the architecture explorer and change-planning workspace for an imported FileMaker solution. It starts with the complete relationship graph so you can understand what exists and focus one area without changing the editable Diagram or the FileMaker file.

Open it from ERD → Solution Map, from the Solution Map button in Diagram, or from a Snapshot's Diagram view. The Snapshot handoff keeps the exact selected version.

Choose a Snapshot version

Use the compact solution/version selector to load a saved Snapshot. Labels use the FileMaker filename followed by its version, and the selected Snapshot ID stays in the URL so a reload returns to the same solution.

Tip: Older Snapshots are available for viewing only. Upload a new Save As XML Snapshot in Snapshots when you want to plan changes.

Explore the whole solution

The opening view shows every exported table occurrence and relationship. Pan and zoom freely, use Fit to restore the overview, or use Expand when you want the graph to fill the available screen. Open Legend to read the colors, solid relationship lines, dashed same-table links, unreferenced rings, and selection outlines. Hide the unified search-and-actions toolbar or the right details panel for a map-only view; the remaining Controls and Details buttons restore them.

Focus a table occurrence

Search highlights every matching table occurrence at once. Choose one result or click a node to smoothly frame that occurrence and its visible connections. Unrelated objects remain faintly visible so you keep the surrounding architecture instead of losing the full-solution context.

Read relationship evidence

Hover or select a relationship to see both table occurrences, the exact qualified match fields, operator, and relationship options. Parallel connections remain separate and numbered. When the same two table occurrences are connected more than once, compare the definitions to see whether they are exact redundant copies or intentionally use different predicates or options.

Details and investigations

Select a table occurrence and click Details to open one bounded drill-down modal. Use Back inside that modal to move among:

  • Connections — exact fields, operators, options, self-joins, and parallel relationships
  • Fields — physical field type, storage or calculation type, indexing, and trace actions
  • Impact — layouts, portals, scripts, calculations, relationships, and context routes that reference the occurrence
  • Findings — exported warnings and similarity signals with direct relationship inspection
  • Table family — every contextual occurrence of the physical table and its similarity candidates
  • Story & history — why the occurrence exists, its current usage, and the XML change marker
  • Investigate on graph — relationship depth, paths, diagnostic lenses, field tracing, and saved views

Plan table occurrence names

Choose Plan changes to create a draft table-occurrence naming plan. FMDojo does not recommend or preselect a convention. Choose a preset, a pattern detected from the selected Snapshot, a custom template, or manual mapping; then supply required roles, override individual names, or exclude occurrences.

Use the review filters to isolate renamed, unchanged, conflicting, unresolved, excluded, or overridden occurrences. Expand a row to inspect the saved revision's relationship, layout, field, script, value-list, dynamic-text, and manual-review impact. Saving appends an immutable draft revision bound to the exact Snapshot details.

After saving, switch the graph among Current, Proposed, and Compare. Preview changes only the displayed labels: graph positions, relationship edges, base-table identity, Diagram data, and the FileMaker file remain unchanged.

Tip: Older Snapshots are for viewing only. If Plan changes asks for a new Snapshot, its upload action opens the Snapshot uploader and brings you back to the newly imported map. Draft planning is not approval or execution; Accepted review and governed send-back remain separate locked stages.

Duplicates and history

The right-side summary lists visible connecting fields and possible duplicate relationships or similar table occurrences. Treat these as cleanup evidence, not an automatic delete recommendation: different predicates, options, contexts, or scripts may make similar objects intentional.

Story & history reports the modification timestamp, count, editor, account, and XML UUID exported by FileMaker when those markers exist. One XML file is not a full audit trail. A real timeline requires multiple Snapshot versions with matching database identity.

Canvas

For more videos go to youtube.com/@fmdojo

Tip: Canvas is designed for desktop and iPad. It is not available on mobile phones.

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.

Searching elements and templates

Type in the search box at the top of the left panel to filter element types and templates by name. Matching categories expand automatically; non-matches hide. Click the clear button to reset and see everything again.

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 Canvas'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.

Workflow intake and evidence

Click Workflow in the Canvas toolbar before AI generation or review when the layout work needs planning context. Capture the layout goal, target layout, user roles, record context, objects, fields, scripts, desired output, ticket or work-order, DMT/FMDMT expectation, active-user state, downtime window, rollback plan, approval owner, and SOX or audit evidence notes. Saving evidence stores the workflow with the saved layout so the context reloads later for support, review, and audit follow-up.

Tip: Start with a Figma import to automatically set your brand colors, then add and style your objects — the XML export will match your design system.

Canvas Chat

Click Canvas 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
Tip: Press Cmd+Enter (Mac) or Ctrl+Enter (Windows) in the prompt box to generate without clicking the button.

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.

Use AI Chat in the SVG Designer header when you want help improving the current SVG, preparing it for FileMaker, or rewriting the prompt. The local chat sees the editor state, prompt length, reference mode, history count, prep status, and generation errors without sending uploaded image data unless you explicitly ask it to inspect an image.

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.

Tip: Always use Prep for FileMaker when placing icons on buttons. Without it, the icon stays a fixed color and won't respond to hover or pressed states.

Add-on Generator

Generate a complete, ready-to-install FileMaker add-on from a plain-English description. This tool is available on Ronin or higher individual plans.

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_en using 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.

Tip: Be specific in your description: name the records the add-on manages, what actions it performs, and how users will interact with it. The more detail you give, the more accurate the output.

Demo Data Generator

Describe any FileMaker data model in plain English and download realistic CSV data for testing or demos. This tool is available on Ronin or higher individual plans.

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.

Tip: The more detail you give, the better the result. Mention field types, US vs. international data, and relationships between tables — for example: “customers linked to orders, orders linked to invoices with an invoice number and due date.”

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.

Tip: Use the S / M / L size selector before exporting — the size is baked into the generated image data.

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.

Tip: The File → Base64 mode is useful for embedding images, PDFs, or other files into a FileMaker script without needing a server upload.

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.
Tip: The XML export captures tables, fields, table occurrences, relationships, layouts, scripts, and value lists — the full schema.
Tip: Use FileMaker's Save a Copy As XML output. Database Design Report (DDR) HTML/XML exports are not accepted as Snapshot uploads.

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.
Tip: The combined snapshot's filename shows the first file name plus a count of the others (e.g. KLS.fmp12 +2 more).

OttoFMS snapshots

If your server already runs OttoFMS, FM Dojo can ask OttoFMS to create a Save as XML export and save it as a Snapshot. Open Connections, add your OttoFMS server and API key, then select the FileMaker files you want to track.

  • On the Snapshots page, click OttoFMS to sync a tracked file on demand.
  • Each sync creates a new Snapshot version, makes it active, and commits it to GitHub if snapshot auto-push is configured.
  • You can also set hourly, daily, or weekly auto-sync from the OttoFMS connection settings.
Tip: OttoFMS Save as XML requires a FileMaker file account with Full Access privileges. Admin API or PKI credentials can list databases, but they are not enough for the XML export.

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 FileMaker Server 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.
Tip: Requires the BaseElements plugin installed on FileMaker Server (server-side, not just desktop). Keep your API key secret — anyone with it can push snapshots to your account.

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. Name a script in Chat, or select it before opening Schema Chat, and FM Dojo also supplies every parsed step of that script for logic review. Other script bodies stay unloaded until relevant so large solutions do not crowd the model context. You can switch between a live database connection and a Snapshot at any time; activating one deactivates the other.

An active Snapshot attached to a Project is also the editable Project source. Open it to add tables or fields, edit scripts and custom functions, or update custom value lists; FM Dojo stages those changes for review before deployment. Inactive historical versions remain read-only.

Notes across versions

Open a script, layout, field, calculation, or table occurrence in any Snapshot version and expand Notes to record context that FileMaker cannot store on that object. For a field, open its base table and use the Notes control in that field’s row. You can also open table-occurrence notes directly from its Diagram node. Notes belong to the FileMaker database and your account, so they remain available when you upload or sync a newer Snapshot version of the same file. You can add multiple notes, edit them, or remove notes after confirmation.

Open the Snapshot workspace’s Notes tab to review every note for that database across all Snapshot versions. Notes for objects absent from the selected version remain reviewable but cannot open that object until it returns. Each note shows the responsible FM Dojo account and source Snapshot. Search note text, objects, or account names and email addresses; filter the list; open an available object; or export the currently visible notes with account attribution as CSV for spreadsheets, PDF for a paginated review document, or Markdown for documentation workflows.

Before deleting a Snapshot or revoking a matching Database Authorization, FM Dojo checks for database notes and offers CSV, PDF, and Markdown exports. The notes remain stored independently, but the export preserves a reviewable copy if neither access path remains.

Tip: Use notes for intent, review findings, migration context, or follow-up work. They are private to your FMDojo account and do not modify the FileMaker file.

Script editing

Snapshot script editing uses the same FM Script autocomplete as the Code Editor. Autocomplete suggests FileMaker script steps at the top level, then shows FileMaker calculation functions only when your cursor is inside a calculation-capable script-step parameter such as value, repetition, condition, object name, result, parameter, URL, file path, or numeric positions.

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.
Tip: Set up GitHub integration on the Connections page — you'll need a Personal Access Token with repo scope.

Schema Audit

Click View on any version row, then click Analyze in the header to open a side-by-side audit panel. The audit scores your database against FileMaker best practices and flags issues with plain-English details and actionable next steps.

  • Health score — overall percentage of checks that pass, shown in the Analyze header.
  • Best Practices checklist — checks across schema design, script safety, naming consistency, similarity, and reference integrity. Click any failing or warning check to expand it and see every affected item. Expanding a check reveals a Get help with this button that routes the full issue to Schema Chat for a targeted fix recommendation.
  • Similarity checks — the Snapshot audit infers likely field intent from names, formulas, and setup, including boolean-style fields such as Active or IsActive that use conflicting data types. It also finds scripts with nearly matching enabled steps and parameters and custom functions with similar names, parameters, or formulas. Each pair includes a confidence score and why it matched; review the pair before consolidating because similarity can be intentional.
  • Schema design checks — primary keys, audit trail fields, anchor TOs, orphaned TOs, cartesian joins, tables over 200 fields, repeating fields, global field count, and table/field/TO naming convention consistency.
  • Relationship integrity checks — join fields that don't exist in their base table, unindexed or unstored match fields (the most common FileMaker performance trap), duplicate relationships between the same TO pair, and Go to Related Record steps targeting a TO that no longer exists.
  • Script safety checks — error capture coverage, empty scripts, scripts over 100 steps, scripts with mostly disabled steps, data-modifying scripts without Allow User Abort Off (partial-state risk if the user presses Escape mid-run), recursive scripts, and long scripts with no comment steps.
  • Reference integrity checks — Perform Script and Go to Layout steps that reference scripts or layouts not in this file (deduplicated by target, with a count of how many scripts call it), layout script triggers that reference missing scripts, and field-based value lists whose source table or field no longer exists.
  • Value list checks — value lists not used in any field validation, field validations against value lists that don't exist, and custom value lists with case-insensitive duplicate entries.
  • Field checks — calculated fields with no stored formula, fields with unique validation but no index (FileMaker must scan every record on each commit), and uniqueness validation without an All index.
  • Action Plan — click Action Plan in the Analyze panel to see a prioritized fix list for all failing and warning checks, with numbered steps grouped by severity.
  • Schema Chat — the Schema Chat panel opens alongside the audit. Ask questions about any finding, request fix recommendations, or paste in a specific check result for targeted advice.
  • Share — click Share to generate a public read-only link to the full audit. Anyone with the link can view the results — no login required.

Deploy history

Every script change pushed through LiveConnect is preserved in the Deploy History panel on the Snapshots page — deployed changes are no longer deleted after delivery.

  • Click Diff on any deployed change to open a unified before/after diff of the exact script steps that were pushed.
  • Click Revert to stage an undo. The original script steps are saved at push time, so a revert is always available. The revert queues as a new staged change so you can review it before applying.
  • If a Snapshot update push fails, the staged change remains in review. Retry the push after fixing the issue; FM Dojo removes it only after the update succeeds.

Ticket-aware version history

Snapshot versions can carry change context for support, review, and audit records. Enterprise-entitled accounts can add ticket, work order, compliance scope, and change reason details when the version represents a FileMaker change you may need to explain later. Snapshot governance metadata requires a separately provisioned Enterprise grant; choosing the Enterprise organization profile is not enough.

  • Search object-level changes across scripts, layouts, tables, fields, relationships, value lists, and custom functions.
  • Export version-history evidence for support tickets, change review, and audit records.

Versioning

For more videos go to youtube.com/@fmdojo

Versioning brings a real software-team workflow to FileMaker: keep versions of your solution, see exactly what changed in plain language, get technical sign-off on the schema diff, trace the history of every object, and generate documentation that keeps itself current. Everything starts with the Snapshots you already capture. A single developer can keep using that workflow without repository setup; a team can connect its Project to GitHub or GitLab for shared working copies, review, and release control.

Versions

Each upload (or LiveConnect sync) 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 View to browse the full schema: tables & fields, TOs & relationships, layouts, scripts, and value lists.

Compare versions

Open a file, open a version's Actions menu, and choose Compare versions. Pick a base and a compare version. The Readable view describes every change in plain English instead of raw XML — for example “Field Contacts::Age — data type changed from Number to Text”, “New table Invoices (2 fields)”, or “Relationship Contacts_Invoices — 1 match criterion added”. It covers tables, fields, table occurrences, relationships, layouts, scripts, value lists, and custom functions, down to the property level (data type, calculation, auto-enter, validation, script steps, relationship predicates). Renames are shown as renames, not as a delete plus an add. Switch to the By type view for the classic added/removed/modified list grouped by object type.

Reviews

From a comparison, click Request review. This creates a Draft; it has not been sent to anyone yet. On the draft, enter the reviewer's email under Send for approval and click Send request. The review then appears as Waiting for approval. Approval links expire after seven days; an undecided review then shows Approval expired and can be sent again.

  • Comment on any individual change — start a thread on exactly the field, script, or relationship in question.
  • Request approval by email — the invited reviewer opens a private, expiring link and either approves or requests changes.
  • The requester cannot approve their own review. A reviewer's decision is timestamped and locked as audit evidence.
  • Export a sign-off packet — a clean, printable PDF of the changes and the decision that a reviewer or client can put their name on.

If the reviewer chooses Request changes, upload or sync a corrected snapshot. Open its Actions menu, choose Compare versions, compare the previously reviewed version with the corrected version, and repeat Request review → Send request. The locked review also provides Create follow-up: when a newer version exists it opens that comparison automatically; otherwise it returns to the correct file beside Upload new version.

A Snapshot review is technical sign-off on the exact schema diff; it does not authorize a production deployment. After approval, open the Project that owns the work, confirm the reviewed Snapshot is its current source, and continue from the Project's Deploy tab. The Project's saved procedure decides whether the reviewer may deploy or a separate Enterprise approver must authorize the exact deployment.

Reviews are visible to everyone on your team, so a change can be proposed by one developer and approved by another. Reach all your reviews from the Reviews link in the Snapshots sidebar.

Team development

Create a Team Project for the FileMaker solution, choose its GitHub or GitLab repository, and open the Project's Development tab. The current approved Snapshot is the main FileMaker Version. Each developer starts a separate Working Copy from that Version and continues working in a separate .fmp12 file.

  • Sync a meaningful FileMaker checkpoint to create a timestamped Version and mirror that Working Copy to its repository branch.
  • Use Compare before review. If the main Version moved, use Combine and make an explicit choice for every FileMaker conflict.
  • Request a Review. FM Dojo links the exact reviewed Version to a GitHub pull request or GitLab merge request and will not merge a changed head under an older approval.
  • After approval, combine into the main Version, stage that exact repository commit in FM Deploy, and keep the pre-deploy backup as the verified rollback point.
Tip: FM Dojo records who performed each Project setup, sync, review, combine, deploy, and rollback action and when it happened in the established Version, Review, deployment, and Team Audit records. Git terminology is available for traceability, but the day-to-day workflow stays in FileMaker terms.

History

Click History to see a timeline for every object across all of a file's versions — when a table, field, script, or relationship was added, when it changed, what specifically changed, and when it was removed. This is how you answer “who changed this, and when?”

Documentation

Open a version's Actions menu and choose Documentation to generate clear, always-current documentation from the captured schema. It includes a visual schema diagram, the complete data model and field settings, table occurrences, every relationship, layouts, every script step including disabled steps, value lists, and custom functions. Click Explain with AI to add a labeled plain-language “how this solution works” overview. The Download menu exports the complete document as a direct PDF or Markdown file, and every section has its own PDF and Markdown downloads.

Rolling back

Versions are a read-only record of your schema, so comparing or reviewing a version never changes your live file. To actually roll a solution back, use the deployment safety net: FM Deploy takes a backup before every push and lets you revert to the pre-deploy backup, and Restore Backup can restore a server-managed backup. Reverting a solution to a specific snapshot version is on the roadmap.

Admin

For more videos go to youtube.com/@fmdojo

Open Server → 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 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. If FileMaker Server reports that its license has expired, or SSL is not working yet, FM Dojo still saves the server so you can keep the record, add remote access, and return after the license or certificate is fixed. The dashboard shows a limited setup panel until the Admin API is available again. Admin credentials are encrypted at rest (AES-256) and never returned to the browser after saving.

Tip: If your server is hosted on AWS, Google Cloud, Linode, or Azure, connect a cloud account from Connections first. FM Dojo can then auto-detect your server's IP and pre-fill SSH access — no manual host entry needed.

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:

  1. 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/
    Run python3 fmadminapi_pki_token_example.py and follow the prompts — enter a key pair name, optional passphrase, expiration time, and token name. The script creates a <token-name>.txt file.
  2. 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.
  3. Paste the token into FM Dojo. Open <token-name>.txt and paste its full contents into the PKI Token field. Tokens expire — regenerate with the same script when authentication fails.

What you can do in 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:

RadFM-provisioned Apprentice hosting servers appear here automatically after provisioning completes. Open Server → Admin, select the RadFM hosted server, and use the Overview, Logs, Backups, Commands, Alerts, and SSL tabs from the same place as manually added servers.

  • Run multi-server actions beta — the All Servers view runs preflight first, then lets you execute a command, run the FileMaker Server updater, or install Let's Encrypt certificates across eligible Linux servers and review per-server output.
  • Ask Server Agent for tab-aware help — open Agent from any server tab and ask what to do next. Agent uses the active FM Dojo tab first, reads live context where available, and proposes approved actions inside FM Dojo instead of sending you to FileMaker Server Admin Console.
  • 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.
  • Turn server APIs on and off — the Configuration tab has switches for the Data API, WebDirect, and OData. Each row shows whether the service is On or Off, and flipping a switch enables or disables it on the server through the Admin API.
  • Run, manage, create, and edit schedules — the Schedules tab lists all server-side schedules. Enable, disable, trigger a run on demand, create a new schedule, or edit an existing schedule — backup, FileMaker Script, System Script, or Verify — without opening FM Admin Console. Backup schedules can target all databases, a database folder, or one database; choose the backup folder, retained-copy count, verification and clone settings; and run once, daily, weekly on selected days, or every N days.
  • 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).
  • Manage backups — the Backups tab lists server-managed FileMaker backups and, for Google Cloud-linked servers, Container (S3-type) backups stored in Google Cloud Storage.
  • Get alerted when something goes wrong — the Alerts tab lets you set up automated checks with Discord, Slack, or Connection-based recovery notifications.

Multi-server actions beta

Open All servers in Admin to run fleet actions across more than one server at a time. Choose Execute command, FileMaker Server update, or Let's Encrypt SSL, run preflight, then select eligible targets from the results table.

Execute command runs a command across the selected servers and captures each server's exit code and output. Use the command picker — the same categorized fmsadmin command list from the single-server Commands tab — to click a command instead of typing it. Switch to Shell mode to hide the picker and send a raw shell command instead. FileMaker Server update reuses the existing single-server updater workflow: FM Dojo detects the target platform, lists supported same-version update, incremental update, and major-version upgrade installers from the software catalog, runs the selected installer commands unless an override URL is provided, and logs each server's output. Let's Encrypt SSL provisions DNS-validated certificates across selected Linux servers, imports each certificate into FileMaker Server, then either warns users and restarts now or schedules the restart and status check for the off-hours time you choose.

Enterprise-entitled accounts also capture the downtime window, active-user check, DMT/FMDMT expectation, rollback plan, approval context, and optional audit evidence note before a fleet maintenance run. FM Dojo stores those fields with the run history so support, SOX, and change-review records explain why the operation was safe to execute.

Server health observations

The Overview tab runs rule-based checks against live server data and flags real problems in plain English — high disk or memory pressure, slow load average, SSL certificate expiry, PSOS disabled, recent restarts, large open file counts, and more. Each observation includes a plain-English explanation of the FileMaker impact so you know why it matters, not just what triggered it. Click Chat with AI on the observations card to open Server Agent with the flagged issues and the active tab already loaded — no re-typing required.

Live monitoring

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.

Server monitoring charts support a timeframe chooser — select 1 hour, 24 hours, 7 days, 30 days, or 90 days. Labels switch automatically between time-of-day format for intra-day ranges and date format for multi-day ranges.

The Component Health panel shows database server, Admin API, FMSE, WebDirect, Data API, OData, XDBC, and progressive backup checks from the monitoring history. FM Dojo collects these checks in the background even when the dashboard is closed, keeps up to 90 days of history, and reloads the timeline when you switch servers.

Database multi-select and bulk actions

Hover any database row in the Files tab to reveal a checkbox. Select one or more databases and a floating action bar appears with available bulk operations. Bulk remove handles the full fallback flow: if FM Server cannot remove a file, you are offered the option to delete it from disk instead — a confirmation dialog makes clear the action is permanent and cannot be undone. Single-file removes follow the same fallback path.

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.

Tip: Keep your log selection focused — load only the files relevant to the issue you're investigating. A tighter log set gives the AI a sharper context and uses fewer tokens.

Connecting over SSH (Linux / macOS)

Open the server in Admin and click SSH. Enter your SSH host, port (default 22), and username, then click Generate SSH Key. Copy the generated public key and paste it as one full line in ~/.ssh/authorized_keys for that SSH user. Click Save & Test — FM Dojo connects, auto-detects the FileMaker log directory, and saves the config.

Tip: Use a dedicated SSH user. On Linux, add it to the 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 Admin — you can copy them from there. The short version:

  1. 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.)
  2. Optionally create a dedicated Windows account: net user fmdojo YourPassword /add then net localgroup administrators fmdojo /add.
  3. In 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, 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.

Tip: The EC2 instance must have the SSM Agent running (pre-installed on Amazon Linux 2, Ubuntu 16.04+, Windows Server 2008+) and an IAM instance role with 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 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.
  • Network security — fires on failed SSH logins, invalid users, and firewall blocks. Requires SSH log access.

Network security alerts use the same Slack, Discord, Connection, cooldown, and alert history controls as other server alerts.

Server uptime alerts

Use Server Uptime to send a down alert when the Admin Console becomes unreachable and a recovery alert when it comes back. Each event can trigger up to two saved connections, so one outage can notify two different people or channels. Uptime connection selections save as soon as you pick them.

Component response monitors

Use Component Response Monitors when you want to know which FileMaker Server service stopped responding, not just whether the host is reachable. Available components include Database Server, Admin Server, FileMaker Script Engine, Web Publishing Engine, XDBC Listener, Data API, OData API Listener, and Progressive Backup.

Component alerts can be linked to a Server Alert Connection. The alert payload includes the server, alert type, failed component, detail message, and timestamp. A recovery Connection can send a Slack or Discord message with response choices: do nothing, restart, or just log. FM Dojo only runs the restart after an admin chooses restart, and response links are single-use for that alert run.

Set your Discord or Slack webhook URL, enable the toggle, and click Send test to confirm delivery. To route alerts through Connections, choose a saved Server Alert connection in the Alerts tab. The cooldown (default 60 minutes) prevents the same alert from firing repeatedly until the condition clears.

Tip: To get a Discord webhook URL: server settings → Integrations → Webhooks → New Webhook → Copy Webhook URL. For Slack: add the Incoming Webhooks app and copy the URL it generates.

Server engine monitoring

The Alerts tab can also monitor individual FileMaker Server components, including Database Server, Admin Server / Admin API, FileMaker Script Engine (FMSE), Web Publishing Engine / WebDirect, XDBC Listener, FileMaker Data API Engine, Progressive Backup, and OData API Listener.

When a selected component stops responding, FM Dojo records a component alert and sends the same Slack, Discord, and Connection notifications used by other server alerts. When the component responds again, FM Dojo records a recovery alert so the alert history shows both the outage and the return to normal.

To automate recovery, create a connection with the Server Alert trigger, choose it in the server's Alerts tab, and add an optional Restart server component step. Alert-triggered connections receive {{trigger.alertType}}, {{trigger.componentId}}, {{trigger.componentLabel}}, {{trigger.detail}}, and {{trigger.serverLabel}}.

Tip: Restart actions run fixed fmsadmin restart commands through the server's saved SSH, SSM, or WinRM path. Use them for known-safe recovery steps, and keep Connection notifications enabled so failed restart attempts are visible.

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.
  • Network security events — scans authentication and firewall logs for failed SSH logins, invalid users, and blocked connection attempts.
Tip: Watchdogs share the same cooldown and notification settings as the other alerts. OOM and disk error watchdogs require SSH to a Linux server — they do not work on Windows or with WinRM only.

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.).

Tip: The private key is generated and stored on the FM Server — it is never transmitted to FM Dojo or any other server.

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. When FM Dojo controls the restart through the server execution path, connected clients receive a 1-minute save warning before they are disconnected.

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. For Cloudflare, create a scoped API token at Cloudflare API Tokens with Zone:DNS:Edit for the domain zone. For DigitalOcean, create a personal access token at DigitalOcean API Tokens with write scope. 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, verifies the expected certificate files, and imports the resulting certificate — live progress streams back as it runs. Choose whether FM Dojo restarts FileMaker Server immediately after a 1-minute client warning or schedules the restart for an off-hours time. After the restart path runs, FM Dojo checks that FileMaker Server responds again. Linux only; requires SSH access configured for the server.

Auto-renewal is set up automatically via a cron job. When the certificate renews, FM Server restarts automatically again with the same 1-minute client warning — no manual steps required.

Server Agent & VPN beta

FMDojo's supported path for a FileMaker Server inside a government, education, healthcare, or enterprise network is the Server Agent. It is an outbound application connection, not a general-purpose VPN. The agent runs directly on the FileMaker Server, reaches FMDojo over HTTPS, and lets authorized FMDojo workflows use local FileMaker services without publishing an inbound management port.

Tip: Start with the Server Agent downloads to get the matching app or optional script. For a new server, open Add Server to generate the token before installing; for an existing agent, use its recovery panel and paste the replacement token when prompted.

Multiple FMDojo administrators: install and pair the agent once on the FileMaker Server. The server owner can then open the server's Access control and grant another FMDojo account administrator access, optionally with an expiry date. The invited administrator signs in with their own account and sees the same server; they should not generate another pairing token or reinstall the agent. The owner can revoke access at any time, and each grant or revocation is recorded in the server action history. Enterprise team servers continue to inherit access from Team members and groups.

Government and enterprise network summary
  • Inbound exposure: none is required for the Server Agent. Do not publish FileMaker Admin API, SSH, WinRM, or an operating-system management port for this path.
  • Outbound access: allow HTTPS to the organization-approved FMDojo hostname on TCP 443, including the short-lived signed download location used during install and update.
  • Installation location: directly on each FileMaker Server. A web server, jump host, administrator workstation, or neighboring LAN machine is not a supported substitute because the current diagnostics use local FileMaker tools, logs, and system metrics.
  • Network reach: the agent is pinned to its configured local FileMaker origin. It does not expose a shell, route arbitrary traffic, bridge networks, or give FMDojo access to other internal hosts.
  • Availability: the operating system starts the agent as a service or startup task. It polls, reports health, and reconnects after restarts or temporary network loss.
  • Capability boundary: the agent tunnels the FileMaker Admin API, Data API, OData, and read-only WebDirect checks to its configured FileMaker origin. Its local host operations are limited to Doctor, server status, lists of files, clients, and schedules, disk and system metrics, and a bounded Event.log tail. Backup file operations, deploys, migrations, and arbitrary fmsadmin commands require a separately approved SSH or WinRM path. Interactive terminal sessions and browser-to-server file transfer require a separately approved SSH or WinRM path.
Architecture and data flow

Authorized FMDojo user → governed FMDojo workflow → encrypted work queue → outbound HTTPS → Server Agent → local FileMaker Server → bounded result → audit history

  1. An authenticated user selects an exact server and an FMDojo action. Existing team permissions and any required confirmation or approval are checked before work is queued.
  2. The paired agent asks FMDojo for work over outbound HTTPS. FMDojo does not initiate an inbound session to the customer network.
  3. The agent accepts only supported, typed jobs for its own server identity. It reaches FileMaker Server through its configured local origin and uses local tools only for governed workflows.
  4. Results return in bounded encrypted envelopes and are attached to the exact server, agent, job, and user action. A heartbeat or queue receipt is not treated as proof that an operation succeeded.
  5. The browser's live work connection is leased only while the server workspace is open and expires automatically if the browser disappears. The installed agent itself remains available for approved background work.
Security controls
  • Bootstrap: pairing uses a cryptographically random, single-use token with at least 256 bits of entropy and a 10-minute expiry. The token is entered at a hidden prompt and is never included in the copied command, environment variables, shell history, or process arguments.
  • Software integrity: the installer selects the operating-system build, downloads it over HTTPS, and verifies its published SHA-256 digest before execution. A mismatch stops before the existing agent is changed.
  • Agent identity: pairing credentials are stored in an administrator-protected operating-system location. Revoking an installation in FMDojo prevents that identity from receiving more work.
  • Credential handling: FileMaker Admin API credentials are encrypted at rest. They are not returned to the browser after saving and are not embedded in installer commands.
  • Authorization: the agent does not create a separate authorization bypass. FMDojo applies the same user, team, server, approval, and confirmation boundaries used by the corresponding Admin, deploy, migration, backup, and command workflow.
  • Replay and result binding: work and completion evidence are bound to the exact tenant, server, agent, job, actor, and operation. Stale, duplicate, mismatched, or unverifiable results fail closed.
  • Auditability: governed server actions retain the actor, target server, action, time, and outcome in FMDojo history. Organizations should align FMDojo retention and account lifecycle with their own records schedule and incident-response policy.
Ports, firewall policy, and proxies

The Server Agent requires outbound HTTPS on TCP 443 and normal DNS resolution for the approved FMDojo hostname. Stateful firewalls must permit the response traffic for those outbound connections. No inbound firewall rule is required by the agent.

FileMaker client and publishing ports remain separate from FMDojo management. Keep only the FileMaker services your organization actually uses open to their approved source networks. If egress is allowlisted by hostname, include the FMDojo application hostname and validate the signed binary-download redirect during a controlled installation test.

Tip: Do not assume an authenticated outbound proxy is supported without a validation test in your environment. Provide the proxy, TLS inspection, DNS, and certificate-chain requirements to FMDojo during security review before rollout.
Installation, updates, recovery, and removal
  1. In Server → Admin, select + Add Server → Server Agent, enter the FileMaker Admin API credentials once, and generate the pairing token.
  2. Choose macOS, Linux, or Windows. Run the displayed command with administrator rights directly on the FileMaker Server, then enter the token at the hidden prompt.
  3. Confirm the server appears once, the agent is online, and Doctor can identify the local FileMaker installation. Exercise a read-only dashboard workflow before approving operational use.
  4. For an existing agent, open its Server Agent panel and expand Update an existing Server Agent. The update command verifies the current release, preserves the pairing and server record, restarts the service, and refuses to act when no existing pairing is present. It does not create a duplicate server record.
  5. After an operating-system restart or brief outage, allow the startup service to reconnect and verify its latest heartbeat. Do not create another server record to repair a transient disconnect.
  6. To decommission access, revoke the exact agent installation in FMDojo, uninstall the local service, and remove its local pairing only when the server is permanently leaving management.
VPN requirements and alternatives

The Server Agent does not create a VPN, and FMDojo does not join its shared application infrastructure to a customer network. Most organizations do not need a VPN for FMDojo management when outbound HTTPS is permitted.

If policy mandates a site-to-site IPsec tunnel, client VPN, private overlay, reverse tunnel, or cloud management channel, treat it as a separate customer network-control project. Define the exact destination IPs and ports, isolate each customer route, prevent overlapping address spaces from bridging tenants, apply least-privilege firewall policy, and document ownership for certificates, MFA, key rotation, monitoring, and emergency revocation. Do not route broad customer subnets to shared FMDojo infrastructure.

FMDojo can separately use supported cloud management paths such as AWS Systems Manager where configured. Those paths do not replace Server Agent pairing for the complete outbound FileMaker workflow, and no VPN capability should be assumed until it is explicitly scoped, deployed, and acceptance-tested for that organization.

Security review and acceptance checklist
  • Record the exact FileMaker Server host, operating system, environment, owner, and FMDojo organization.
  • Approve outbound DNS and TCP 443 destinations; confirm no inbound management rule was added.
  • Verify download SHA-256 enforcement and retain the installed agent version in the change record.
  • Use a dedicated FileMaker administrator account with the minimum privileges required by the approved workflows; define credential rotation and revocation owners.
  • Confirm team membership, MFA/SSO policy, approver roles, separation of duties, and offboarding procedure in FMDojo.
  • Test pairing, read-only health, a planned approved operation, audit evidence, temporary egress loss, operating-system restart, agent reconnect, update, and revocation.
  • Document log retention, incident escalation, maintenance windows, rollback responsibility, and the process for reporting a suspected compromised host or agent identity.

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 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.

Tip: SSH access is required to use the Backups tab. See Connecting over SSH or Connecting over WinRM in the Admin section above.

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.

Container backups

On Google Cloud-linked servers, switch the Backups tab to Container (S3-type) to browse backups stored in Google Cloud Storage. Enter the gs:// prefix where the container backups live, then load objects. From there you can download, delete, or restore supported .fmp12 objects. FM Dojo first uses the linked Google Cloud service account; if that account cannot access the bucket, it falls back to the FileMaker server's own cloud identity for Google Cloud Storage operations.

When restoring a container backup, FM Dojo stages the object onto the selected FileMaker data directory, closes the live file, optionally archives the current file under Backups/FMDojoRestoreArchive/, copies the staged backup into place, and reopens the database.

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:

  1. Close the database — FM Dojo runs fmsadmin close on 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.
  2. Keep current copy (optional) — before overwriting, archives the live file to Backups/FMDojoRestoreArchive/[database]/[timestamp]-pre-restore-[filename] on the server. Those archive files appear in the Backups tab as rollback points with a Rollback button.
  3. 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.
  4. Import data from current file (optional) — see below.
  5. Reopen the database — runs fmsadmin open to 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.

The restore flow treats a FileMaker Server "already closed" response as safe to continue. If the restored file cannot be reopened, FM Dojo copies the archived original back and tries to reopen the original.

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.

Tip: FMUpgradeTool requires FileMaker Server 2025 or later. The restore dialog will warn you if it's not found on your server. Enter the FileMaker file account and password when prompted — FMUpgradeTool needs credentials to open both files during migration.

Restore V2 follows the close, archive, copy backup, merge records, and reopen sequence, keeps the original file under Backups/FMDojoRestoreArchive/ for rollback, and leaves the result dialog open with the full step log. If FileMaker Server reports that the file is already closed, Restore V2 continues; if the restored file cannot be reopened, FM Dojo copies the archived original back and tries to reopen the original. Archive files in that folder show a Rollback button in Backups. FM Dojo does not run FileMaker Data Migration Tool against a full backup file because FMDT requires a no-record clone; use clone-based migration workflows when you need FMDT record merge.

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 that holds the FileMaker release. A repository release contains patch.xml and, when available, manifest.json in one release folder. Use Pull repository release on the deployment card, enter the full commit SHA and SHA-256 values, and confirm the selected FileMaker Server. FMDojo fetches both files from that exact immutable commit, verifies the patch, validates the manifest target, and stages the release without deploying it.

The repository is the reproducible release record; it is not the immediate rollback mechanism. Before every file swap, FM Deploy creates and verifies a run-specific backup of the target .fmp12. A failed critical check restores that backup, and a successful run keeps the same checksum-bound backup available from Restore pre-deploy backup.

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

After uploading, generating, or pulling a verified patch, complete the deployment plan and start the run from the deployment card. FM Deploy records the artifact digest and repository provenance, runs the deployment workflow against the target FileMaker Server, streams progress back to the UI, and stores the result for later review.

Enterprise planning applies to both LiveConnect Push to FM and manual FM Deploy runs. Before a production-impacting change proceeds, Enterprise runs capture the active-user state, downtime window, DMT/FMDMT expectation, rollback anchor, approval context, ticket or work-order context, and SOX or compliance evidence.

GitHub auto-deploy is off for Enterprise teams because a webhook cannot supply that interactive plan. Upload or generate the exact patch, complete the plan, and submit its SHA-256-bound artifact to Team Approvals.

Run history and notifications

Each run keeps status, timing, logs, commit metadata, target file context, and structured evidence. Preflight evidence covers access, tooling, active-client, patch, and rollback-plan checks. Validation evidence records final run status, backup, swap, reopen, downtime, and post-reopen server checks. Deploy approval records also preserve requested, approved, rejected, and changes-requested response evidence. Deployments can notify a saved Slack or Discord connection, or trigger a Connection 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.

Enterprise plans capture active-user state, downtime window, DMT/FMDMT expectation, rollback plan, approval context, ticket or work-order context, and SOX or compliance evidence before the run proceeds.

Use AI Chat in the Server Deploy header when you want help creating a first plan, reviewing readiness, or planning rollback from the migration context already visible on the page.

Run history and rollback

Every run stores preflight, connection, and validation evidence with per-file status, logs, timing, backup paths, and errors. The validation stage records the final run status, file coverage, per-file results, and rollback backup records. 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 Connection 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.

Server Pub/Sub new

Server Pub/Sub lets you listen for FileMaker Server events and run one or more Connections when they happen. Use it when server activity should start work automatically — logging a backup result, opening a follow-up task, validating a migration, or routing a client activity event.

Creating listeners

Open Server Pub/Sub. Pick the connected FileMaker Server, choose what happened, narrow it to a backup, schedule, database, or signal when needed, then choose the connection or connections to run.

Choosing server events

Listeners cover migrations, deploys, backup results, schedule results, database opens and closes, user connects and disconnects, performance changes, capacity changes, log patterns, certificate changes, and security setting changes. For user activity, choose the database to watch or leave it set to all hosted databases.

Attaching connections

Each listener runs connections. Slack, Discord, email, webhooks, spreadsheets, and other destinations are configured inside the connection itself, so Server Pub/Sub stays focused on deciding when the automation should run.

Testing listeners

Use Send test event from the listener detail panel. FM Dojo calls the selected Connection webhook and records whether the test was delivered or failed, including the returned run ID or error message.

Listener history

The Listeners tab shows configured listeners, tags, status, attached connections, and recent deliveries. You can search listeners, pause or enable them, edit their name, tag, or connections, collapse panels, and delete selected history items or all history for a listener.

Connectors

For more videos go to youtube.com/@fmdojo

Connectors let you automate FileMaker without writing a line of server-side script. Each connection has a trigger and one or more steps that run in sequence. Go to the Connectors page to create and manage your connections.

Triggers

  • FileMaker — a FileMaker script calls your connection using Insert from URL. Attach it to an OnRecordCommit or OnObjectSave script trigger so the connection fires whenever a record is saved. FMDojo generates the script for you — open the connection 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 connection 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 connection 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
  • Connection — Run another connection — call another enabled connection owned by the same account, optionally passing a templated JSON payload. A connection cannot run itself, disabled child connections fail fast, and nested connection calls are capped to prevent runaway loops.
  • FileMaker Server — Restart server components — restart the failed FileMaker Server component from a Server Alert, or choose a specific component sequence for a recovery connection
  • 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 connection if a condition is not met

Services

Connectors ships with 130+ services organized by category, each with dedicated actions backed by a saved connection. That now includes the Databases category (PostgreSQL, MySQL/MariaDB, SQL Server, Oracle, MongoDB, Redis), the cloud and storage platforms (AWS S3, Lambda, SES, SNS, SQS, DynamoDB; Azure Blob, Functions, Service Bus; Google Cloud Storage, BigQuery, Pub/Sub), everyday Google services (Gmail, Sheets, Calendar, Drive, Meet), regional invoicing (Billingo, Számlázz.hu, MiniCRM Invoice, Lexware Office, FacturaDirecta, Holded, Saasu, Mollie Invoicing), analytics (Power BI, Tableau, Google Analytics, Datadog), and the remaining business services (Mailgun, FreshBooks, WooCommerce, ServiceNow, Eventbrite) — none route through the generic HTTP Request step anymore. AWS calls are SigV4-signed; Azure uses Shared Key and SAS. Everyday Google services use a saved personal Gmail or Google Workspace connection; Google Cloud service accounts remain available only under advanced setup. Deletes, purges, cancellations, invoice reversals, and public publishes each require confirmation on the Flow step.

  • Databases — PostgreSQL (including Neon and Supabase), MySQL and MariaDB, Microsoft SQL Server, Oracle Database (including Autonomous Database), MongoDB, and Redis. List tables or collections, describe a table, and read selected rows through a saved connection. Writes are off by default: a structured single-row insert — plus capped equality-filter updates on Oracle — requires a connection that is explicitly write-enabled and confirmation on the individual Flow step. There is no arbitrary SQL and no delete action. Reads return at most 100 records with secret-like fields redacted, and connection targets must be public hosts; FMDojo refuses loopback, private, and other reserved addresses.
  • CRM & Sales — Salesforce, HubSpot, Pipedrive, Zendesk, Intercom
  • Payments & Accounting — Stripe, Shopify, WooCommerce, QuickBooks, Xero, FreshBooks, Billingo, Számlázz.hu, MiniCRM Invoice, Lexware Office, FacturaDirecta, Holded, Saasu, and Mollie Invoicing
  • Messaging — Slack, Discord, Microsoft Teams, Twilio (SMS), SendGrid, Mailchimp
  • Productivity — Google Sheets, Google Calendar, Google Drive, Gmail, Airtable, Notion
  • Content Management — WordPress has dedicated actions for posts, pages, REST-enabled custom content types, media details, taxonomy terms, and comments through a saved Application Password connection. Exact-slug collision handling can stop, keep, or update; content and comment removal uses WordPress Trash instead of permanent deletion. A WordPress automation or webhook plug-in can send selected events to an FMDojo inbound webhook. Media binary upload, automatic webhook registration, and permanent taxonomy deletion are not dedicated actions yet. Wix, Webflow, Contentful, Sanity, Ghost, Strapi, Drupal, Joomla, and Storyblok now have dedicated read and write actions of their own, and Squarespace covers Commerce orders, products, and inventory. Self-hosted platforms — Ghost, Strapi, Drupal, and Joomla — require a public HTTPS URL; FMDojo refuses private or internal addresses. Every delete asks the Flow step to confirm first.
  • Developer Tools — GitHub, Jira, Trello, Asana, Linear, Zapier, Make, OpenAI
  • Developer Infrastructure — Railway, Netlify, Vercel, Render, Fly.io, Heroku, DigitalOcean, Supabase, and Firebase. Inspect projects, services, apps, and deployments, and run the state-changing operations each platform supports: trigger or cancel a deploy, roll back a release, restart or stop a machine or dyno, scale a formation, and manage environment variables. Supabase reads and writes table rows over PostgREST and invokes Edge Functions; Firebase reads and writes Cloud Firestore documents and sends Cloud Messaging notifications. Anything that starts, stops, or reshapes running infrastructure requires the Flow step to confirm it explicitly.
  • Analytics & Monitoring — Power BI, Tableau, Datadog, ServiceNow, Google Analytics
  • Healthcare — Epic, DrChrono, and Athena Health connectors for approved healthcare workflow automations
Tip: Services are listed on the Connectors page organized by category. Use the type and country selectors or the search field in the Connections tab to find a specific service quickly.

Healthcare and PHI boundaries

Healthcare connectors are workflow tools, not a standalone HIPAA compliance guarantee. Use sandbox credentials and synthetic patient examples while building or sending test runs. Before moving live patient data through a connection, confirm your account, downstream systems, credentials, access controls, retention process, and internal approvals are ready for that data.

Connection run history stores trigger data, step input, output, timing, and errors so you can troubleshoot runs. Healthcare connector outputs are minimized where practical, but trigger payloads and notification messages can still contain whatever you send into the connection. Keep PHI out of tests, Slack or Discord messages, email bodies, and broad audit notes unless those destinations are approved for PHI.

Template variables

Reference trigger data or a previous step's output in action fields—including values nested inside supported lists and JSON objects—using double-brace syntax. Credentials and fields that choose a remote host are intentionally never templated.

  • {{trigger.payload}} — the full JSON body POSTed to your connection
  • {{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 connections

On the connection detail page, click Send test to fire a test POST to your connection immediately. On the connections list, click Test all to fire all enabled connections in parallel — each row shows pass or fail inline so you can verify everything is working in one shot.

The connections list and connection detail page include a Duplicate action. A duplicated connection is created disabled, so the copy cannot run in parallel until you review and enable it.

Ticketing integrations

Use ticketing steps when a FileMaker or server event should become tracked work. Ticket destinations include GitHub issues, GitLab issues, Jira issues, Linear issues, and Zendesk tickets. Each step can use template variables from the connection trigger or earlier steps, so a server alert can put the server name, failed component, alert detail, and recovery state directly into the ticket title, body, comment, or status field.

  • GitHub — create an issue, add a comment, or close an issue when the alert is resolved.
  • Jira — create an issue, add a comment, or update the issue summary or workflow status using the target status name configured in Jira.
  • Linear — create an issue, update the title, description, or state, or add a comment.
  • Zendesk — create a ticket, update ticket status or priority, or add a public/internal comment.

For server-alert workflows, start with a Server Alert trigger. Add one ticketing step for the outage, then use the provider's update, close, transition, or comment action from a recovery connection so the same ticket records both the incident and the resolution.

Example: Server alert → admin choice → component restart

Create a Server Alert connection from a server's Alerts tab, then add a Slack or Discord step. FM Dojo can generate a message that tells the admin which server component failed and includes choices for do nothing, restart, or just log. When the admin chooses restart, the FileMaker Server step restarts the failed component from the alert payload. If they choose do nothing or just log, the decision is recorded without restarting the service.

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 connection. The connection 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 connection webhook URL. The connection 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 connection 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 connection execution is logged. Open the connection 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.

Gmail & Google OAuth new

FMDojo gives FileMaker developers a direct, verified Google sign-in path for Gmail and the everyday Google services used in Flows. Connect a personal Gmail or Google Workspace account, approve the service-specific permission at Google, and use that account in FileMaker automations—without building and maintaining your own Google Cloud OAuth application.

Tip: Google OAuth verified: FMDojo completed Google's verification review for the Gmail sending, Google Sheets, and Google Calendar permissions used by these Connectors.

Why this is special

A production Google integration normally requires a Google Cloud project, enabled APIs, an OAuth client, exact redirect URIs, a configured consent screen, verified domains, privacy disclosures, scope justifications, testing, and—in the case of sensitive Workspace permissions—Google's verification review. Each configuration must stay aligned with the permissions the product actually requests. That work is difficult enough that many small integrations stop at SMTP passwords, service accounts, or instructions telling every customer to create their own Cloud project.

Tip: FMDojo handled that work for you. FileMaker developers can use the reviewed FMDojo consent flow instead of becoming Google Cloud OAuth administrators just to send an email or update a spreadsheet.

What FMDojo completed with Google

FMDojo registered its production OAuth application, verified its domain and app identity, published its privacy and Google Limited Use disclosures, justified the least-privilege scopes, and demonstrated the live authorization and in-app functionality to Google. Google completed its verification review for the Gmail sending, Google Sheets, and Google Calendar permissions used by these connectors.

This means Google reviewed FMDojo's OAuth request and consent flow for those submitted permissions. The review is not a Google endorsement of FMDojo, and a Google Workspace administrator can still restrict or require approval for third-party applications in their organization.

Connect Gmail or Google Workspace

  • Open Connectors, select the Connectors tab, and find Gmail.
  • Choose Connect and read the service-specific disclosure showing what FMDojo can do and which Google data the connector uses.
  • Choose Continue, select a personal Gmail or Google Workspace account at Google, and approve the displayed permission.
  • Google returns you to FMDojo, where the saved account can be reused by Gmail steps in any Flow you own.

You do not paste a Google client secret into FMDojo, configure a callback URL, enable the Gmail API, or submit your own verification video. Advanced Workspace service-account setup remains available for organizations that deliberately need domain-wide delegation, but it is not required for the normal personal OAuth path.

Send Gmail from FileMaker

Create a Flow with a FileMaker trigger and a Gmail — Send email or Send with attachment step. FMDojo generates the FileMaker Insert from URL script that POSTs JSON to the Flow. Map fields such as recipient, subject, and body directly from the payload:

  • {{trigger.payload.Email}} — the recipient stored in FileMaker
  • Invoice for {{trigger.payload.CustomerName}} — a subject assembled from FileMaker data
  • {{trigger.payload.Message}} — the message body prepared by the FileMaker script

Use the same pattern for invoice delivery, appointment confirmations, approval notices, overdue reminders, order updates, or server alerts. A Flow can send through the connected mailbox and then pass the bounded Gmail result to a later FileMaker step for logging.

Gmail permissions and privacy

FMDojo requests Gmail's send-only gmail.send permission. The shipped Connector can send a message, with or without one selected attachment; it cannot list, search, or read the mailbox, create drafts, reply or forward, change labels or read state, archive, trash, or delete messages. Keeping Gmail send-only is a deliberate least-privilege boundary.

Connecting Google does not send its data to an AI provider. If a later OpenAI step references Google-derived output, FMDojo preserves its provenance and fails closed unless the exact provider configuration, purpose, disclosure, and current user consent satisfy the Google Workspace data boundary. An uncertified generic OpenAI-compatible endpoint remains blocked. Ordinary Google-to-FileMaker and FileMaker-to-Google steps do not require AI consent.

Other verified Google connectors

The same personal Google authorization experience covers the reviewed Google Sheets and Google Calendar permissions. Google Drive uses narrow drive.file access, and Google Meet operates through Calendar events. Each service is connected separately so users approve only the capability they choose.

  • Google Sheets — read a bounded A1 range, append a row, or update a specific row. Reads return values[][], rowCount, and cellCount, capped at 1,000 rows, 50 columns, and 10,000 cells.
  • Google Calendar — list or search up to 50 events, get one event, create an event, or update an event by ID.
  • Google Drive — work with files FMDojo created or the user explicitly opened with FMDojo, within Google's drive.file boundary.
  • Google Meet — create a meeting and retrieve or update its Calendar event details.

Composition limits

A Flow can pass one bounded Google action output to a later action whose input accepts that value. It does not automatically loop the next step over every value, event, or file in a list. Select an indexed item such as {{steps.0.output.events.0.id}}, carry a page token into another step or run, or pass the JSON array to FileMaker and iterate there.

  • Google Sheets does not yet provide find-by-column, clear or format, or sheet create, rename, or delete actions.
  • Google Calendar does not yet provide event deletion, free/busy lookup, calendar management, or invitation responses.
  • Google Drive does not yet provide copy, rename, trash or delete, Workspace document export, or file-change watches.
  • Google Meet does not yet provide participant lists, recording or transcript downloads, or attendance history.

The Flow action editor is the source of truth for each action's current inputs, outputs, and enforced limits.

Pass Google results back to FileMaker

Google action fields accept the same Flow template variables as every other step. Values sent from FileMaker are available under {{trigger.payload.fieldName}}; results from an earlier step are available under {{steps.0.output.fieldName}}. To return a Sheets, Calendar, Drive, or Gmail result, add FileMaker — Run script and pass {{steps.0.output}} as its Script parameter. The FileMaker script reads the JSON with Get(ScriptParameter).

Tip: Keep searches and result counts narrow. Flow run history stores step inputs and outputs for troubleshooting, so use only destinations approved for the data your FileMaker solution sends.

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.

Use AI Chat on the Connections page to choose the right integration path, set up AI Data Access safely, or troubleshoot a locked connection without exposing keys, passwords, tokens, or webhook URLs.

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 its parsed Save As XML schema 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 Canvas'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 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.

Projects

Projects keep the work for a FileMaker delivery together: target database, server, source context, FileMaker files, scripts, Canvas layouts, diagrams, and deployment history. Use Projects when you want Code, Canvas, Snapshots, and deployment work to stay tied to the same database or file.

Use AI Chat from Projects or a Project detail page when you want the assistant to start from the visible project list, active Project, linked database or target server, source context, artifacts, files, migrations, and readiness state.

Create and manage Projects

Choose New Project when you are ready to group a FileMaker delivery. The setup guide appears only when you have no Projects yet; once Projects exist, the list stays focused on the work already saved. Open a Project by selecting its card, and use the labeled actions menu on a card for management actions such as deletion. The selection checkboxes and bulk actions remain available for managed Projects. Deletion is confirmed separately, removes Project-owned files and history, preserves shared Database Authorizations and server records, and leaves the Project visible if saved work still depends on it.

Project readiness

Project readiness checks whether the Project has the setup needed for database-changing work, including server access, Database Authorization, current schema source, LiveConnect evidence, FM Deploy path, reviewed staged changes, and the Project's deployment procedure. Choose Review and deploy when the reviewer may deploy, or—on an active Enterprise account—Independent approval when a different authorized user must approve the exact deployment. Snapshot owns schema comparison and technical review; the Project owns the deployment procedure.

Team development

Choose Team Project when several FileMaker developers work on one solution. In the Project's Development tab, connect the existing GitHub or GitLab repository, start a Working Copy from the current Snapshot Version, and sync checkpoints as the developer works in a separate FileMaker file. FM Dojo creates the matching repository branch and keeps the latest sync time, review time, combine time, deploy time, and rollback time in the existing Version, Review, deployment, and Team Audit records.

The safe path is Snapshot Version → Working Copy → Compare or Combine → Review → approved repository merge → FM Deploy. FM Deploy stages the exact approved commit, creates and verifies a pre-deploy backup before replacement, and exposes that exact backup for rollback. The repository is the durable release record; the FileMaker backup is the immediate operational rollback point.

Tip: Keep one Working Copy per feature or fix, and one separate .fmp12 working file per developer. FileMaker files are binary and are not merged directly by Git.

System Review

System Review uses a FileMaker file, available by request, to run security, architecture, and performance diagnostics your solution can't see from a Snapshot alone. It connects to your live solution, collects structural metadata, scores it across six categories, and posts the results to a scored dashboard on FM Dojo.

System Review is different from the Schema Audit in Snapshots. Schema Audit analyzes the XML structure of a Snapshot. System Review runs inside FileMaker Pro against your live solution and can check things the XML export doesn't capture — account status, encryption state, server environment, and runtime script behavior.

What it checks

  • Accounts and Privileges — Full Access account count, accounts without a password policy, inactive accounts, and privilege sets with all extended privileges enabled.
  • Encryption and File Security — encryption at rest, file access protection, non-SSL connections, and IP-based external references.
  • Server Environment — FileMaker version currency, unknown plugins, and peer-to-peer hosting.
  • Schema Health — unindexed relationship keys, unstored calculations, and tables over one million records.
  • Script Health — error trapping coverage, hardcoded credentials, and orphaned plugin references.
  • Integration Surface — non-SSL API calls, ESS connections, and custom function count.

How it works

Request the current FM Dojo System Review file from the System Review page. Open it in FileMaker Pro alongside your solution. On the FM Dojo website, select the Project you want to audit and generate a single-use audit token. Paste the token into the System Review file and run the audit script. The file collects structural metadata, then posts the results to FM Dojo where they are scored and stored under your Project.

Connection approaches

There are two ways the System Review file can access your solution:

  • External data reference — point the System Review file at your solution via an external data source reference. Nothing in your solution changes. You configure the reference once when you first open the file.
  • Script import — import the audit scripts directly into your solution and run them from inside it. Simpler to set up, but it does add scripts to your file.

Privacy and data handling

System Review collects structure, never data. No field-level data is ever collected — no record contents, only schema structure and metadata like account counts, field types, and script step patterns. Before anything is sent, the System Review file shows you the exact payload and lets you choose “Save Locally” to review, redact, or upload manually instead.

Audit report

After the System Review file submits its findings, FM Dojo scores each of the six categories and produces an overall score. The report page shows a score gauge for each category, lists every finding with a severity level (critical, warning, or info), and includes a plain-English explanation and fix recommendation for each one. You can export the report as a PDF.

Audit history is stored under your Project. Run multiple audits over time to track improvements after addressing findings.

Requirements

Requires FileMaker Pro 19.6 or later — earlier versions do not support the account enumeration functions the audit relies on.

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, Connectors, FM Deploy, Server Deploy, FM Router, and other FileMaker-backed workflows.

Add access

Click Add access, select the FileMaker Server and a discovered hosted file, then provide a FileMaker account with Data API access. Save & test verifies the credentials before saving them so downstream tools can reuse known-working access.

Testing and updating credentials

Open the database's Actions menu, then use Test access to verify that saved credentials still work against the FileMaker Data API. Use Update login 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.

Security quick reviews

Open the database's Actions menu, then use Review security to create a Database Auth quick review from Data API-visible metadata. FM Dojo checks the saved authorization, secure connection posture, exposed layouts and scripts, cached schema coverage, and related project audit context, then shows the latest score and finding count on the authorization.

This is a lightweight review for the access FM Dojo can see through FileMaker Data API. For full account inventory, privilege sets, encryption-at-rest, and deeper FileMaker security evidence, run the System Review file against the solution.

Removing access

Open the database's Actions menu, then use Remove access to remove the saved authorization. FM Deploy cards block removal until they are retargeted or deleted, and protected Data Health safety history can also require the authorization to remain. The confirmation lists the linked features that will lose access and checks for Snapshot notes before continuing. Removing saved access does not delete the hosted FileMaker file or its server connection.

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 Server → 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 spendable token balance is shown in the header and updates in real time after each message. If you are on a team, that includes team pool tokens available to you.

Pricing

  • Monthly subscription plans at different tiers.
  • Multi-currency support — USD, EUR, GBP, AUD, CAD, JPY, NZD.
  • Upgrade, downgrade, or cancel anytime from Account → Subscription.
  • Monthly subscribers can pause billing for 1 or 3 months instead of canceling. Charges and subscription token renewals stop during the pause, while existing tokens, account access, and saved data remain available. Billing resumes automatically on the date shown.
  • Payments are handled securely through Stripe.

Bring Your Own AI

The $19/month Apprentice BYO AI plan gives you FMDojo's Apprentice features while you pay your selected AI provider directly for usage. It includes no FMDojo-managed AI tokens. Subscribe from the pricing page, then open Account → Preferences → Bring Your Own AI to add OpenAI, Anthropic, or a supported OpenAI-compatible provider key.

  • Create an OpenAI key at platform.openai.com/api-keys or an Anthropic key at console.anthropic.com/settings/keys.
  • ChatGPT Plus/Pro and Claude Pro subscriptions do not include API usage; the provider bills API usage separately.
  • Your saved key is encrypted and write-only. FMDojo does not silently fall back to its own paid provider when your selected key is missing or unsupported.
  • OpenAI keys support chat, retrieval embeddings, and dictation. Anthropic keys support chat; features that require embeddings or audio ask you to select OpenAI instead.
Tip: Check the Pricing page for current plans and token allowances.

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 nine 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
  • AI — Configure AI Account, Generate Response from Model, agentic mode, natural-language find and SQL, embeddings, semantic find, RAG, prompt templates, AI call logging, and production testing

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.

AI training

The AI topic focuses on current Claris FileMaker AI features. It is written for practical use and test readiness: each lesson separates model-response features from embedding/search features, calls out runtime account setup, and includes quiz questions around the details Claris tends to test.

Lesson structure

Every lesson follows the same four-part structure:

  1. Intro — what you'll learn and why it matters
  2. Steps — a numbered walkthrough with code blocks you can copy directly into FileMaker
  3. Common mistakes — the most frequent errors for this topic and how to avoid them
  4. 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.

Tip: Work through two or three lessons a day to earn tokens steadily without hitting the daily cap.

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.

Tip: Work through a few lessons per day to consistently earn tokens without hitting the daily cap.

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.

Tip: Referral rewards have the highest token value. If someone in your network is looking for a FileMaker AI assistant, a direct referral is the fastest way to earn a significant token boost.

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, In Progress, Done, or Launched) to see what has been accepted, what is being built, and what has shipped. Done and Launched items point you back to the changelog when release notes are available.

Tip: If you have a critical workflow need, mark it as Critical when submitting — it stands out in the review queue.

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.

Claude (Anthropic) upstream status

If your AI provider is set to Claude, the Anthropic panel shows live Claude service status, recent incidents, and uptime history alongside the other integrations.

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, Intel Macs, and macOS Tahoe, 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

Open More → Downloads, then download the FMDojo plug-in build for your platform. Unzip it and install the actual plug-in file into FileMaker Pro's Extensions folder.

  • Choose the Mac plug-in v1.6.39 for macOS. After unzipping, install FMDojo.fmplugin.
  • Choose the Windows plug-in v1.6.38 for 64-bit FileMaker Pro. After unzipping, install FMDojo.fmx64.
Tip: Do not install the downloaded .zip file directly. FileMaker needs the unzipped, platform-specific plug-in file.

Verify the current Windows build

The Windows v1.6.38 release is signed with a publicly trusted SSL.com code-signing certificate and an RFC 3161 timestamp. On the unzipped FMDojo.fmx64, open Properties → Digital Signatures, select Agnes Riley, and confirm Windows reports that the signature is valid. Compare the certificate thumbprint with the value shown on Downloads, and stop if the signer or thumbprint differs.

Download the correct plug-in

FileMaker plug-ins are platform-specific. A Mac plug-in will not load on Windows, and a Windows plug-in will not load on macOS.

  • macOS: use a .fmplugin bundle.
  • Windows: use a .fmx64 file.
  • Linux / FileMaker Server Linux: FileMaker server-side plug-ins use .fmx files. FMDojo currently publishes compatible platform builds from Downloads as each signed release is ready.

Enable plug-in installation

In FileMaker Pro, open the Plug-Ins settings before installing or troubleshooting.

  • Windows: Edit → Settings → Plug-Ins
  • macOS: FileMaker Pro → Settings → Plug-Ins

Make sure the plug-in is checked if it already appears in the list. Also enable Allow Solutions to Install Files if a FileMaker file will install the plug-in using the Install Plug-In File script step.

Manual installation

If automatic installation does not work, install the plug-in manually. Quit FileMaker Pro first, then copy the unzipped plug-in file into the FileMaker Pro Extensions folder for your version.

  • Windows:
    C:\Users\<your_user_name>\AppData\Local\FileMaker\FileMaker Pro\<version>\Extensions\
  • macOS:
    /Users/<your_user_name>/Library/Application Support/FileMaker/FileMaker Pro/<version>/Extensions/

Reopen FileMaker Pro, return to Settings → Plug-Ins, and confirm the FMDojo plug-in appears and is enabled.

Tip: In FileMaker's Plug-Ins settings, click Reveal Plug-in Folder to open the correct install folder. Hold Shift while clicking it to reveal all possible plug-in folders.

Automatic installation from FileMaker

A FileMaker solution can install a plug-in with the Install Plug-In File script step. Store the actual plug-in file in a container field, then point the script step at that field.

  1. Create a container field for the plug-in file.
  2. Insert FMDojo.fmplugin on macOS or the .fmx64 file on Windows into that container.
  3. Run Install Plug-In File [ YourTable::PluginContainer ].
  4. Restart FileMaker Pro if the plug-in does not load immediately.
Tip: The container must contain the actual plug-in file, not a .zip archive.

Confirm FileMaker sees the plug-in

After installation, check FileMaker's Plug-Ins settings and confirm the FMDojo plug-in is enabled. You can also verify from the Data Viewer:

  • FMDojo.Version() should return 1.6.39 or newer for current LiveConnect.
  • Get ( InstalledFMPlugins ) shows installed plug-ins in older FileMaker versions.
  • Get ( InstalledFMPluginsAsJSON ) shows plug-in name, version, and enabled state in newer FileMaker versions.

Silent installation failures

If FileMaker fails without an obvious error, check these first:

  • The wrong platform file was used.
  • The plug-in is still zipped.
  • Allow Solutions to Install Files is disabled.
  • The plug-in installed but is unchecked in Plug-Ins settings.
  • FileMaker Pro needs to be restarted.
  • macOS blocked the downloaded plug-in. Check System Settings → Privacy & Security after trying to load it.
  • Windows blocked the downloaded file. Right-click the .fmx64 file, choose Properties, and enable Unblock if that option appears.
  • For hosted files, the FileMaker Server admin may need to allow the Install Plug-In File script step in Admin Console.

The fastest recovery path is usually manual installation through Reveal Plug-in Folder, followed by a FileMaker Pro restart and a quick Get ( InstalledFMPluginsAsJSON ) check.

Tip: macOS Tahoe users should install the current Mac plugin build before using XML paste, LiveConnect, or plug-in clipboard scripts. Replace any older FMDojo.fmplugin, restart FileMaker Pro, and verify FMDojo.Version() again.

License key

Open More → Downloads and use the license key in the FMDojo plug-ins section. If you do not have a key yet, choose Generate. 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 the team'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:

FMDojo.Register( email ; licenseKey ; machineId { ; baseUrl } )
  • 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".
Returns OK on success, or an error message if the key is invalid, revoked, or the seat limit has been reached.
Tip: Store the license key in a global field or $$variable so the OnFirstWindowOpen script can pass it in without hardcoding it. If you are testing against a local FMDojo site, include that local URL once during registration so the plug-in reconnects to the same place after FileMaker restarts.

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

  1. Install the FMDojo Plugin and register it against your account (see Plugin section above).
  2. In FM Dojo, open your project and go to LiveConnect. Copy the generated FileMaker script.
  3. 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 advise on the change and stage a draft inside 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 for your review.

  • Staged scripts are written as proper FileMaker XML — they import cleanly without any manual editing.
  • You can view the full diff and evidence cues for every staged change before applying it.
  • Approve and deploy from FM Dojo, or remove the staged change if you don't trust it.
Tip: LiveConnect works best when you keep your sync script in a shared utility file that opens at login — that way the AI always has the latest schema without any extra steps.

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 review it. Review the diff, technical evidence, and rollback path before deploying. Any independent approval requirement is selected on the Project's Deploy tab.

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 put multiple FM Dojo accounts under one team subscription. The team owner handles billing and seats, admins manage members and access, and members use FM Dojo with the team's shared token pool and the feature gates their admin has enabled.

Roles and ownership

A team has one owner, optional admins, and members. The owner controls billing, team settings, ownership transfer, and deletion. Admins can invite people, manage roles and limits, create access groups, and turn feature gates on or off. Members use the features available to them and do not manage the team unless promoted.

Tip: A user can belong to only one team at a time. Joining a team changes how tokens and feature access are resolved; it does not move personal work into a shared folder.

Inviting members

Use Team Members to invite a person by email. The invite link takes them to sign in or create an account, then joins them to the team automatically. If the team has an email domain restriction, admins can only invite addresses from that domain.

Enterprise identity

Teams on a provisioned Enterprise grant can verify their email domain, connect SAML or OpenID Connect single sign-on, and let their identity provider manage membership through SCIM. Those controls live in Team Settings and are covered in the Enterprise section.

Token sharing

Team members spend from the team token pool first. If the pool is empty, FM Dojo can fall back to the member's personal token balance. The header and dashboard show the spendable balance available to the signed-in member, including team pool tokens. Admins can set a monthly per-member token limit; blank means unlimited up to the available pool. Team usage is visible from Team Usage.

Feature gates and access groups

Team feature access is admin-managed, not based on each member's individual service level. For team members, FM Dojo checks the member's access group gate first, then the group's service-level defaults, then the team-wide gate, then the default setting for that feature. If a gate is off, the member is blocked with a message telling them the team admin disabled that feature. If a gate is on, the team member is allowed and the individual tier check is skipped for team-aware features.

Use Feature Gates to set team-wide defaults. Use Access Groups to create named groups such as Deployers, Developers, Contractors, or Read-only, assign each group a service level, and override individual feature gates when needed.

Enterprise access groups also carry a server-enforced permission role. Product access and operational permission are separate: opening FM Deploy does not by itself grant authority to submit or approve a production change. For governed deployment, put developers in a Deploy requester group and a different team lead or release manager in an Approver group. The reviewer decides the exact staged request in Team Approvals; requesters cannot decide their own work.

Current gate labels include FM Deploy, Server Deploy, Server Pub/Sub, Connectors, Canvas, Relationship diagrams, Database snapshots, Projects, Code snippets, Log analysis, Shared chat links, and FM server connections. Owners and admins bypass these gates so they can manage the team.

Member privacy

Team admins can see membership, roles, token limits, usage totals, access groups, invites, and audit events. They cannot read a member's private chat history. Personal snippets, snapshots, and other work remain attached to the individual account unless a feature explicitly creates shared output. In an Enterprise team, newly created FileMaker Servers, FM Deploy deployments, and Server Deploy plans are team-owned so the deployment history survives staff changes; older personal resources are not silently shared.

Removing members

Remove a member from Team Members at any time. Their account stops drawing from the team pool and stops inheriting team feature access. Work they created remains in their account.

Enterprise

Enterprise is a separately provisioned grant on an FM Dojo team. It turns on governed change control, server-enforced permission roles, and signed audit evidence for organizations that must be able to explain every production change after the fact.

Tip: Choosing the Enterprise account profile under Account → Preferences does not enable any of this. The profile is a description of your organization; the controls below require the provisioned Enterprise grant on your team.

What Enterprise adds

  • Separation of duties — the person who requests a production change cannot be the person who approves it.
  • Server-enforced permission roles — access groups carry operational authority that API routes check, not just interface visibility.
  • Required deploy planning evidence — downtime, rollback, active users, and approval context are captured before a change proceeds.
  • Signed audit evidence — governance activity is written to an append-only, verifiable chain you can export.
  • Team-owned operational resources — servers, deployments, and deploy plans belong to the team, not to whoever created them.
  • Snapshot governance metadata — ticket, work order, compliance scope, and change reason recorded against a schema version.

Permission roles

Enterprise access groups in Access Groups combine the usual product feature gates with an explicit set of operational permissions. Product access and operational authority are separate: opening FM Deploy does not by itself grant authority to submit or approve a production change.

  • Identity admin — members, invitations, access groups, and identity settings.
  • Deploy requester — prepares and submits governed FM Deploy and Server Deploy work.
  • Approver — decides deployments requested by someone else.
  • Data steward — prepares governed Data Health work without approving it.
  • Data Health approver — decides Data Health work requested by someone else.
  • Data Health admin — manages allowed fields, rules, execution modes, retention, and AI policy.
  • Server operator — runs FileMaker Server commands and governed fleet maintenance.
  • Billing admin — opens billing management and changes paid team capacity.
  • Auditor / read-only — reads audit evidence with no operational or administrative access.

A group can also use a custom permission combination. The team owner keeps all permissions. A member with no explicit permission group fails closed for protected operational actions rather than inheriting them.

Governed deployment and approvals

On an Enterprise team, FM Deploy, Server Deploy, and LiveConnect Push to FM requests stop and wait for approval before any production-changing engine starts. The request appears in Team Approvals.

  • The requester cannot decide their own request.
  • The reviewer needs the deploy approval permission and must belong to the same team as the resource.
  • Decisions are immutable and written atomically, so two reviewers cannot overwrite each other.
  • Approval releases the held run; rejection or a request for changes closes it.
  • A revised deployment is submitted as a new run and gets its own approval record.
  • Enterprise FM Deploy binds the staged artifact by SHA-256 before the approval is created, so the approved change is the change that runs.

GitHub auto-deploy is turned off for Enterprise teams. A push webhook cannot answer the interactive planning questions below, so it fails closed; use manual FM Deploy, LiveConnect Push to FM, or Agent Builder to submit a complete plan.

Deploy planning evidence

Before an Enterprise production-impacting change can be approved, the plan must capture:

  • Downtime window — the scheduled time for the change
  • Rollback anchor — a confirmed restore point taken before deploying
  • Active-user check — verification that nobody is in the affected file
  • DMT/FMDMT expectation — whether FileMaker Data Migration Tool work is expected
  • Ticket or work-order context — the linked change request
  • Approval context — explicit sign-off before the push proceeds
  • Audit evidence — notes kept for the compliance record

Manual script edits and ordinary snapshot uploads are not affected by these controls.

Server operations

Direct server work is gated by the server operations permission: fmsadmin commands, remote execution and terminal, SSL certificate work, schedules, database open and close, client messaging and disconnect, backups, restores, and OData configuration.

Fleet maintenance runs additionally capture the downtime window, active-user check, DMT/FMDMT expectation, rollback plan, approval context, and an optional audit evidence note, and store those fields with the run history so a support, SOX, or change-review record explains why the operation was safe to execute.

Data Health approvals

Governed FileMaker data-maintenance jobs on an Enterprise team require approval before they run, and the approver must be a different member than the requester. Policy control — allowed fields, rules, execution modes, retention, and AI policy — is a separate permission from requesting or approving the work.

Audit evidence

Open Team Audit to review organization events with exportable evidence. Enterprise records are written to a signed, append-only chain that the page verifies; older history from before signing is shown but clearly labeled as legacy. Approval requests, decisions, and content invalidations are appended in the same database transaction as the approval state change, so an approval cannot exist without its evidence. Access requires the audit read permission.

Each server also keeps its own History tab with recent bounded operational entries. FM Dojo does not yet produce a single fleet-wide report of every server change; use the server History view for per-server detail and Team Audit for governance evidence.

Team-owned resources

FileMaker Servers, FM Deploy deployments, and Server Deploy plans created inside an Enterprise team are owned by the team while still recording who created them. Authorized teammates reach them through the team, so someone leaving does not orphan server access, run history, approval work, or audit exports. A resource belonging to another team is simply not found. Older personal resources created before the team existed are not silently shared.

Snapshot governance

Enterprise-entitled accounts can attach ticket, work order, compliance scope, and change reason details to a Snapshot version, so a schema change you may need to explain later carries its own context. A Snapshot review is technical sign-off on the exact diff; it does not authorize a production deployment. The owning Project decides whether the reviewer may deploy or a separate approver must authorize the exact deployment.

Getting Enterprise

The Enterprise grant is provisioned for a verified team subscription and recorded on the team. If the team subscription lapses, the grant is withdrawn and the team returns to standard owner and admin behavior. To start, get in touch.

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
  • Cloudflare Turnstile — protects email/password login and account creation from automated abuse

All sessions are encrypted and expire automatically. Rate limiting is applied to all API routes, and credential login/signup can require a CAPTCHA challenge before submission.

AI Preferences

Customize how the AI responds from the Account page, under the AI Preferences section:

  • AI Chat model — choose the provider and model that powers your AI features. Current options include GPT-5.6, Claude Fable 5, Claude Opus 4.8, Claude Sonnet 5, and legacy models for compatibility.
  • Apprentice BYO AI — on the $19/month plan, add an OpenAI, Anthropic, or supported OpenAI-compatible provider key, choose a model, and make it active. The provider bills your API usage directly; FMDojo does not spend managed tokens.
  • Response Speed — set this from Account → AI Preferences to choose Fast, Balanced, or Thorough for future chat messages.
  • 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.
  • Use Opus for every chat — when your AI provider is set to Claude, this always runs Claude Opus, the most capable model, regardless of the model selection above. More thorough on complex FileMaker logic, but uses more tokens.
  • Deeper reasoning — when your AI provider is set to Claude, this asks Claude to reason through the problem step by step before answering. Better for tricky scripts and calculations; slightly slower. Both Claude options are off by default.
  • Screen capture for troubleshooting — opt-in checkbox that lets FM Dojo capture your screen to help diagnose an issue. Off by default; your browser still prompts for the actual capture permission when it is needed.

Changes take effect on the next message you send.

Keyboard shortcuts

Open Account → Keyboard Shortcuts to customize FM Dojo commands. You can assign shortcuts for common destinations such as Chat, Code, Connections, Connectors, Snapshots, Canvas, Tools, Training, Dashboard, Subscription, and theme switching.

  • Capture a shortcut by clicking into a field and pressing the keys you want.
  • FM Dojo warns when a shortcut overlaps with another FM Dojo command or a common Chrome, Edge, Safari, operating system, Word, or FileMaker shortcut.
  • Global search is available from anywhere with Cmd+K, Ctrl+K, or /.

Account profile

Set your account profile in Account → Profile to tell FM Dojo how you use it:

  • Individual — personal use or solo developer.
  • Small Business — small team or consulting practice.
  • Enterprise — a profile choice for a large organization. Security controls still require a separately provisioned Enterprise grant.

Your activity

When you sign in, the dashboard shows a Your activity section with a quick recap of what you've done with FM Dojo. Stat tiles appear for any of these that are non-zero:

  • AI conversations — total chat sessions started
  • Snapshots — FileMaker schemas you've uploaded or synced
  • Deployments — FM Deploy or Server Deploy runs completed
  • MCP tokens — AI Data Access tokens you've generated
  • Tokens used — cumulative FM Dojo token spend, shown as a formatted number (e.g. 14K, 1.2M)

The section is hidden entirely until you have at least one recorded activity — it will not appear on a brand-new account.

Enterprise trust-first controls

For a provisioned Enterprise team, FM Dojo enables trust-first review controls for LiveConnect Push to FM, FM Deploy, and Server Deploy. Choosing the Enterprise organization profile does not grant the security entitlement. Enterprise deploy planning requires the following before any production-impacting change is approved:

  • Downtime window — scheduled time for the change
  • Rollback anchor — confirmed restore point before deploying
  • Active-user check — verification that no users are in the affected file
  • DMT/FMDMT expectation — whether FileMaker Data Migration Tool work is expected
  • Ticket or work-order context — linked change request
  • Approval — explicit sign-off before the push proceeds
  • Audit evidence — notes captured for compliance records
Tip: Trust-first controls apply to LiveConnect Push to FM and manual FM Deploy runs. Manual script edits and ordinary snapshot uploads are not affected. Snapshot governance metadata is Enterprise-only.

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. Text scales from 70% to 150% in ten-percent steps; A returns to 100%. Your preference is saved and restored automatically on your next visit, and the same controls are in the FM Dojo Desktop toolbar. Page content scales while the navigation stays a fixed size, so the controls never scroll away from you.

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, from 70% to 150%. The setting is remembered between sessions on that computer, in both the web app and FM Dojo Desktop.

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

ShortcutAction
TabAccept autocomplete suggestion
Cmd/Ctrl + FFind & replace
Cmd/Ctrl + ZUndo
Cmd/Ctrl + Shift + ZRedo

General tips

  • Open global search with Cmd+K, Ctrl+K, or / to jump straight to tools, settings, docs, integrations, and support pages.
  • 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.