[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$faRQUOaNq7HxVe-VyVjMeDwTFglFSfhON0MoO5qY02B8":3},{"item":4},{"id":5,"idKnowledge":6,"idDomain":7,"idCluster":8,"kindOverride":9,"slug":10,"title":11,"description":12,"bodyMarkdown":13,"bodyHtml":14,"author":15,"date":16,"createdAt":17,"topics":18,"image":25,"hasDownload":26,"fileName":27,"youtubeId":28,"domainCrumb":29,"clusterCrumb":32},"392","6C180FBF-397F-3943-9F44-BA4F2F2E3B84","E46BDB0A-2979-1E40-93F7-AC40185848A5","33710AE6-6A9E-F741-A6A4-9DFCC5810440","article","how-to-use-webhooks-with-filemaker","How to use webhooks with FileMaker","A practical guide to receiving and sending webhooks in FileMaker, with real setup steps, gotchas, and when to use Data API vs a middleware layer.","Your webshop fires an order confirmation. Your shipping partner updates a tracking status. Your payment provider marks an invoice as paid. All of that happens in real time, in systems that live outside FileMaker — and right now, someone on your team is either refreshing a dashboard to see if anything changed, or manually copying the update into your FileMaker solution once they notice it. That's the problem webhooks solve: instead of FileMaker asking \"anything new yet?\" every few minutes, the other system taps FileMaker on the shoulder the instant something happens.\n\nThis article walks through exactly how to set that up — both directions: FileMaker receiving webhooks from other systems, and FileMaker sending webhooks out.\n\n## What is a webhook, in plain terms?\n\nA webhook is a small HTTP message that one system sends to another the moment something happens — no polling, no scheduled check, no delay. Think of it as the opposite of an API call you initiate yourself. Instead of your FileMaker script asking Shopify \"do you have any new orders?\" every 5 minutes, Shopify sends FileMaker a message the second an order comes in: \"here's order #4821, here's the customer, here's the total.\"\n\nUnder the hood a webhook is almost always:\n- an HTTP POST request\n- with a JSON (sometimes XML) payload in the body\n- sent to a URL you control\n- often signed or authenticated with a token or secret so you can trust the sender\n\nThat's it. No special protocol, no proprietary format — which is exactly why it fits naturally with FileMaker's Data API and script triggers.\n\n## Why do FileMaker teams even need webhooks?\n\nIn practice, the trigger is almost always one of these situations:\n\n- **An e-commerce order needs to land in FileMaker instantly**, not five minutes later, so the warehouse team can start picking before the customer even gets their confirmation email.\n- **A payment status changes in Mollie, Stripe, or Exact Online**, and the invoice record in FileMaker needs to flip to \"paid\" without anyone manually checking.\n- **A support ticket is created in a helpdesk tool**, and it needs to appear in the FileMaker CRM the moment it's opened, tagged to the right customer record.\n- **A signed document comes back from a service like DocuSign or Signable**, and the FileMaker contract record needs to update automatically.\n\nIn every one of these, polling — a scheduled script that checks every 5 or 15 minutes — technically works, but it's slower, it hammers the external API with unnecessary requests, and it can burn through rate limits fast if you're checking dozens of records \"just in case.\" Webhooks flip that model: FileMaker sits quietly until something actually happens, then reacts immediately.\n\n## How do you receive a webhook in FileMaker?\n\nFileMaker itself doesn't have a built-in \"webhook listener\" the way, say, a Node.js server does — FileMaker Server doesn't run an open HTTP endpoint waiting for arbitrary incoming POSTs out of the box. So receiving webhooks takes one of two approaches:\n\n### Option 1: A lightweight middleware endpoint in front of FileMaker\nYou stand up a small endpoint (often a tiny script on your own server, or a serverless function) whose only job is to:\n1. Accept the incoming POST from the external service.\n2. Validate the signature\u002Fsecret so you know it's genuine.\n3. Reformat the payload if needed.\n4. Call the FileMaker Data API to create or update a record with that data.\n\nThis is the pattern we use most often at Loggix, because it keeps FileMaker Server itself untouched — it never has to be exposed as a public webhook receiver — and it gives you a place to log, retry, and debug failed deliveries before FileMaker ever sees them.\n\n### Option 2: FileMaker Data API as the direct receiver\nSome tools let you point a webhook straight at a Data API endpoint with a token in the header. This works for simple cases, but it has real limits: Data API tokens expire, the payload shape has to match what your script expects exactly, and there's no easy place to inspect or replay a failed delivery. We generally only recommend this for internal, low-stakes integrations — not for anything customer-facing like payment confirmations.\n\n### Step-by-step: setting up an incoming webhook\n1. **Pick or build your receiving endpoint** (middleware function or a Data API endpoint).\n2. **Get the webhook URL registered** in the sending system (Shopify, Mollie, DocuSign, your helpdesk, etc.).\n3. **Add a shared secret or signature check** — never accept an unauthenticated POST as truth.\n4. **Map the incoming JSON fields to your FileMaker schema.** Don't assume field names will match; build a translation layer.\n5. **Write the FileMaker script that creates\u002Fupdates the record**, using the Data API or a scripted `Insert from URL` \u002F server-side script triggered by the middleware.\n6. **Log every incoming payload**, at least temporarily, so when something looks wrong three weeks from now you can see exactly what was sent.\n7. **Handle duplicates and retries.** Most webhook senders retry on timeout — build your script so receiving the same order twice doesn't create two records.\n\n[[IMAGE:left|external service sending webhook POST into FileMaker via middleware endpoint]]\n\n## How do you send a webhook from FileMaker?\n\nThis direction is more straightforward, because FileMaker is the initiator and you're fully in control.\n\n1. Use the **Insert from URL** script step (or the newer `curl`-based options in recent FileMaker versions) with the HTTP method set to POST.\n2. Build the JSON payload from your FileMaker fields — use the `JSONSetElement` function to construct it cleanly rather than string-concatenating JSON by hand.\n3. Set the target URL to whatever endpoint the receiving system expects (a Slack channel webhook, a Zapier\u002FMake catch hook, your own middleware, etc.).\n4. Trigger the script from the event that matters: a record commit, a status field changing, a button press, or a server-side schedule.\n5. Capture the response code and body, and write it to a log field — don't fire-and-forget silently, or you'll never know when a delivery started failing.\n\nA common real example: when an invoice record in FileMaker is marked \"Sent,\" a script fires a webhook to Slack so the finance team gets an instant notification in their #invoices channel — no one has to check FileMaker itself to know it went out.\n\n## What about FmBetterForms and Klai — do they fit into this?\n\nYes, in two different ways.\n\n**FmBetterForms** is often used to build the modern web-facing forms and portals that generate the webhook events in the first place — a customer-facing intake form, a signup page, or an approval form that lives partly outside the native FileMaker client. When someone submits that form, it's a natural trigger point to fire a webhook (or call the Data API directly) into the core FileMaker solution, keeping the web layer and the data layer cleanly separated.\n\n**Klai**, as an AI layer inside FileMaker, is useful on the *receiving* side. Once a webhook payload lands — a support ticket, a contract, a long customer message — Klai can be used to summarize it, classify it, or draft a suggested response before a human even opens the record. So the webhook brings the data in instantly, and the AI layer makes that instant delivery actually useful, instead of just faster.\n\n## What commonly goes wrong with FileMaker webhooks?\n\n- **No retry handling** — the sender's webhook times out once, and that record is silently lost forever unless you built in retry logic or at least alerting.\n- **No idempotency check** — the same event arrives twice (which happens more often than people expect) and creates a duplicate record.\n- **Hard dependency on FileMaker Server uptime** — if FileMaker Server is down for maintenance and there's no middleware buffer, incoming webhooks just fail with no record they ever arrived.\n- **Unauthenticated endpoints** — accepting any POST without checking a signature or secret opens the door to spoofed data.\n- **Schema drift** — the external service changes its payload format in an update, and nobody notices until records start arriving empty.\n\n## Checklist: is your FileMaker webhook setup production-ready?\n\n- [ ] Every incoming webhook is authenticated (signature or shared secret)\n- [ ] Payloads are logged before processing, for at least a rolling window\n- [ ] Duplicate deliveries don't create duplicate records\n- [ ] Failed deliveries are retried or alerted on, not silently dropped\n- [ ] There's a middleware buffer if FileMaker Server isn't always reachable\n- [ ] Outgoing webhooks log their response code\u002Fbody\n- [ ] Someone owns monitoring this — it's not \"set and forget\"\n\n## Frequently asked questions\n\n**Can FileMaker Server receive webhooks directly, without middleware?**\nTechnically yes, via the Data API, but it's fragile for anything business-critical — no built-in retry buffering, no easy inspection of failed calls, and token management adds friction. For internal or low-risk use cases it's fine; for payment or order data, a middleware layer is worth the extra setup.\n\n**Do webhooks replace the need for a full API integration?**\nNo — webhooks are event notifications, not a full data sync mechanism. You typically still need API calls for pulling historical data, batch syncs, or anything the webhook didn't cover. Webhooks handle the \"tell me the instant this happens\" part; APIs handle the rest.\n\n**Is FileMaker's Data API required to use webhooks at all?**\nFor receiving, yes, in most setups — it's the mechanism that actually writes the incoming data into records. For sending, you don't need the Data API; `Insert from URL` from within a script is enough.\n\n**How is this different from what's covered in the broader connectivity guide?**\nIf you want the wider picture — how webhooks fit alongside API connectors, middleware platforms, and other integration patterns for linking FileMaker to modern SaaS tools — see the full overview on [how to connect FileMaker to modern applications and services](https:\u002F\u002Floggix.com\u002Fen\u002Fblog\u002Fhow-to-connect-filemaker-to-modern-applications-and-services).\n\nGetting webhooks right in FileMaker is less about the script step itself and more about the surrounding plumbing — authentication, logging, retries, and deciding when a middleware layer is worth building. If you're weighing whether your current setup (or a planned integration with a webshop, payment provider, or helpdesk tool) needs that middleware layer, or whether Data API alone will hold up, Loggix can map out the right architecture with you — from a custom FileMaker build, to an API connector, to adding an AI layer like Klai on top of the data that comes in.","\u003Cp>Your webshop fires an order confirmation. Your shipping partner updates a tracking status. Your payment provider marks an invoice as paid. All of that happens in real time, in systems that live outside FileMaker — and right now, someone on your team is either refreshing a dashboard to see if anything changed, or manually copying the update into your FileMaker solution once they notice it. That&#39;s the problem webhooks solve: instead of FileMaker asking &quot;anything new yet?&quot; every few minutes, the other system taps FileMaker on the shoulder the instant something happens.\u003C\u002Fp>\n\u003Cp>This article walks through exactly how to set that up — both directions: FileMaker receiving webhooks from other systems, and FileMaker sending webhooks out.\u003C\u002Fp>\n\u003Ch2>What is a webhook, in plain terms?\u003C\u002Fh2>\n\u003Cp>A webhook is a small HTTP message that one system sends to another the moment something happens — no polling, no scheduled check, no delay. Think of it as the opposite of an API call you initiate yourself. Instead of your FileMaker script asking Shopify &quot;do you have any new orders?&quot; every 5 minutes, Shopify sends FileMaker a message the second an order comes in: &quot;here&#39;s order #4821, here&#39;s the customer, here&#39;s the total.&quot;\u003C\u002Fp>\n\u003Cp>Under the hood a webhook is almost always:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>an HTTP POST request\u003C\u002Fli>\n\u003Cli>with a JSON (sometimes XML) payload in the body\u003C\u002Fli>\n\u003Cli>sent to a URL you control\u003C\u002Fli>\n\u003Cli>often signed or authenticated with a token or secret so you can trust the sender\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>That&#39;s it. No special protocol, no proprietary format — which is exactly why it fits naturally with FileMaker&#39;s Data API and script triggers.\u003C\u002Fp>\n\u003Ch2>Why do FileMaker teams even need webhooks?\u003C\u002Fh2>\n\u003Cp>In practice, the trigger is almost always one of these situations:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>An e-commerce order needs to land in FileMaker instantly\u003C\u002Fstrong>, not five minutes later, so the warehouse team can start picking before the customer even gets their confirmation email.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>A payment status changes in Mollie, Stripe, or Exact Online\u003C\u002Fstrong>, and the invoice record in FileMaker needs to flip to &quot;paid&quot; without anyone manually checking.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>A support ticket is created in a helpdesk tool\u003C\u002Fstrong>, and it needs to appear in the FileMaker CRM the moment it&#39;s opened, tagged to the right customer record.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>A signed document comes back from a service like DocuSign or Signable\u003C\u002Fstrong>, and the FileMaker contract record needs to update automatically.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>In every one of these, polling — a scheduled script that checks every 5 or 15 minutes — technically works, but it&#39;s slower, it hammers the external API with unnecessary requests, and it can burn through rate limits fast if you&#39;re checking dozens of records &quot;just in case.&quot; Webhooks flip that model: FileMaker sits quietly until something actually happens, then reacts immediately.\u003C\u002Fp>\n\u003Ch2>How do you receive a webhook in FileMaker?\u003C\u002Fh2>\n\u003Cp>FileMaker itself doesn&#39;t have a built-in &quot;webhook listener&quot; the way, say, a Node.js server does — FileMaker Server doesn&#39;t run an open HTTP endpoint waiting for arbitrary incoming POSTs out of the box. So receiving webhooks takes one of two approaches:\u003C\u002Fp>\n\u003Ch3>Option 1: A lightweight middleware endpoint in front of FileMaker\u003C\u002Fh3>\n\u003Cp>You stand up a small endpoint (often a tiny script on your own server, or a serverless function) whose only job is to:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Accept the incoming POST from the external service.\u003C\u002Fli>\n\u003Cli>Validate the signature\u002Fsecret so you know it&#39;s genuine.\u003C\u002Fli>\n\u003Cli>Reformat the payload if needed.\u003C\u002Fli>\n\u003Cli>Call the FileMaker Data API to create or update a record with that data.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>This is the pattern we use most often at Loggix, because it keeps FileMaker Server itself untouched — it never has to be exposed as a public webhook receiver — and it gives you a place to log, retry, and debug failed deliveries before FileMaker ever sees them.\u003C\u002Fp>\n\u003Ch3>Option 2: FileMaker Data API as the direct receiver\u003C\u002Fh3>\n\u003Cp>Some tools let you point a webhook straight at a Data API endpoint with a token in the header. This works for simple cases, but it has real limits: Data API tokens expire, the payload shape has to match what your script expects exactly, and there&#39;s no easy place to inspect or replay a failed delivery. We generally only recommend this for internal, low-stakes integrations — not for anything customer-facing like payment confirmations.\u003C\u002Fp>\n\u003Ch3>Step-by-step: setting up an incoming webhook\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\u003Cstrong>Pick or build your receiving endpoint\u003C\u002Fstrong> (middleware function or a Data API endpoint).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Get the webhook URL registered\u003C\u002Fstrong> in the sending system (Shopify, Mollie, DocuSign, your helpdesk, etc.).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Add a shared secret or signature check\u003C\u002Fstrong> — never accept an unauthenticated POST as truth.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Map the incoming JSON fields to your FileMaker schema.\u003C\u002Fstrong> Don&#39;t assume field names will match; build a translation layer.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Write the FileMaker script that creates\u002Fupdates the record\u003C\u002Fstrong>, using the Data API or a scripted \u003Ccode>Insert from URL\u003C\u002Fcode> \u002F server-side script triggered by the middleware.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Log every incoming payload\u003C\u002Fstrong>, at least temporarily, so when something looks wrong three weeks from now you can see exactly what was sent.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Handle duplicates and retries.\u003C\u002Fstrong> Most webhook senders retry on timeout — build your script so receiving the same order twice doesn&#39;t create two records.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>[[IMAGE:left|external service sending webhook POST into FileMaker via middleware endpoint]]\u003C\u002Fp>\n\u003Ch2>How do you send a webhook from FileMaker?\u003C\u002Fh2>\n\u003Cp>This direction is more straightforward, because FileMaker is the initiator and you&#39;re fully in control.\u003C\u002Fp>\n\u003Col>\n\u003Cli>Use the \u003Cstrong>Insert from URL\u003C\u002Fstrong> script step (or the newer \u003Ccode>curl\u003C\u002Fcode>-based options in recent FileMaker versions) with the HTTP method set to POST.\u003C\u002Fli>\n\u003Cli>Build the JSON payload from your FileMaker fields — use the \u003Ccode>JSONSetElement\u003C\u002Fcode> function to construct it cleanly rather than string-concatenating JSON by hand.\u003C\u002Fli>\n\u003Cli>Set the target URL to whatever endpoint the receiving system expects (a Slack channel webhook, a Zapier\u002FMake catch hook, your own middleware, etc.).\u003C\u002Fli>\n\u003Cli>Trigger the script from the event that matters: a record commit, a status field changing, a button press, or a server-side schedule.\u003C\u002Fli>\n\u003Cli>Capture the response code and body, and write it to a log field — don&#39;t fire-and-forget silently, or you&#39;ll never know when a delivery started failing.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>A common real example: when an invoice record in FileMaker is marked &quot;Sent,&quot; a script fires a webhook to Slack so the finance team gets an instant notification in their #invoices channel — no one has to check FileMaker itself to know it went out.\u003C\u002Fp>\n\u003Ch2>What about FmBetterForms and Klai — do they fit into this?\u003C\u002Fh2>\n\u003Cp>Yes, in two different ways.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>FmBetterForms\u003C\u002Fstrong> is often used to build the modern web-facing forms and portals that generate the webhook events in the first place — a customer-facing intake form, a signup page, or an approval form that lives partly outside the native FileMaker client. When someone submits that form, it&#39;s a natural trigger point to fire a webhook (or call the Data API directly) into the core FileMaker solution, keeping the web layer and the data layer cleanly separated.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Klai\u003C\u002Fstrong>, as an AI layer inside FileMaker, is useful on the \u003Cem>receiving\u003C\u002Fem> side. Once a webhook payload lands — a support ticket, a contract, a long customer message — Klai can be used to summarize it, classify it, or draft a suggested response before a human even opens the record. So the webhook brings the data in instantly, and the AI layer makes that instant delivery actually useful, instead of just faster.\u003C\u002Fp>\n\u003Ch2>What commonly goes wrong with FileMaker webhooks?\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>No retry handling\u003C\u002Fstrong> — the sender&#39;s webhook times out once, and that record is silently lost forever unless you built in retry logic or at least alerting.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>No idempotency check\u003C\u002Fstrong> — the same event arrives twice (which happens more often than people expect) and creates a duplicate record.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Hard dependency on FileMaker Server uptime\u003C\u002Fstrong> — if FileMaker Server is down for maintenance and there&#39;s no middleware buffer, incoming webhooks just fail with no record they ever arrived.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Unauthenticated endpoints\u003C\u002Fstrong> — accepting any POST without checking a signature or secret opens the door to spoofed data.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Schema drift\u003C\u002Fstrong> — the external service changes its payload format in an update, and nobody notices until records start arriving empty.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Checklist: is your FileMaker webhook setup production-ready?\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cinput disabled=\"\" type=\"checkbox\"> Every incoming webhook is authenticated (signature or shared secret)\u003C\u002Fli>\n\u003Cli>\u003Cinput disabled=\"\" type=\"checkbox\"> Payloads are logged before processing, for at least a rolling window\u003C\u002Fli>\n\u003Cli>\u003Cinput disabled=\"\" type=\"checkbox\"> Duplicate deliveries don&#39;t create duplicate records\u003C\u002Fli>\n\u003Cli>\u003Cinput disabled=\"\" type=\"checkbox\"> Failed deliveries are retried or alerted on, not silently dropped\u003C\u002Fli>\n\u003Cli>\u003Cinput disabled=\"\" type=\"checkbox\"> There&#39;s a middleware buffer if FileMaker Server isn&#39;t always reachable\u003C\u002Fli>\n\u003Cli>\u003Cinput disabled=\"\" type=\"checkbox\"> Outgoing webhooks log their response code\u002Fbody\u003C\u002Fli>\n\u003Cli>\u003Cinput disabled=\"\" type=\"checkbox\"> Someone owns monitoring this — it&#39;s not &quot;set and forget&quot;\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Frequently asked questions\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>Can FileMaker Server receive webhooks directly, without middleware?\u003C\u002Fstrong>\nTechnically yes, via the Data API, but it&#39;s fragile for anything business-critical — no built-in retry buffering, no easy inspection of failed calls, and token management adds friction. For internal or low-risk use cases it&#39;s fine; for payment or order data, a middleware layer is worth the extra setup.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Do webhooks replace the need for a full API integration?\u003C\u002Fstrong>\nNo — webhooks are event notifications, not a full data sync mechanism. You typically still need API calls for pulling historical data, batch syncs, or anything the webhook didn&#39;t cover. Webhooks handle the &quot;tell me the instant this happens&quot; part; APIs handle the rest.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Is FileMaker&#39;s Data API required to use webhooks at all?\u003C\u002Fstrong>\nFor receiving, yes, in most setups — it&#39;s the mechanism that actually writes the incoming data into records. For sending, you don&#39;t need the Data API; \u003Ccode>Insert from URL\u003C\u002Fcode> from within a script is enough.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>How is this different from what&#39;s covered in the broader connectivity guide?\u003C\u002Fstrong>\nIf you want the wider picture — how webhooks fit alongside API connectors, middleware platforms, and other integration patterns for linking FileMaker to modern SaaS tools — see the full overview on \u003Ca href=\"https:\u002F\u002Floggix.com\u002Fen\u002Fblog\u002Fhow-to-connect-filemaker-to-modern-applications-and-services\">how to connect FileMaker to modern applications and services\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Getting webhooks right in FileMaker is less about the script step itself and more about the surrounding plumbing — authentication, logging, retries, and deciding when a middleware layer is worth building. If you&#39;re weighing whether your current setup (or a planned integration with a webshop, payment provider, or helpdesk tool) needs that middleware layer, or whether Data API alone will hold up, Loggix can map out the right architecture with you — from a custom FileMaker build, to an API connector, to adding an AI layer like Klai on top of the data that comes in.\u003C\u002Fp>\n","Jeroen","2026-07-24",1784901678000,[19,20,21,22,23,24],"FileMaker webhooks","FileMaker API integration","FileMaker Data API","real-time data sync","FileMaker automation","Claris integrations","\u002Fapi\u002Fknowledge\u002Fimage\u002F392\u002F?v=4bc38ec22a37",false,"",null,{"title":30,"slug":31},"FileMaker and Claris","filemaker-and-claris",{"title":33,"slug":34},"How to connect FileMaker to modern applications and services","how-to-connect-filemaker-to-modern-applications-and-services"]