MBS cURL Async - Stop Waiting

If you've ever clicked a button in FileMaker that calls a web service and then watched the entire interface freeze while you wait, you already know the cost of synchronous communication. A two second delay is annoying, a thirty second delay is unacceptable, and a minute long response from a busy API can derail an entire workflow. This tutorial tackles the fundamental blocking problem head on and shows how to keep your users productive while requests run quietly in the background.

Watch the contrast unfold side by side as the native Insert from URL locks the screen during a five second delay while the same request through the MBS plugin fires off, returns control immediately, and lets you keep typing, navigating, and clicking through the solution. The technique hinges on a tag based routing system that lets every outbound call carry its own identifier, so when responses return at different times from different services, each one triggers exactly the right follow up script. You'll see how multiple parallel requests to completely different endpoints can be dispatched at once and handled independently as their replies arrive, transforming what was a serial bottleneck into a concurrent pipeline.

Watch while we walk through the entire custom function that wraps this behavior into a single reusable call. We'll take a deep dive on the headers hack required to work around a plugin limitation, the dual progress system that combines script driven updates with the plugin's own progress dialog, the finished script handler that releases cURL sessions from memory, the JWT token pattern for authenticated APIs, the user agent strategy for server side metrics, and the debugging variable approach that exposes every option the function sets. There is also context on local Docker based testing with HTTPbin so you can develop against a private endpoint before pointing at production, plus the reasoning behind dry coding constants and avoiding literal script names in code.

AttachmentSize
MBS_CurlAsync.zip58.72 KB
Tags: