Home › PAC Software › PAC Form Bridge for Formidable Forms › Documentation
PAC SOFTWARE DOCS
PAC Form Bridge for Formidable Forms
This page is a practical guide to configuring and using PAC Form Bridge with the free version of Formidable Forms. The plugin sends JSON requests to a FileMaker script and applies the actions returned by the script in the browser.
Version 1.0.0 • Official documentation
Formidable Forms
PAC Form Bridge
FileMaker script
Browser actions
1. Overview
PAC Form Bridge is the connection between Formidable Forms and FileMaker. It lets you use a web form as an interface for application logic running in FileMaker, while keeping connection configuration and credentials on the WordPress server. Each form has its own FileMaker configuration: FileMaker Server URL, Data API version, database, layout, Main Script, username, password and timeout.
PAC Form Bridge can call FileMaker at three points: when the form opens (form_open), when a configured field changes (field_change) and when the user presses a PAC Action Button or the final button (button). FileMaker receives JSON containing the form context, event and the field values specified by the configuration.
Response applied in the browser
The FileMaker script performs calculations, searches and business logic, then returns a JSON response. PAC Form Bridge applies the actions in the received order: it can set or clear values, replace select, radio and checkbox options, show or hide fields, and enable or disable them. A field accepts these updates only when it is authorised through Allow FileMaker responses to update this field and its options.
Separate responsibilities, one flow
The plugin uses the native features of the free version of Formidable Forms and does not require Formidable Forms Pro for this flow. PAC Form Bridge does not replace FileMaker: it connects the form to the Main Script and leaves calculations, searches and data management to the FileMaker solution. Responses applied in the browser do not create new recursive field_change calls.
2. Key benefits
PAC Form Bridge brings FileMaker logic into the form experience without moving credentials into the browser.
Free Formidable Forms
The form remains built and managed with Formidable’s native tools, without requiring Formidable Forms Pro for the PAC flow.
Isolated configuration
Each form has its own FileMaker Server, database, layout, Main Script, account and timeout. Different forms can therefore communicate with different files or scripts.
Real-time interaction
Opening the form, changing a field and clicking a button can start separate calls to the Main Script.
Dynamic forms
FileMaker can return values, select/radio/checkbox options and instructions to show, hide, enable or disable fields.
Explicit control
Each field can allow or refuse FileMaker responses. Actions targeting fields that do not exist or are not authorised are ignored.
Complete final submit
The PAC Action Button and the final submit can send all current form values and any selected PAC files.
Logs and diagnostics
Every call has a request_id and can be checked in Tools → PAC Form Bridge Logs, with the outgoing JSON temporarily available for troubleshooting.
PAC Form Bridge does not replace FileMaker business logic and does not impose a database schema: WordPress manages the form and secure request transport, while the Main Script decides how to interpret the data and which response to return.
3. How it works
PAC Form Bridge adds its settings at several points in the Formidable Forms editor. The connection always belongs to the individual form; field and button options define which interactions to activate.
Configuration points
1
Form Settings → PAC Form Bridge. Configure the form’s FileMaker connection here: FileMaker Server URL, Data API version, Database, Default layout, Default Main Script, Username, Password and Timeout. On this screen, you can also enable Call the Main Script once when this form opens, choose the field that contains the optional FileMaker record ID and temporarily enable Include the outgoing script JSON in the PAC log for diagnostics.
2
Data field → field options → PAC Form Bridge. For supported fields, you can enable Call FileMaker when this field changes. The change sends FileMaker the field’s ID, field_key and value. In the same place, select the optional Parameter name, additional fields to include in the request and the Allow FileMaker responses to update this field and its options permission.
3
Select, radio and checkbox. If the field is authorised, FileMaker can return replace_options to replace options dynamically. Every option has a technical value and a displayed label; an option can also include disabled: true.
4
File field → PAC Form Bridge options. A file field can be connected to a FileMaker Container field. Here you specify the Container name, accepted file types and whether multiple files are allowed. Uploading requires the form to have the FileMaker record ID configured in the form settings.
5
Add Field → PAC Action Button. This PAC Form Bridge-specific element performs an explicit call to the Main Script. The button sends all current form fields and selected PAC files; it can also send an additional name/value parameter and define what happens after a successful FileMaker response, such as keeping the form open, showing a completion message or redirecting.
6
Formidable Submit field → PAC Form Bridge final submit. The native submit can be enabled as the final PAC submission. In this case, Formidable’s normal submission is intercepted and converted into a button request with the final role, containing all current fields and any selected files.
7
Tools → PAC Form Bridge Logs. Check requests, responses, errors and request_id here. The request ID links the error shown in the browser to the call recorded by the server.
Typical flow: Formidable Forms → PAC Form Bridge → FileMaker
1
The user opens the form. If initialisation is active, PAC Form Bridge sends a form_open request with the initial or current values.
2
The user fills in or changes a configured field. Formidable detects the change and PAC Form Bridge prepares a field_change request with the field that triggered the event and any selected additional fields.
3
The WordPress server retrieves the form configuration, keeps credentials server-side and calls FileMaker Server through the configured Data API and Main Script.
4
FileMaker receives the JSON as a script parameter, reads event and fields, performs calculations or searches, and returns a valid JSON response.
5
PAC Form Bridge validates and normalises the response, discards targets that do not exist or are not authorised, and applies the actions in the received order.
6
The browser updates the form: field values, options, visibility and state change without automatically triggering another field_change call.
7
When the user presses a PAC Action Button or the final submit, PAC Form Bridge sends a button request with all current data and any files; FileMaker runs the final script and returns the outcome.
8
If an error occurs, the user sees the request message and the administrator uses the request_id in PAC Form Bridge Logs for diagnosis.
4. Requirements
To use PAC Form Bridge version 1.0.0, you need:
◉
WordPress with the free version of Formidable Forms active.
◉
PAC Form Bridge 1.0.0 installed and active.
◉
FileMaker Server reachable from the WordPress server over HTTPS, with the Data API available.
◉
A FileMaker database, a layout and a Main Script that the configured account can run.
◉
A FileMaker account authorised for the Data API connection and script execution. Username and password are stored server-side in the form configuration.
◉
A Formidable form with the required fields and stable field_key values. Save the form before selecting additional fields in PAC options.
◉
To use form_open, enable the initialisation option in the form’s PAC settings.
◉
To use updates returned by FileMaker, the relevant fields must have the Allow FileMaker responses to update this field and its options permission enabled.
◉
For uploads to FileMaker, a form field must contain the existing record ID and the File field must have a destination FileMaker Container.
Formidable Forms Pro is not required for these features. The FileMaker solution must, however, return a valid JSON response that follows the PAC protocol.
5. Installation
Recommended procedure to install and prepare the first form:
1
Formidable Forms
Install and activate the free version of Formidable Forms. Create the form and add the fields that the user must complete.
2
PAC Form Bridge
Install and activate PAC Form Bridge 1.0.0. Check that the plugin is active before configuring the form.
3
Form connection
Open the form and go to Settings → PAC Form Bridge. For that form, enter the FileMaker Server URL, Data API version, database, layout, Main Script, username, password and timeout.
4
Save
Save the form settings. The connection and credentials belong to this form; they are not sent to the browser.
5
Dynamic fields
Configure the fields that must interact with FileMaker. In the field’s PAC options, enable Call FileMaker when this field changes, choose the optional parameter, select any additional fields and decide whether the field can receive FileMaker updates.
6
Opening the form
If needed, configure form opening. Enable Call the Main Script once when this form opens when FileMaker must load initial options, values or field states.
7
Files and buttons
Configure files and buttons if required. For uploads, specify the record ID and FileMaker Container. For an explicit action, add a PAC Action Button; for the final submission, enable PAC Form Bridge final submit on Formidable’s native submit.
8
FileMaker Main Script
Prepare the FileMaker Main Script. The script reads Get ( ScriptParameter ), analyses event and fields, performs the required logic and returns valid JSON, for example {"success":true,"actions":[]}.
9
Testing and diagnostics
Run the test. Start with a simple call, then check the form values and the applied response. If an error occurs, use the request_id and Tools → PAC Form Bridge Logs; disable the JSON-detail option after troubleshooting.
Proceed incrementally
During configuration, it is best to proceed with one field and one action at a time, verify the result, then add the other interactions.
6. Configuration
PAC Form Bridge uses one FileMaker configuration for each individual form. Settings therefore belong to the form and not to a shared global configuration.
For each form, configure: FileMaker Server URL, Data API version, Database, Default layout, Default Main Script, Username, Password, Timeout and, if needed, the form field that contains the FileMaker record ID.
You can enable Call the Main Script once when this form opens for the form_open call. Use Include the outgoing script JSON in the PAC log only temporarily during debugging.
Credentials remain server-side and are never sent to the browser. Save the form settings before testing calls.
6.1 JSON sent: common rules
The protocol is pac-form-bridge/1. Requests include protocol, request_id, form, event and fields. They can also include files and button metadata when relevant.
Each field can call FileMaker when its value changes, send its ID, key and value, include other selected fields, and accept or refuse updates originating from FileMaker.
field_change requests do not contain a redundant values object: the field that triggered the event is inside event, while fields contains only any additional fields.
6.2 FileMaker call when the form opens: form_open
If Call the Main Script once when this form opens is enabled, PAC performs one call when the form opens.
{ "protocol": "pac-form-bridge/1", "request_id": "open-request-id", "form": { "id": 1, "key": "contact-form" }, "event": { "name": "form_open" }, "fields": [ { "id": 1, "key": "base", "value": "5" }, { "id": 2, "key": "height", "value": "5" }, { "id": 3, "key": "model", "value": "" } ] }
It is useful for loading initial menu options, setting initial values, showing or hiding fields, and disabling fields. The response must not trigger another form_open call.
6.3 FileMaker call when a field changes: field_change
The field that produced the event appears inside event. Any selected additional fields appear inside fields.
{ "protocol": "pac-form-bridge/1", "request_id": "f7cb96de-20b5-4135-a13c-5296f7d32157", "form": { "id": 1, "key": "contact-form" }, "event": { "field_id": 2, "field_key": "height", "name": "field_change", "parameter": "height", "value": "5" }, "fields": [ { "id": 1, "key": "base", "value": "5" } ] }
Here, height, ID 2, produced the event; base, ID 1, was selected as an additional field. Field ID 2 is not repeated in fields.
If the field’s custom parameter is empty, parameter is omitted:
{ "event": { "field_id": 2, "field_key": "height", "name": "field_change", "value": "5" }, "fields": [ { "id": 1, "key": "base", "value": "5" } ] }
If no additional fields are selected:
{ "protocol": "pac-form-bridge/1", "request_id": "example-request-id", "form": { "id": 1, "key": "contact-form" }, "event": { "field_id": 2, "field_key": "height", "name": "field_change", "value": "5" }, "fields": [] }
6.4 PAC Form Bridge buttons and final button: button
A PAC Form Bridge button performs an explicit call to the Main Script. The final button uses event.name equal to button and event.role equal to final.
For the final button, fields contains all current form fields and any selected files.
{ "protocol": "pac-form-bridge/1", "request_id": "final-request-id", "form": { "id": 1, "key": "contact-form" }, "event": { "name": "button", "role": "final", "source": "submit" }, "fields": [ { "id": 1, "key": "base", "value": "5" }, { "id": 2, "key": "height", "value": "5" }, { "id": 3, "key": "area", "value": "25" }, { "id": 4, "key": "model", "value": "A" } ], "button": { "after_success": { "mode": "none" } } }
6.5 Difference between field_change, form_open and button
field_change: the event plus any selected additional fields.
form_open: all current or initial fields, once when the form opens.
final button: all current fields and any selected files.
6.6 JSON returned by FileMaker
The minimum valid response is:
{ "success": true, "actions": [] }
{ "success": true, "actions": [] }
{ "success": true, "message": "Configuration updated", "actions": [] }
Actions are applied in the order in which they appear.
6.7 Updating field values
To set a value:
{ "success": true, "actions": [ { "op": "set_value", "target": "area", "value": "25" } ] }
target can be the field_key, for example area, or the field’s numeric ID as a string, for example "3". The field must have Allow FileMaker responses to update this field and its options enabled.
To clear a value:
{ "success": true, "actions": [ { "op": "clear_value", "target": "discount" } ] }
6.8 Dynamic population of select, radio and checkbox fields
The replace_options action populates a select field:
{ "success": true, "actions": [ { "op": "replace_options", "target": "model", "options": [ { "value": "A", "label": "Model A" }, { "value": "B", "label": "Model B" }, { "value": "C", "label": "Model C" } ] } ] }
value is the technical value sent by the form; label is the text displayed to the user. The same action is used for radio and checkbox fields:
{ "success": true, "actions": [ { "op": "replace_options", "target": "finishes", "options": [ { "value": "wood", "label": "Wood" }, { "value": "metal", "label": "Metal" }, { "value": "glass", "label": "Glass" } ] } ] }
An option can be disabled:
{ "success": true, "actions": [ { "op": "replace_options", "target": "model", "options": [ { "value": "A", "label": "Model A" }, { "value": "B", "label": "Model B", "disabled": true } ] } ] }
6.9 Show/hide/enable/disable actions
{ "success": true, "actions": [ { "op": "show", "target": "surcharge" }, { "op": "hide", "target": "discount" } ] }
{ "success": true, "actions": [ { "op": "enable", "target": "model" }, { "op": "disable", "target": "discount" } ] }
6.10 Complete example
This example updates the model menu, sets the price, shows one field, hides another and changes field states:
{ "success": true, "message": "Configuration updated", "actions": [ { "op": "replace_options", "target": "model", "options": [ { "value": "base", "label": "Base configuration" }, { "value": "premium", "label": "Premium configuration" }, { "value": "special", "label": "Special configuration", "disabled": true } ] }, { "op": "set_value", "target": "price", "value": "1250.00" }, { "op": "show", "target": "surcharge" }, { "op": "hide", "target": "discount" }, { "op": "enable", "target": "model" }, { "op": "disable", "target": "discount" } ] }
6.11 FileMaker examples
The script must receive the JSON parameter, read its event and fields, perform calculations or searches and return a valid JSON string as the script result. The parameter can be read with Get ( ScriptParameter ) and analysed with JSONGetElement.
JSONSetElement ( "{}" ; [ "success" ; True ; JSONBoolean ; "message" ; "Price updated" ; JSONString ; "actions[0].op" ; "set_value" ; JSONString ; "actions[0].target" ; "price" ; JSONString ; "actions[0].value" ; "1250.00" ; JSONString ] )
JSONSetElement ( "{}" ; [ "success" ; True ; JSONBoolean ; "actions[0].op" ; "replace_options" ; JSONString ; "actions[0].target" ; "model" ; JSONString ; "actions[0].options[0].value" ; "A" ; JSONString ; "actions[0].options[0].label" ; "Model A" ; JSONString ; "actions[0].options[1].value" ; "B" ; JSONString ; "actions[0].options[1].label" ; "Model B" ; JSONString ] )
6.12 Common errors, logs and diagnostics
PAC logs are available in Tools → PAC Form Bridge Logs. Every call has a request_id that helps correlate request, response and error.
For debugging, temporarily enable Include the outgoing script JSON in the PAC log to inspect the exact JSON sent in script.param. FileMaker passwords and tokens are not included; disable the option after troubleshooting.
Invalid response: check that the script result is valid JSON and contains at least success and actions.
Target does not exist or is not authorised: the action is ignored; check the ID, field_key and field permission.
Connection error: check URL, Data API version, database, layout, Main Script, username, password, timeout and HTTPS.
Responses to unauthorised fields and targets that do not exist are ignored. Actions are normalised server-side. The browser applies them without creating new field_change calls.
Sent values must be consistent with the form’s IDs and field_key values.
6.13 Constraints and security
Credentials are server-side and are never sent to the browser.
FileMaker responses can update only fields that authorise Allow FileMaker responses to update this field and its options.
Actions are applied in the received order. A response does not recursively create a new field_change or form_open event.
7. Free vs Professional
Feature comparison
The Free version covers the essential submission flow: Formidable’s native final submit sends the form’s current data to the FileMaker Main Script. The Professional version adds advanced field interactions, dynamic responses, buttons and files.
Key: every row ends with the two indicators in the same order: Free, then Professional. ✓ means the feature is available; — means it is not included.
Feature
Free
Professional
Separate FileMaker configuration for each form — Server URL, Data API version, database, layout, Main Script, username, password and timeout.
✓
✓
Credentials stored server-side and HTTPS calls to FileMaker.
✓
✓
Ultra-basic submission through Formidable’s native final submit, with the form’s current values.
✓
✓
JSON parameter sent to the FileMaker Main Script with the minimum request context.
✓
✓
Basic error logging and request_id to correlate a call.
✓
✓
form_open call when the form opens.
—
✓
field_change call when a field changes.
—
✓
Custom field parameter and selection of additional fields in field_change.
—
✓
Per-field permission: “Allow FileMaker responses to update this field and its options”.
—
✓
JSON response with ordered actions to change the form after the FileMaker call.
—
✓
set_value and clear_value to set or clear field values.
—
✓
replace_options to populate select, radio and checkbox fields dynamically.
—
✓
show and hide to change field visibility from the FileMaker response.
—
✓
enable and disable to change the interactive state of fields.
—
✓
PAC Action Button to make explicit calls separate from the final submit.
—
✓
Additional name/value parameter on the PAC Action Button.
—
✓
Actions after a successful FileMaker response, such as keeping the form open, showing a message or redirecting.
—
✓
PAC File Upload to a FileMaker Container field, using the record ID configured in the form.
—
✓
Accepted file types and multiple-file uploads for PAC File Upload fields.
—
✓
Form initialisation with values, options and states returned by FileMaker.
—
✓
Detailed diagnostics with outgoing script JSON, temporarily enabled from the form.
—
✓
8. Professional features
PAC Form Bridge Professional extends Formidable’s final submit with a complete interaction model between the form and FileMaker. It is designed to work with the free version of Formidable Forms: Professional identifies the PAC Form Bridge edition, not a requirement for Formidable Forms Pro.
form_open
A call performed once when the form opens.
field_change
Calls made when a configured field changes.
Additional fields
Selection of supplementary values to include in the request.
Ordered JSON actions
JSON responses to set, clear, show, hide, enable or disable fields.
Dynamic options
Population of select, radio and checkbox fields.
PAC Action Button
Explicit calls and final submit with all current values.
PAC File Upload
Upload to a FileMaker Container field when the form has the required record ID.
Diagnostics
Detailed logs and outgoing script JSON, temporarily enabled.
Free version. Sends form data through Formidable’s native final submit. Advanced features are not enabled automatically in Free.
9. FileMaker side implementation
FileMaker receives JSON as the parameter of the script configured for the form. The recommended model is one Main Script for each form: the script reads Get ( ScriptParameter ), checks the protocol and request_id, interprets form, event and fields, then performs calculations, searches or operations in the FileMaker solution.
Main Script responsibilities
The Main Script remains responsible for business logic: PAC Form Bridge does not decide how to calculate a price, find a record or save data. For these tasks, the script can use FileMaker’s native JSON functions, such as JSONGetElement and JSONSetElement, and return the response to the WordPress server. The FileMaker script must receive the parameter, validate the request, interpret event and fields, perform the required logic and return a valid JSON string.
Example 1 — final button
# Receive the parameter sent by PAC Form Bridge
Set Variable [ $param ; Value: Get ( ScriptParameter ) ]
# Check protocol and request
Set Variable [ $protocol ; Value: JSONGetElement ( $param ; "protocol" ) ]
Set Variable [ $request_id ; Value: JSONGetElement ( $param ; "request_id" ) ]
If [ $protocol ≠ "pac-form-bridge/1" ]
Exit Script [ Text Result: "JSON error response for an invalid protocol" ]
End If
# Read form, event and fields
Set Variable [ $form_key ; Value: JSONGetElement ( $param ; "form.key" ) ]
Set Variable [ $event_name ; Value: JSONGetElement ( $param ; "event.name" ) ]
Set Variable [ $fields ; Value: JSONGetElement ( $param ; "fields" ) ]
# Interpret and validate received data
# Perform calculations, searches and checks in the FileMaker solution
# Create or update required records
# Start any subsequent processes
# Return a valid PAC response
Set Variable [ $response ; Value: JSONSetElement ( "{}" ; [ "success" ; True ; JSONBoolean ] ; [ "message" ; "Request processed" ; JSONString ] ; [ "actions" ; "[]" ; JSONArray ] ) ]
Exit Script [ Text Result: $response ]
For the final button, fields contains all current form fields and any selected files. The script can therefore validate the full submission, create or update FileMaker records and start subsequent operations.
Example 2 — field_change response
# Receive and interpret the field change
Set Variable [ $param ; Value: Get ( ScriptParameter ) ]
Set Variable [ $field_key ; Value: JSONGetElement ( $param ; "event.field_key" ) ]
Set Variable [ $changed_value ; Value: JSONGetElement ( $param ; "event.value" ) ]
Set Variable [ $additional_fields ; Value: JSONGetElement ( $param ; "fields" ) ]
# If needed, read selected additional fields
# Calculate area and price from the changed field
# Prepare actions to apply to the form
Set Variable [ $response ; Value: JSONSetElement ( "{}" ; [ "success" ; True ; JSONBoolean ] ; [ "actions[0].op" ; "set_value" ; JSONString ] ; [ "actions[0].target" ; "area" ; JSONString ] ; [ "actions[0].value" ; "25" ; JSONString ] ; [ "actions[1].op" ; "set_value" ; JSONString ] ; [ "actions[1].target" ; "price" ; JSONString ] ; [ "actions[1].value" ; "1250.00" ; JSONString ] ) ]
Exit Script [ Text Result: $response ]
For field_change, the field that triggered the event is described in event. fields contains only any selected additional fields: the triggering field is not repeated and there is no duplicate values object.
Example 3 — form_open initialisation
# Receive the opening request
Set Variable [ $param ; Value: Get ( ScriptParameter ) ]
Set Variable [ $event_name ; Value: JSONGetElement ( $param ; "event.name" ) ]
If [ $event_name = "form_open" ]
# Retrieve available models from FileMaker
# Build actions[0] with replace_options for the model field
# Add any set_value, show, hide, enable or disable actions
Set Variable [ $response ; Value: JSONSetElement ( "{}" ; [ "success" ; True ; JSONBoolean ] ; [ "actions[0].op" ; "replace_options" ; JSONString ] ; [ "actions[0].target" ; "model" ; JSONString ] ; [ "actions[0].options[0].value" ; "A" ; JSONString ] ; [ "actions[0].options[0].label" ; "Model A" ; JSONString ] ) ]
Exit Script [ Text Result: $response ]
End If
The form_open response can prepare the form on first load. It must not create another form_open call: PAC Form Bridge applies actions without triggering the event again.
These are example flows. The FileMaker script determines how to validate, interpret and process the received parameter, which records to involve and which JSON to return. The minimum valid response is {"success":true,"actions":[]}; actions are applied in the order in which they are returned.
Valid JSON response
The script result must be a valid JSON string. The minimum response contains success and actions; actions are returned in the order in which they must be applied. A target can be a field_key or the field’s numeric ID. PAC Form Bridge applies only updates permitted by the field and ignores targets that do not exist or are not authorised.
Credentials and data
The FileMaker connection belongs to the individual form and is configured in Formidable Forms’ PAC Form Action. Server URL, Data API version, database, layout, Main Script, username, password and timeout are saved server-side. Credentials are not sent to the browser and are not part of the form data received by the script.
10. Real-world example
Example: product configurator. A form contains the base, height, area, model, finishes, price and an optional hidden field with the FileMaker record ID.
Opening the form
form_open loads available models and finishes and sets the initial values.
Changing a field
The user changes the base or height. PAC Form Bridge sends a field_change with the changed field and any selected additional fields.
Calculation in FileMaker
FileMaker calculates area and price, checks compatible models and returns set_value and replace_options actions.
Interface update
The response can show the surcharge, hide an inapplicable discount and disable an unavailable model.
Explicit action or submit
The user can press a PAC Action Button for an explicit recalculation or the final submit to send all current data.
Outcome and files
FileMaker decides whether to create or update the record and returns the outcome. If the form contains files, PAC Form Bridge can send them to the configured Container when the record ID is available.
In this example, Formidable manages the interface, PAC Form Bridge carries the event and values and FileMaker retains the application logic and responsibility for the data.
11. Security and reliability
The protocol is designed to keep the browser, server-to-server transport and FileMaker logic separate.
Credentials and transport
The server URL, username and password remain in the server-side form configuration and are not exposed to the browser. The connection uses HTTPS and a configurable timeout.
Response authorisation
PAC Form Bridge applies updates only to fields permitted by the configuration. Targets that do not exist, are not authorised or are invalid are ignored.
Order and normalisation
Actions are applied in the received order. Updates coming from the response do not recursively generate a new field_change event in the browser.
Controlled diagnostics
The request_id links request, log and response. Logs are available in Tools → PAC Form Bridge Logs; outgoing JSON can be enabled temporarily without including passwords or tokens and must be disabled after testing.
12. Troubleshooting
Recurring issues and initial checks to identify the point in the flow that needs attention quickly.
The form does not call FileMaker
Check that the form is active, the configuration is correct, and the trigger field or Main Script is set in the expected layout.
Connection or authentication error
Check the HTTPS URL, certificate, Data API, database, layout, username, account and timeout. Also run a server-to-server test.
A field is not updated
Check the field_key or numeric ID and confirm that the field is authorised to receive that update.
Options are not replaced
Check the field type — select, radio or checkbox — and the value/label structure returned by replace_options.
The response is rejected
Check that Get ( ScriptParameter ) returns valid JSON with success and actions; then consult the logs.
The file is not sent
Check the record ID, configured Container, file type and limits for multiple submissions.
13. FAQ
Essential answers about the behaviour of version 1.0.0 and the boundaries of its protocol.
Is Formidable Forms Pro required?
No. Version 1.0.0 is designed for the free version of Formidable Forms. A future add-on may add specific integrations without changing the core requirement.
Is configuration shared between forms?
No. FileMaker configuration is separate for each form.
Does FileMaker always receive all fields?
For field_change, it receives the event that generated it and any selected additional fields. form_open and the final submit use the current values specified by their respective event.
Can the response change any field?
No. Updates are applied only to fields authorised by the configuration.
Does a returned value generate a new field_change?
No. Updates from the response do not recursively generate a new browser call.
Does PAC Form Bridge create records in FileMaker?
No. The FileMaker Main Script decides whether to create, update or simply calculate data.
How do I identify an error?
Use the request_id to link request, response and log, then consult Tools → PAC Form Bridge Logs.
14. Changelog
Version 1.0.0 — reference documentation
This version documents the pac-form-bridge/1 protocol and the integration flow with the free version of Formidable Forms.
- Separate FileMaker configurations for each form.
- Native final submit as the basis of the flow.
- Professional form_open, field_change and button events.
- Distinction between the trigger field and additional fields.
- Ordered actions and update authorisation.
- PAC Action Button and File Upload to a FileMaker Container.
- PAC logs, request_id and diagnostics.
Other systems or add-ons are not part of version 1.0.0: they can be documented separately when available.
PAC Form Bridge for Formidable Forms
Documentation version 1.0.0
Connect Formidable Forms to FileMaker through structured JSON requests, FileMaker responses and browser-side actions.
Documentation scope
This guide covers the current 1.0.0 behaviour: per-form FileMaker configuration, form_open, field_change, the final button, JSON responses and browser actions. Use request_id and Tools → PAC Form Bridge Logs to correlate calls and diagnose delivery issues.