FileMaker\u00AE Integration
FileMaker PDF Generation
Generate and fill PDFs from FileMaker Pro, Go, Server, and Cloud. No plugins needed — use native Insert from URL with cURL. Cloud-compatible, usage-based pricing.
How it works
Three script steps to a PDF
Build JSON, call the API, download the result. All using native FileMaker functions.
Build JSON with JSONSetElement
Use FileMaker's native JSONSetElement function to build your API payload. Map fields from your FileMaker records to template variables.
Call API with Insert from URL
Use Insert from URL with cURL options. Set the Authorization header with your API key and POST the JSON payload to PDFForge.
Download PDF to container
Parse the download_url from the response with JSONGetElement. Use a second Insert from URL to download the PDF into a container field.
Integration
Complete FileMaker script
Build JSON with JSONSetElement, call the API with Insert from URL, download the PDF into a variable, then set the container field.
# --- Build JSON payload --- Set Variable [ $payload ; Value: JSONSetElement ( "\{\}" ; [ "template_id" ; "tpl_invoice" ; JSONString ] ; [ "data.company" ; Company::Name ; JSONString ] ; [ "data.amount" ; Invoices::Total ; JSONNumber ] ) ] # --- Call PDFForge API --- Insert from URL [ Target: $result ; URL: "https://api.pdfforge.dev/v1/documents/generate" ; cURL options: "--request POST" & "--header \"Authorization: Bearer " & $apiKey & "\" & "--header \"Content-Type: application/json\"" & "--data @$payload" ] # --- Download PDF to container --- Set Variable [ $url ; JSONGetElement ( $result ; "download_url" ) ] Insert from URL [ Target: $pdf ; URL: $url ; cURL: "--FM-return-container-variable" ] Set Field [ Documents::PDF_File ; $pdf ]
Benefits
Why FileMaker developers choose PDFForge
Cloud-compatible, no plugins, usage-based pricing. Built for the modern FileMaker ecosystem.
Works on FileMaker Cloud
No plugins to install, no server config. Uses native Insert from URL — deploys anywhere FileMaker runs, including FileMaker Cloud.
One API call, not 200 functions
Forget DynaPDF's hundreds of functions. Build JSON with JSONSetElement, call Insert from URL, done. A complete PDF in 3 script steps.
No per-seat licensing
MBS + DynaPDF starts at $400+ and can reach $2,000+ depending on license tier, plus per-seat licensing. PDFForge is usage-based — one API key covers all your users. Start free with 50 docs/month.
HTML templates, not layout hacks
Design in HTML/CSS instead of wrestling with FileMaker layouts. No font substitution issues, no Error 800. Pixel-perfect output every time.
Sandbox mode for testing
Use pk_test_ keys to generate watermarked documents at no cost. Test your entire integration before going live. Switch to pk_live_ when ready.
Fill existing PDF forms too
Already have PDF forms? Upload them as templates and fill AcroForm fields directly. No need to rebuild anything — reuse what you already have.
Comparison
PDFForge vs. MBS + DynaPDF
FAQ
Frequently asked questions
Yes. PDFForge uses only native FileMaker features — Insert from URL and JSON functions — which are fully supported on FileMaker Cloud. No plugins or custom functions needed.
After Insert from URL, check Get(LastError). If it returns 0, parse the JSON response. If the response contains an "error" key, read the error code and message. Wrap the API call in an If/End If block to handle errors gracefully in your script.
Yes. Insert from URL works on FileMaker Go (iOS/iPadOS). Your mobile users can generate PDFs from their devices using the same script you use on desktop and server.
WebDirect supports Insert from URL on the server side. Your scripts will call the PDFForge API from the FileMaker Server, not from the browser. This works reliably and avoids CORS restrictions.
MBS + DynaPDF pricing starts at $400+ and can reach $2,000+ depending on license tier, plus per-seat licensing. PDFForge starts free with 50 documents per month. The Starter plan at $29/month includes 500 documents. For most FileMaker solutions, PDFForge is significantly cheaper, especially with multiple users.
Absolutely. Create an HTML template with your invoice layout, including your company logo, line items table with {{#each items}}, totals, and payment details. Upload it once, then generate unique invoices by passing different data each time.
Yes, and we recommend it. Running API calls via Perform Script on Server (PSOS) offloads the network request from the client, making it faster and more reliable. The JSON functions and Insert from URL work identically in PSOS.
Store your API key in a single-record "Settings" table, not in the script itself. This makes it easy to update and keeps it out of your script code. For additional security, use a Custom Function or a global variable set at login.
Ready to generate your first document?
Start free with 50 documents per month. No credit card required. Up and running in under 5 minutes.