Detailed setup for connecting Fillin Forge to Zapier and Make (Integromat).
Zapier Setup
- Create a new Zap with a Webhooks by Zapier trigger (select “Catch Hook”)
- Zapier generates a URL:
https://hooks.zapier.com/hooks/catch/123456/abcdef/ - Paste this URL into the Fillin Forge “Webhook URL” field
- Submit the form on the page. The Send a test submission button of the builder does not call webhooks
- In Zapier, click “Test Trigger” to capture the data
- Map fields in your action step:
text
Name: {{fields__field_1__value}}
Email: {{fields__field_2__value}}
Message: {{fields__field_3__value}}Make (Integromat) Setup
- Create a new scenario with a Custom Webhook module
- Copy the generated URL (e.g.,
https://hook.eu1.make.com/abcdef123) - Paste it into the Webhook URL field of the form and submit the form on the page
- Access fields:
fields.field_1.value
n8n Setup
- Create a Webhook node (set method to POST)
- Copy the production URL
- Access fields:
{{ $json.fields.field_1.value }}
json
{
"name": "{{ $json.fields.field_1.value }}",
"email": "{{ $json.fields.field_2.value }}",
"form": "{{ $json.form_title }}",
"submitted_at": "{{ $json.timestamp }}"
}Checking That a Call Comes From Your Form
Fillin Forge does not sign the payload and has no filter to add a signature. To let your endpoint tell your site from anyone else, put a secret in the custom headers of the webhook settings, one Name: value per line:
text
X-Form-Token: your-shared-secretand check it on the receiving side:
php
// Receiver (your custom endpoint)
$token = $_SERVER['HTTP_X_FORM_TOKEN'] ?? '';
if ( ! hash_equals( 'your-shared-secret', $token ) ) {
http_response_code( 401 );
exit( 'Invalid token' );
}