Webhook Patterns with FileMaker

Beginner

Design and implement webhook-based integrations where FileMaker sends or receives event notifications, including payload validation and retry logic.

What you'll learn

  • How to send outbound webhooks from FileMaker scripts
  • How to receive and validate inbound webhook payloads
  • How to implement idempotency to prevent duplicate records
  • How to build retry logic for failed webhook deliveries

Webhooks enable event-driven integration: when something changes in FileMaker (or in an external system), a notification is sent rather than polled. FileMaker can trigger webhooks via the Insert from URL script step, and external systems can push data to your server which then writes to FileMaker. Understanding retry semantics, payload validation, and idempotency prevents duplicate records and missed events.

1/4
1

Sending outbound webhooks from FileMaker

Use Insert from URL with a cURL options variable to POST a JSON payload to an external endpoint. Set a timeout and capture the response code.

FileMaker Script
Set Variable [ $json ; Value:
  JSONSetElement ( "{}" ;
    [ "event" ; "record.created" ; JSONString ] ;
    [ "recordId" ; Get ( RecordID ) ; JSONString ] ;
    [ "table" ; "Contacts" ; JSONString ] ;
    [ "timestamp" ; Get ( CurrentTimestamp ) ; JSONString ]
  )
]
Set Variable [ $opts ; Value:
  "--request POST" &
  " --header "Content-Type: application/json"" &
  " --header "X-Webhook-Secret: " & $webhookSecret & """ &
  " --data " & Quote ( $json ) &
  " --connect-timeout 5 --max-time 10"
]
Insert from URL [ Select ; With dialog: Off ; Target: $result ; "https://yourapp.com/api/webhook/fm" ; cURL options: $opts ]
Set Variable [ $code ; Value: GetValue ( $result ; 1 ) ]

Sign in to track your progress and pick up where you left off.

Sign in to FM Dojo